Ir a contenido
Crea una cuenta
o
Inicia sesión
Logotipo de Stripe Docs
/
Pregúntale a la IA
Crear una cuenta
Iniciar sesión
Empieza ahora
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
Resumen
Billing
ResumenAcerca de las API de facturación
Suscripciones
    Resumen
    Cómo funcionan las suscripciones
    Inicio rápido
    Casos de uso
    Desarrolla tu integración
    Funcionalidades de la suscripción
      Facturas de suscripciones
      Calendarios de suscripciones
      Precios de suscripciones
      Modelos de tarifas recurrentes
      Inserta un cuadro de tarifas
      Iniciar suscripciones
      Determinar cantidades
      Establecer ciclos de facturación
      Suscripciones con fechas pasadas
      Suscríbete a varios elementos
      Configura períodos de prueba
      Aplica cupones
      Migrar suscripciones a Stripe
      Cómo se calculan los prorrateos de crédito
      Pagos de suscripciones
      Métodos de pago de suscripciones
        Débito directo ACH
        Amazon Pay
        Débito directo Bacs en el Reino Unido
        Transferencia bancaria
        Débito directo BECS en Australia
        Cash App Pay
        PayPal
          PayPal en Checkout
        Revolut Pay
        Tarjetas coreanas
        Kakao Pay
        Naver Pay
        Débito preautorizado en Canadá
        Débito directo SEPA en la UE
        iDEAL con débito directo SEPA
        Bancontact con débito directo SEPA
      Integra con el procesamiento de pagos de terceros
      Métodos de cobro
      Autenticación reforzada de clientes (SCA)
      Administración de suscripciones
      Modificar suscripciones
      Gestionar actualizaciones pendientes
    Derechos
    Análisis
Invoicing
Cobro por consumo
Presupuestos
Gestión de clientes
Gestión de cobros con otros productos
Recuperación de ingresos
Automatizaciones
Prueba tu integración
Impuesto
Resumen
Usa Stripe Tax
Gestiona el cumplimiento de la normativa
Elaboración de informes
Resumen
Seleccionar un informe
Configura informes
API de informes
Informes para varias cuentas
Reconocimiento de ingresos
Datos
ResumenEsquema
Informes personalizados
Data Pipeline
Gestión de datos
InicioIngresosSubscriptionsSubscription featuresSubscription payment methods

Configurar una suscripción con PayPal

Obtén información sobre cómo crear y cobrar una suscripción con PayPal.

Precaución

Para comenzar a aceptar suscripciones de PayPal en Stripe, los pagos recurrentes con PayPal deben estar habilitados en el Dashboard.

Usa esta guía para configurar una suscripción con PayPal como método de pago.

Crear un producto y un precio
Dashboard

Los Productos representan el artículo o servicio que vendes. Los Precios definen cuánto cobras un producto y con qué frecuencia. Esto incluye el costo del producto, la moneda aceptada y si se trata de un cargo único o recurrente. Si tienes pocos productos y precios, puedes crearlos y gestionarlos en el Dashboard.

La guía toma como ejemplo una foto de archivo de un servicio por el que se cobra a los clientes una suscripción mensual de 15 EUR. Para modelar la suscripción:

  1. Ve a la página Agregar un producto.
  2. Ingresa el Nombre del producto.
  3. Ingresa 15 como el precio.
  4. Selecciona EUR como moneda.
  5. Haz click en Guardar producto.

Después de crear el producto y el precio, registra el ID del precio para usarlo en pasos sucesivos. La página de tarifas te muestra el ID, que será similar a esto: price_G0FvDp6vZvdwRZ.

Crear o recuperar un objeto Customer antes de la configuración
Lado del servidor

Para reutilizar un método de pago de PayPal para futuros pagos, adjúntalo a un Cliente.

Crea el objeto Customer cuando tu cliente crea una cuenta en tu empresa. Al asociar el ID del objeto Customer a tu propia representación interna de un cliente, podrás recuperar y usar los datos del método de pago guardado más adelante. Si tu cliente no ha creado una cuenta, puedes crear un objeto Customer ahora y asociarlo a tu propia representación interna de la cuenta del cliente más adelante.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Crear un SetupIntent
Lado del servidor

Un SetupIntent es un objeto que representa tu intención y hace un seguimiento de los pasos para configurar el método de pago del cliente para futuros pagos.

Crea un SetupIntent en tu servidor con payment_method_types establecido en paypal y especifica el id del objeto Customer:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=
{{CUSTOMER_ID}}
\ -d "payment_method_types[]"=paypal \ -d "payment_method_data[type]"=paypal

El objeto Setupintent contiene una client_secret, una clave única que debes pasar a Stripe en el lado del cliente para redirigir a tu comprador a PayPal y autorizar la orden.

Redirigir a tu cliente
Lado del cliente

Cuando un cliente intente configurar su cuenta de PayPal para pagos futuros, te recomendamos usar Stripe.js para confirmar el SetupIntent. Stripe.js es nuestra biblioteca principal de JavaScript para crear flujos de pago. Automáticamente gestionará las complejidades, como los redireccionamientos descritos a continuación, y te permite extender tu integración con facilidad a otros métodos de pago en el futuro.

