Si su sitio es una aplicación, la regla puede vivir dentro: una ruta en su prefijo de seguimiento que nos retransmite la petición y devuelve la respuesta. Tres detalles separan una ruta que sigue de una que solo lo parece: aceptar GET y POST, conservar la cadena de consulta y no exigir token CSRF.
Dónde: next.config.js
Una entrada en rewrites() de next.config.js. Next.js no quita las cabeceras: las cookies de sus visitantes nos llegan, y no las leemos.
Dónde: nuxt.config.ts
Una regla routeRules con proxy en nuxt.config.ts. Como Next.js, Nuxt no quita las cabeceras de la petición retransmitida.
Dónde: app.js
Una ruta app.all en app.js: retransmite con https.request usando req.originalUrl, nunca el token solo, ya que la cadena de consulta lleva el identificador del clic. Devuelve la cookie puesta y la redirección.
Dónde: server.js
Para un sitio sin servidor de aplicación: un pequeño proxy Node en dos archivos, server.js y package.json, que se lanza con npm start. Usa https.request y nunca fetch, que sobrescribe las cabeceras Sec-Fetch: cada visitante parecería una máquina y cada clic se descartaría.
Dónde: Program.cs
Un MapMethods GET y POST en Program.cs: la petición se retransmite con sus cabeceras y la cadena de consulta mediante un cliente de IHttpClientFactory, y la respuesta devuelve la cookie y la redirección.
Dónde: routes/web.php
Una ruta Route::match GET y POST en routes/web.php, más una excepción CSRF en bootstrap/app.php: la baliza publica sin token, y sin la excepción Laravel responde 419. La cadena de consulta se retransmite en bruto, porque getQueryString() la reordena.
Dónde: config/routes.rb, más un controlador
Una ruta GET y POST en config/routes.rb y un controlador MerittController con skip_forgery_protection, por la misma razón que en Laravel: la baliza informa con sendBeacon, sin token.
Dónde: urls.py, más una vista
Dos pasos: la ruta en urls.py y la vista en views.py, marcada @csrf_exempt (si no, Django rechaza antes de la vista), que retransmite con requests sin seguir las redirecciones.
La baliza informa del clic con sendBeacon, que envía un POST. Una ruta que solo acepta GET deja pasar la redirección y pierde esa señal.
Lleva el identificador del clic. Un método que la reordena o la recodifica puede perderlo.
Reinicie la aplicación, vuelva a desplegarla y lance la comprobación en Meritt.
El clic deja una cookie de origen en su dominio. Su servidor puede vincularle un identificador de cliente, y es ese nivel el que sobrevive a un cambio de dispositivo.
Automáticos por PayPal y Wise, o por transferencia, Skrill, Revolut o cripto, con la factura. Una transferencia que vuelve se detecta y se corrige por ambos lados.
0, 45 o 89 € al mes. Nunca un porcentaje de su facturación, de sus comisiones ni de sus transferencias.
Gratis hasta su primera comisión. No se pide tarjeta.