Configurar una suscripción con PayPal
Obtén información sobre cómo crear y cobrar una suscripción con PayPal.
Usa esta guía para configurar una suscripción mediante PayPal y Checkout.
Una sesión de Checkout representa los datos de la intención de compra de un cliente. Crea una sesión de Checkout cuando un cliente quiera iniciar una suscripción. Después de redirigir a un cliente a una sesión de Checkout, Stripe le presentará un formulario de pago en el que podrá completar su compra. Una vez completada, Stripe lo redirigirá a tu sitio.
Cómo habilitar pagos recurrentes de PayPal
Stripe habilita automáticamente pagos recurrentes para la mayoría de los usuarios cuando activan los pagos de PayPal en el Dashboard de Stripe. Sin embargo, debido a las políticas y restricciones regionales de PayPal, es posible que tengas que habilitar manualmente los pagos recurrentes en el Dashboard.
Primero, necesitas una cuenta de Stripe. Inscríbete ahora.
Usa nuestras bibliotecas oficiales para acceder a la API de Stripe desde tu aplicación:
Precaución
La API Prices unifica el modo en que se modelan las compras únicas y las suscripciones en Stripe. Se siguen admitiendo las integraciones existentes que no usan la API Prices. Sin embargo, algunas funcionalidades de Checkout solo admiten Prices. Consulta la guía de migración para actualizar a la API Prices.
Para usar Checkout, primero debes crear un producto y un precio. Los diferentes bienes físicos o niveles de servicio deben representarse mediante productos. El valor de cada producto está representado por uno o varios precios.
Puedes crear, por ejemplo, un producto que tenga cuatro precios: USD 10/mes, USD 100/año, EUR 9/mes y EUR 90/año. Esto te permite cambiar y agregar precios sin necesidad de cambiar los detalles del producto subyacente. Puedes crear un producto y precio con la API o a través del Dashboard de Stripe.
Si tu precio se determina en el momento de la compra (por ejemplo, el cliente establece un importe de donación), o si prefieres no crear precios de manera anticipada, puedes crear precios alineados al momento de crear la sesión de Checkout.
Agrega un botón de pago en tu sitio web que llame a un punto de conexión del lado del servidor para crear una sesión de Checkout.
Crea una sesión de Checkout con la ID de un precio existente. Asegúrate de que el modo esté configurado en subscription
y de especificar al menos un precio recurrente. Puedes agregar precios únicos además de los precios recurrentes. Después de crear la sesión de Checkout, redirige a tu cliente a la URL devuelta en la respuesta.
Cuando el cliente completa correctamente su pago, se lo redirige a success_
, una página de tu sitio web que le informa que su pago se realizó correctamente. Haz que el ID de sesión esté disponible en la página de éxito incluyendo la variable de la plantilla {CHECKOUT_
en el success_
como en el ejemplo anterior.
Cuando tu cliente hace click en tu logotipo en una sesión de Checkout sin completar el pago, Checkout lo redirige nuevamente a tu sitio web desplazándose a la cancel_
. Por lo general, esta es la página de tu sitio web que el cliente vio antes de ser redirigido a Checkout.
Las Checkout Sessions vencen 24 horas después de su creación de forma predeterminada.
Precaución
No te bases solo en el redireccionamiento a la success_
para detectar el inicio del pago, ya que:
- Algunos usuarios maliciosos podrían acceder directamente a la
success_
y tener acceso a los bienes o servicios sin pagar.url - Los clientes no siempre llegan a la
success_
después de un pago correcto, posiblemente porque cierran la pestaña del navegador antes de ser redirigidos.url
Nota
Cuando un comprador confirma correctamente una suscripción en Stripe usando PayPal, se le envía un recibo de parte de Stripe y PayPal.
Cuando tu cliente completa correctamente el pago, se lo redirige a la URL que especificaste como success_
. Por lo general, esta es una página de tu sitio web que le informa al cliente que su pago se efectuó correctamente.
Usa el Dashboard, un webhook personalizado o un plugin de un tercero para administrar los eventos posteriores al pago, como enviar un correo electrónico para confirmar el pedido al cliente, registrar la venta en una base de datos o iniciar el flujo de envío.
Puedes usar plugins como Zapier para automatizar la actualización de tus sistemas de cumplimiento de pedidos con información de los pagos de Stripe.
Veamos algunos ejemplos de automatización que se basan en plugins:
- Cómo actualizar planillas utilizadas para el seguimiento de pedidos en respuesta a los pagos efectuados correctamente
- Cómo actualizar los sistemas de gestión de inventario en respuesta a los pagos efectuados correctamente
- Cómo activar las notificaciones a los equipos internos de servicio al cliente que usen correo electrónico o aplicaciones de chat
Prueba tu integración con PayPal con tus claves de API de prueba al visualizar la página de redireccionamiento. Puedes probar el caso de pago exitoso al autenticar el pago en la página de redireccionamiento. El PaymentIntent pasará de requires_
a succeeded
.
Para probar el caso en el que falla la autenticación del usuario, usa tus claves de API de prueba y visualiza la página de redireccionamiento. En la página de redireccionamiento, haz click en Error en el pago de prueba. El Paymentintent hará la transición de requires_
a requires_
.
Además de especificar los precios recurrentes, puedes agregar precios únicos en modo subscription
. Estos solo se incluyen en la factura inicial creada por la suscripción. Esta función resulta útil para agregar costos de instalación u otros costos únicos asociados a una suscripción.
Además de especificar los ID de los precios existentes, también puedes definir tus partidas al crear la sesión de Checkout. Primero, define un producto. Luego, crea una sesión de Checkout usando el ID del producto especificándolo como price_data con los datos unit_
, currency
y recurring
:
Si también tienes que crear productos alineados, puedes hacerlo con product_data:
Si ya habías creado un objeto Customer para representar a un cliente, usa el argumento customer para especificar el ID de cliente al crear una sesión de Checkout. Esto garantiza que todos los objetos creados durante la sesión estén asociados con el “Customer Object” correcto.
Cuando especificas un ID de cliente, Stripe también toma el correo electrónico almacenado en el objeto Customer para rellenar automáticamente el campo de correo electrónico en la página de Checkout. Si el cliente cambia el correo electrónico en la página de Checkout, se actualizará en el objeto Customer después de la efectivización de un pago.
Si ya tienes el correo electrónico del cliente y quieres completarlo automáticamente en la sesión de Checkout, especifica customer_email cuando crees una sesión de Checkout.
Puedes usar trial_end o trial_period_days en la sesión de Checkout para especificar la duración del período de prueba. En este ejemplo, usamos trial_
para crear una sesión de Checkout para una suscripción con una prueba de 30 días.
Checkout muestra la siguiente información de forma automática para las suscripciones con períodos de prueba:
- Período de prueba
- Frecuencia e importe de los cargos después de vencida la prueba
Para obtener más información sobre los requisitos de cumplimiento de la normativa, consulta la guía de Billing o de soporte.
Puedes especificar tasas impositivas (impuesto sobre las ventas, IVA, GST, etc.) en las sesiones de Checkout para aplicar impuestos a las suscripciones.
- Usa tasas impositivas fijas si conoces la tasa impositiva exacta que debes cobrar al cliente antes de que inicie al proceso de finalización de compra (por ejemplo, si solo vendes a clientes del Reino Unido y siempre cobras un 20 % de IVA).
- Con la API Prices, puedes usar tasas impositivas dinámicas si necesitas más información del cliente (por ejemplo, su dirección de envío o de facturación) antes de determinar qué tasa cobrar. Si usas tasas impositivas dinámicas, creas tasas por región (por ejemplo, un 20 % de IVA para clientes en el Reino Unido un impuesto del 7.25 % sobre las ventas para clientes de California, en Estados Unidos) y Stripe intentará asignar una de esas tasas según la ubicación del cliente.
Puedes utilizar las exportaciones de datos de Stripe para completar los informes periódicos necesarios para la remesa de impuestos. Para obtener más información, visita Declaración y remesa de impuestos.
Puedes aplicar cupones a las suscripciones en una sesión de Checkout estableciendo descuentos. Este cupón anula otros cupones del cliente. Si estás creando una suscripción para un cliente existente, los cupones asociados con el cliente se aplican a las facturas de la suscripción.
Cómo agregar códigos de promoción que ve el cliente
También puedes habilitar códigos de promoción que el cliente puede canjear usando el parámetro allow_promotion_codes en las sesiones de Checkout. Cuando se habilita allow_
en una sesión, Checkout incluye una casilla de canje de códigos de promoción para que tus clientes los utilicen. Crea tus cupones y códigos de promoción a través del Dashboard o la API para que tus clientes los canjeen en Checkout.