Incluye el script de Stripe.js en tu página de pago agregándolo al encabezado de tu archivo HTML.

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

Crea una instancia de Stripe.js con el siguiente JavaScript en tu página de pago.

// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, {} );

Para confirmar la configuración del lado del cliente, especifica el secreto de cliente del objeto SetupIntent que creaste en el paso 3.

El secreto de cliente es diferente de las claves API que autentican las solicitudes de la API de Stripe. Debe administrarse con cuidado porque sirve para completar el cargo. No lo registres, no lo insertes en direcciones URL ni lo expongas a nadie excepto al cliente.

Confirmar la configuración de PayPal

Para autorizarte para que puedas usar su cuenta de PayPal para pagos futuros, tu cliente será redirigido a la página del acuerdo de facturación de PayPal, que deberá aprobar antes de ser redirigido nuevamente a tu sitio web. Usa stripe.confirmPayPalSetup para gestionar el redireccionamiento desde tu página y completar la configuración. Agrega una return_url a esta función para indicar a dónde Stripe debe redirigir al usuario después de que apruebe el acuerdo de facturación en el sitio web de PayPal.

client.js
// Redirects away from the client const {error} = await stripe.confirmPayPalSetup( '{{SETUP_INTENT_CLIENT_SECRET}}', { return_url: 'https://example.com/setup/complete', mandate_data: { customer_acceptance: { type: 'online', online: { infer_from_client: true } } }, } ); if (error) { // Inform the customer that there was an error. }

Puedes encontrar el ID del pagador del método de pago y el ID del acuerdo de facturación en la orden resultante en la propiedad payment_method_details. También puedes encontrar el correo electrónico y el ID de pagador del comprador en la propiedad PayPal en PaymentMethod.

CampoValor
payer_emailLa dirección de correo electrónico del pagador en su cuenta de PayPal.
payer_idUn ID único de la cuenta de Paypal del pagador.
billing_agreement_idEl ID del Acuerdo de Facturación de PayPal (BAID). Es un ID generado por PayPal que representa el mandato entre el negocio y el cliente.

Supervisar webhooks
Lado del servidor

Utiliza un método como los webhooks para confirmar que el cliente autorizó correctamente el acuerdo de facturación, en lugar de depender de que tu cliente regrese a la página de estado del pago. Cuando un cliente autoriza correctamente el acuerdo de facturación, el SetupIntent emite el evento de webhook setup_intent.succeeded. Si un cliente no autoriza correctamente el acuerdo de facturación, el SetupIntent emitirá el evento de webhook setup_intent.setup_failed y volverá al estado requires_payment_method. Cuando un cliente revoca el acuerdo de facturación de su cuenta de PayPal, se emite el mandate.updated.

Crear la suscripción
Lado del servidor

Crea una suscripción con el precio y el cliente:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=cus_Gk0uVzT2M4xOKD \ -d default_payment_method=pm_1F0c9v2eZvKYlo2CJDeTrB4n \ -d "items[0][price]"=price_F52b2UdntfQsfR \ -d "expand[0]"="latest_invoice.confirmation_secret" \ -d off_session=true

Cuando se crea una suscripción, se le cobra al cliente automáticamente porque se establece el método de pago predeterminado. Una vez efectuado el pago, el estado de la suscripción en el Dashboard de Stripe cambia a Activa. El precio creado previamente determina las facturaciones sucesivas.

Gestionar el estado de la suscripción
Lado del cliente

Si el pago inicial se efectúa correctamente, el estado de la suscripción será active y no será necesario hacer nada más. Si los pagos fallan, el estado cambia al estado de suscripción definido en tu configuración de cobro automático. Debes notificar al cliente si falla el pago y cobrarle con un método de pago distinto.

Actualizar una suscripción
Lado del servidor

Cuando actualices una suscripción, debes especificar off_session=true. De lo contrario, cualquier nuevo pago requerirá una redirección del usuario a PayPal para su confirmación. Por ejemplo, si deseas cambiar la cantidad de un artículo incluido en la suscripción, puedes usar:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/subscriptions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer=cus_Gk0uVzT2M4xOKD \ -d default_payment_method=pm_1F0c9v2eZvKYlo2CJDeTrB4n \ -d "items[0][price]"=price_F52b2UdntfQsfR \ -d "items[0][quantity]"=2 \ -d off_session=true

Prueba la integración

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_action 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_action a requires_payment_method.

OpcionalCómo configurar el ciclo de facturación

OpcionalSuscripciones de prueba

OpcionalEliminar una cuenta de PayPal guardada

¿Te fue útil esta página?
SíNo
  • ¿Necesitas ayuda? Ponte en contacto con soporte.
  • Únete a nuestro programa de acceso anticipado.
  • Echa un vistazo a nuestro registro de cambios.
  • ¿Tienes alguna pregunta? Contacto.
  • ¿LLM? Lee llms.txt.
  • Con tecnología de Markdoc