Stripe no tiene una función nativa de programa de afiliados. Cobra al cliente, pero no crea enlaces de referido, no recuerda quién envió a un visitante ni calcula comisiones. Para tener un programa de afiliados con Stripe, necesitas sumar una capa de tracking que vincule cada pago de Stripe con el afiliado que lo generó.

Lo comprobamos en la documentación oficial de Stripe en octubre de 2026. Lo que Stripe te da son piezas sueltas: un campo client_reference_id en Checkout, metadata en sus objetos y eventos de webhook para cada factura pagada y cada reembolso. Son útiles, pero ninguna de ellas es un sistema de comisiones.

Esta guía muestra cómo se conectan esas piezas, evento por evento: el clic, el checkout, cada renovación y cada reembolso. También cubre las cinco reglas que debes definir antes de tu primer afiliado y el momento en que construirlo por tu cuenta deja de tener sentido.

¿Stripe tiene una función nativa de programa de afiliados?

No. A octubre de 2026, la documentación de Stripe no describe ninguna función que genere enlaces de afiliado, rastree visitantes referidos o calcule comisiones. El tracking de afiliados en Stripe funciona con apps de terceros o con tu propio código, apoyado en campos que Stripe diseñó para conciliación, como client_reference_id y la metadata.

La pieza nativa más cercana es client_reference_id. En la API de Checkout Session, Stripe la define como "a unique string to reference the Checkout Session" (una cadena única para referenciar la Checkout Session), con un máximo de 200 caracteres. En los Payment Links, puedes agregarla a la URL, y Stripe la devuelve en el webhook checkout.session.completed.

Eso te da un lugar para llevar el código de afiliado hasta el pago. Todo lo demás (la cookie, la regla de atribución, el cálculo de la comisión, la reversión cuando hay reembolso) te toca construirlo o comprarlo. Por eso mismo el Stripe App Marketplace incluye varias apps de afiliados.

¿Buscabas el programa de afiliados de Stripe?

Algunas búsquedas de "programa de afiliados de Stripe" vienen de personas que quieren ganar dinero refiriendo empresas a Stripe. Ese es otro programa: Stripe paga a afiliados de marketing por leads calificados según sus Affiliate Terms (última actualización: 28 de febrero de 2022), gestionado a través de una plataforma de partners de terceros. Esta guía trata la dirección contraria: pagarles a tus propios afiliados por los clientes que envían a tu producto cobrado con Stripe.

¿Cómo funciona el tracking de afiliados en Stripe?

El tracking de afiliados en Stripe conecta tres momentos: el clic, el checkout y cada pago posterior. El clic guarda el código del afiliado. El checkout lleva ese código a Stripe. Cada pago siguiente se asocia al mismo cliente de Stripe, así que la comisión sigue a la suscripción y no al navegador.

En la práctica, funciona en cinco pasos:

  1. El clic. Un afiliado comparte un enlace como yoursite.com/?ref=jane. Un script en tu sitio lee ref y lo guarda en una cookie first-party durante tu ventana de cookie.
  2. El checkout. Cuando el visitante compra, el código entra a Stripe: como client_reference_id en la Checkout Session o en el Payment Link, o como metadata en el cliente o la suscripción.
  3. El mapeo. Cuando llega checkout.session.completed, registras "el cliente de Stripe cus_... pertenece a Jane". A partir de ahí, la atribución viaja con el cliente.
  4. Las renovaciones. Cada período de suscripción pagado dispara invoice.paid. Buscas al cliente, encuentras a Jane y sumas una comisión si la factura todavía está dentro de tu período de comisión.
  5. Los reembolsos. Un reembolso total o parcial dispara charge.refunded. Reviertes o reduces la comisión vinculada a ese cobro.

Las cookies son un mal lugar para guardar la atribución. Desde ITP 2.1, Safari limita a siete días la expiración de toda cookie persistente creada con document.cookie (WebKit, febrero de 2019). Una ventana de cookie de 30 días definida por JavaScript puede convertirse, sin aviso, en siete días para los visitantes de Safari.

La solución es sacar el código del navegador lo antes posible: guardarlo en tu registro de signup y en Stripe durante el checkout. Una vez que el código de Jane está en el cliente de Stripe, una renovación en el mes once ya no depende de que alguna cookie siga existiendo.

Así debería cambiar el saldo del afiliado con cada evento de Stripe (webhooks de suscripciones de Stripe):

Evento de StripeQué pasóAcción sobre la comisión
checkout.session.completedUn visitante referido pagó por primera vezGuardar el mapeo cliente-afiliado, crear la primera comisión
invoice.paidSe pagó un período de la suscripciónSumar una comisión recurrente, si está dentro del período de comisión
invoice.payment_failedFalló el cobro de una renovaciónSin comisión (no entró dinero)
charge.refundedReembolso total o parcial de un cobroRevertir la comisión, o reducirla en la proporción reembolsada
charge.dispute.createdEl cliente disputó un cobroRetener la comisión hasta que se cierre la disputa
customer.subscription.deletedLa suscripción terminóDetener las comisiones futuras; no hay nada que revertir

¿Qué necesitas decidir antes del primer afiliado?

Define cinco reglas antes de que alguien te promocione: tasa de comisión, duración de la comisión, ventana de cookie, regla de reembolso y período de retención. Ponlas en tus términos de afiliados desde el primer día. Cambiarlas después de que los afiliados empiezan a enviar tráfico te cuesta más confianza de la que te ahorra cualquier ajuste de tasa.

DecisiónTus opcionesQué cambia
Tasa de comisión% de cada pago, o un monto fijo por ventaTu margen en cada cliente referido
DuraciónÚnica, recurrente por N meses, recurrente de por vidaEl total que pagas por cliente
Ventana de cookieCantidad de días entre el clic y la compraQué tan tarde puede comprar alguien y aun así contar
Regla de reembolsoReversión total; reversión parcial si el reembolso es parcialSi pagas comisión sobre dinero que devolviste
Período de retenciónComisiones aprobadas solo después de N díasSi tu ventana de reembolso se cierra antes del pago

Este es el cálculo con un ejemplo, con números elegidos para ilustrar, no como benchmark. Un plan de US$ 49 al mes paga 20% recurrente durante 12 meses. Cada factura pagada genera US$ 9.80, así que el tope por cliente es US$ 117.60.

Si el cliente recibe un reembolso en el mes tres, esos US$ 9.80 se revierten. Si cancela después del mes cinco, el afiliado ganó US$ 49.00 en total y no se le debe nada más.

Pasa tu propio plan por la misma aritmética antes de elegir una tasa. La guía paso a paso para crear un programa de afiliados cubre el resto del lanzamiento: términos, reclutamiento y qué medir.

¿Cómo funcionan las comisiones recurrentes y los reembolsos en las suscripciones de Stripe?

En una suscripción de Stripe, cada período de facturación genera una factura, y Stripe envía invoice.paid cuando se paga. Una comisión recurrente es una comisión por cada factura pagada, durante el tiempo que permitan tus reglas. Un reembolso envía charge.refunded, y la comisión vinculada a ese cobro debería revertirse con él.

Hay cuatro casos que hacen fallar a la mayoría de las implementaciones caseras:

  • Upgrades y downgrades. Stripe dispara customer.subscription.updated cuando cambia el plan. Calcula la comisión sobre el monto de cada factura pagada, no sobre el precio del plan original.
  • Pagos fallidos. Paga la comisión en invoice.paid, nunca en invoice.created. Una factura que se creó pero nunca se pagó no genera nada.
  • Pruebas gratuitas. El checkout se completa cuando empieza la prueba, así que el mapeo se guarda antes del primer cobro. La primera comisión llega con la primera factura pagada, aunque sea semanas después.
  • Reembolsos parciales. Si reembolsas la mitad de una factura de US$ 49, reduce a la mitad la comisión de ese período. Una reversión total ante un reembolso parcial perjudica al afiliado.

¿Conviene construir el tracking de afiliados en Stripe o usar una herramienta?

Constrúyelo tú si tienes uno o dos partners en los que ya confías y un desarrollador con una tarde libre. El tracking es la parte fácil: un script de cookie, client_reference_id y un handler de webhooks. Usa una herramienta cuando te vayan a promocionar desconocidos, porque el trabajo que viene después del tracking es donde se rompen los programas caseros.

Un programa que funcione necesita más que atribución:

  • Una página de registro donde los afiliados se postulan, y una forma de aprobarlos o rechazarlos
  • Un dashboard donde cada afiliado ve clics, conversiones y ganancias pendientes
  • Un registro de comisiones que maneje reversiones, reembolsos parciales y períodos de retención
  • Un cierre mensual que registre a quién se le pagó, cuánto y cuándo

Cuando una herramienta es demasiado: si todo tu programa es una agencia con una tarifa fija por referido, una hoja de cálculo y un cupón de Stripe son suficientes.

Si estás comparando herramientas por costo, nuestro análisis de alternativas a Tapfiliate hace las cuentas con distintos volúmenes de ventas. Y si todavía estás eligiendo entre un programa de referidos de clientes y un programa de afiliados, empieza por programa de referidos vs programa de afiliados en SaaS.

Cómo configurar un programa de afiliados con Stripe en PartnerBee

PartnerBee se conecta a Stripe y rastrea checkouts y suscripciones de forma automática, incluidas las comisiones recurrentes y los reembolsos. Los afiliados reciben un enlace como yoursite.com/?ref=code; un snippet corto de JavaScript registra el clic y guarda el referido en una cookie first-party (ba_aff), dentro de la ventana de cookie que elijas para cada programa.

La configuración sigue los mismos cinco pasos que la versión hecha a medida:

  1. Crea un programa. Define la comisión (única o recurrente), la ventana de cookie y la página de registro. Elige aprobación automática o revisar cada solicitud.

  2. Conecta Stripe. En Integraciones, PartnerBee te da una URL de webhook (https://api.partnerbee.app/webhooks/stripe/...). Agrégala como endpoint de webhook en tu cuenta de Stripe y pega en PartnerBee el signing secret de Stripe (whsec_...). PartnerBee verifica cada evento, lee el referido del afiliado en la metadata del pago y registra la venta. Funciona con tu cuenta de Stripe actual.

  3. Agrega el snippet a tu sitio. Pégalo en todas las páginas de tu embudo, antes de </body>. bee('detect') lee ?ref= de la URL, registra el clic y crea la cookie ba_aff:

    <script>
      (function(w,d,s,o){
        w.bee=w.bee||function(){(w.bee.q=w.bee.q||[]).push(arguments)};
        var j=d.createElement(s);j.async=true;
        j.src="https://script.partnerbee.app/beeaffiliate.js";
        d.head.appendChild(j);
      })(window,document,"script");
      bee('create', { integration: 'stripe' });
      bee('detect');
    </script>
    

    Si tu app vive en un subdominio distinto al de tu sitio de marketing, reenvía ?ref= en la URL de signup para que la cookie se pueda crear de nuevo ahí.

  4. Comparte la página de registro. Está alojada en join.partnerbee.app, o en tu propio dominio con marca blanca.

  5. Aprueba y liquida. Las conversiones llegan con el afiliado asociado. Apruebas las comisiones y liquidas los saldos en un solo lote. El pago en sí sale por tu propio método; PartnerBee registra la liquidación y el cierre mensual.

No todas las ventas pasan por Stripe Checkout. Para un checkout personalizado o una suscripción que cobras por tu cuenta, la API REST hace el mismo trabajo desde tu backend. Registra al cliente una vez en el signup, atribuido por el valor de la cookie ba_aff, y después reporta cada cobro por el id del cliente. Las renovaciones se acreditan al afiliado original sin necesidad de un clic nuevo:

curl -X POST https://api.partnerbee.app/api/customers \
  -H "Authorization: beeaff-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "customer_id": "cus_123", "cookie_id": "<ba_aff value>", "status": "trial" }'

curl -X POST https://api.partnerbee.app/api/conversions \
  -H "Authorization: beeaff-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "customer_id": "cus_123", "external_id": "invoice_88", "amount": 49.90 }'

external_id hace que cada cobro sea idempotente, así que un webhook reintentado nunca cuenta dos veces. Cuando un cliente supera la ventana de comisión del programa, los cobros posteriores dejan de generar comisión. La referencia completa está en la documentación para desarrolladores de PartnerBee.

Los webhooks envían conversiones, aprobaciones y pagos a tus propios sistemas en el momento en que ocurren. Stripe no es obligatorio: Asaas, Vindi, Guru, la API y el snippet funcionan sin él.

Cuánto cuesta, a octubre de 2026: US$ 6.99 por ciclo de 30 días, más 2% de las ventas rastreadas por afiliados hasta US$ 10,000 por ciclo (1.5% de US$ 10,000 a US$ 50,000, 1% por encima). La tarifa es 0% sobre los primeros US$ 1,000 en ventas rastreadas por afiliados, una sola vez, y las ventas orgánicas nunca se cobran.

Un primer ciclo con US$ 3,000 en ventas de afiliados cuesta US$ 6.99 + 2% de US$ 2,000 = US$ 46.99. El siguiente ciclo de US$ 3,000 cuesta US$ 6.99 + US$ 60 = US$ 66.99.

Preguntas frecuentes

Sí. Agrega client_reference_id a la URL del Payment Link y Stripe lo devuelve en el webhook checkout.session.completed. El valor acepta solo letras, números, guiones y guiones bajos, hasta 200 caracteres. Stripe descarta los valores inválidos sin avisar, así que prueba con tus códigos de afiliado reales antes del lanzamiento.

¿Stripe calcula o paga las comisiones de afiliados?

No. Stripe procesa los pagos de tus clientes y envía eventos, pero no tiene lógica de comisiones. Tu herramienta de tracking o tu propio código convierte los eventos invoice.paid y charge.refunded en saldos de comisión. Pagarles a los afiliados es un paso aparte que haces con tu propio método de pago.

¿Los afiliados ganan comisión por las renovaciones de suscripciones en Stripe?

Solo si tu programa paga comisión recurrente. Con reglas recurrentes, cada factura de renovación pagada genera una comisión hasta que termina el período que definiste, por ejemplo 12 meses. Con reglas de pago único, solo cuenta la primera factura pagada. Las renovaciones fallidas o reembolsadas no deberían generar nada.

Ajústala al tiempo que tardan tus compradores en decidir. Revisa en tu propia analítica el intervalo entre la primera visita y el signup pago, y define la ventana para cubrir la mayor parte. Recuerda que Safari limita las cookies de JavaScript a siete días, así que guarda el código de afiliado en el signup.

Stripe mueve el dinero; tu programa de afiliados necesita la memoria

Un programa de afiliados con Stripe funciona cuando el código del afiliado llega al cliente de Stripe en el checkout, cada invoice.paid suma una comisión dentro de tus reglas y cada charge.refunded resta una. Define tu tasa, duración, ventana de cookie, regla de reembolso y período de retención antes de que se registre el primer afiliado.

PartnerBee hace esa conexión por ti: tracking nativo de Stripe para checkouts y suscripciones, comisiones recurrentes que se revierten con los reembolsos y un cierre mensual que registra cada liquidación. Cuesta US$ 6.99 por ciclo de 30 días más una tarifa solo sobre las ventas rastreadas por afiliados.

Empieza ahora: conecta Stripe, define tu comisión y tu ventana de cookie, y paga 0% sobre tus primeros US$ 1,000 en ventas rastreadas por afiliados.


Vitor Rocha · 7 de octubre de 2026 · Tiempo de lectura: 9 minutos

Publicado el 7 de octubre de 2026