Ir a contenido
Crea una cuenta
o
inicia sesión
Logotipo de la documentación de Stripe
/
Pregúntale a la IA
Crear cuenta
Iniciar sesión
Empezar
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
Resumen
Acerca de Stripe Payments
Actualiza tu integración
Análisis de pagos
Pagos por Internet
ResumenEncuentra tu caso de usoManaged Payments
Utiliza Payment Links
Crear una página del proceso de compra
Desarrolla una integración avanzada
Desarrolla una integración en la aplicación
Métodos de pago
Añadir métodos de pago
    Resumen
    Opciones de integración de los métodos de pago
    Gestiona los métodos de pago predeterminados en el Dashboard
    Tipos de método de pago
    Tarjetas
    Pagar con el saldo de Stripe
    Criptomonedas
    Adeudos bancarios
    Redireccionamientos bancarios
    Transferencias bancarias
    Transferencias de crédito (Sources)
    Compra ahora y paga después
      Affirm
      Afterpay / Clearpay
        Aceptar un pago
        Mensajes del sitio
      Alma
      Billie
      Capchase Pay
      Klarna
      Kriya
      Mondu
      Pago en factura
      Scalapay
      SeQura
      Sunbit
      Zip
    Pagos en tiempo real
    Vales
    Monederos
    Habilitar métodos de pago locales por país
    Métodos de pago personalizados
Gestiona los métodos de pago
Proceso de compra más rápido con Link
Interfaces de pago
Payment Links
Checkout
Elements para la web
Elements en la aplicación
Escenarios de pago
Administrar múltiples divisas
Flujos de pagos personalizados
Capacidad adquirente flexible
Orquestación
Pagos en persona
Terminal
Más allá de los pagos
Constituye tu empresa
Criptomonedas
Financial Connections
Climate
InicioPagosAdd payment methodsBuy now, pay laterAfterpay / Clearpay

Acepta un pago de Afterpay o Clearpay

Descubre cómo aceptar Afterpay (también conocido como Clearpay en Reino Unido), un método de pago en EE. UU., CA, Reino Unido, AU y NZ.

Precaución

El contenido de esta sección se refiere a un producto heredado. En su lugar, debes usar la guía Aceptar un pago para el proceso de integración más reciente. Aunque Stripe sigue aceptando este producto, podría dejar de aceptarlo si el producto queda obsoleto.

Los usuarios de Stripe pueden utilizar la API Payment Intents, una ruta de integración única para crear pagos usando cualquier método aceptado, para aceptar pagos con Afterpay de clientes de los siguientes países:

  • Australia
  • Canadá
  • Nueva Zelanda
  • Reino Unido
  • Estados Unidos

Afterpay es un método de pago de uso único y de notificación inmediata que requiere que el cliente autentique su pago. Se redirige a los clientes al sitio web de Afterpay, donde aceptan las condiciones del plan de pago en cuotas. Cuando el cliente acepta las condiciones, se garantizan los fondos y se transfieren a tu cuenta de Stripe. El cliente paga a Afterpay directamente a lo largo del tiempo.

Nota

Antes de iniciar la integración, asegúrate de que tu cuenta sea apta para Afterpay. Para ello, accede a la configuración de los métodos de pago.

Configura Stripe
Lado del servidor

Primero, necesitas una cuenta de Stripe. Regístrate ahora.

Usa nuestras bibliotecas oficiales para acceder a la API de Stripe desde tu aplicación:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Crea un PaymentIntent
Lado del servidor

Un PaymentIntent es un objeto que representa tu intención de cobrarle a un cliente y hace el seguimiento del ciclo de vida del proceso de pago en cada etapa. Primero, crea un PaymentIntent en tu servidor y especifica el importe que hay que cobrar y la divisa. Si ya tienes una integración que utiliza la API Payment Intents, añade afterpay_clearpay a la lista de tipos de métodos de pago para tu PaymentIntent.

Puedes gestionar los métodos de pago desde el Dashboard. Stripe gestiona la devolución de métodos de pago que cumplan los requisitos en función de factores como el importe de la transacción, la divisa y el flujo de pago. En el siguiente ejemplo se usa el atributo automatic_payment_methods, pero puedes enumerar afterpay_clearpay con tipos de métodos de pago. En la última versión de la API, especificar el parámetro automatic_payment_methods es opcional porque Stripe habilita sus funciones de forma predeterminada. Independientemente de la opción que elijas, asegúrate de habilitar Afterpay Clearpay en el Dashboard.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d "automatic_payment_methods[enabled]"=true \ -d "shipping[name]"="Jenny Rosen" \ -d "shipping[address][line1]"="1234 Main Street" \ -d "shipping[address][city]"="San Francisco" \ -d "shipping[address][state]"=CA \ -d "shipping[address][country]"=US \ -d "shipping[address][postal_code]"=94111

Recupera el secreto del cliente

El PaymentIntent incluye un secreto de cliente que el lado del cliente utiliza para completar el proceso de pago de forma segura. Puedes usar diferentes métodos para pasar el secreto del cliente al lado del cliente.

Recupera el secreto de cliente de un punto de conexión en tu servidor, utilizando la función fetch del navegador. Este enfoque es mejor si tu lado del cliente es una aplicación de una sola página, en particular una construida con un marco de front-end moderno como React. Crea el punto de conexión del servidor que se utiliza para el secreto de cliente:

main.rb
Ruby
get '/secret' do intent = # ... Create or retrieve the PaymentIntent {client_secret: intent.client_secret}.to_json end

Y luego busca el secreto del cliente con JavaScript del lado del cliente:

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

Opciones de métodos de pago adicionales

Puedes especificar un parámetro reference opcional en las opciones del método de pago para tu PaymentIntent que establece un identificador de pedido interno para el pago. Aunque esto no suele ser visible ni para la empresa ni para el consumidor, el equipo de soporte interno de Afterpay puede acceder a él durante las solicitudes de soporte manuales. El identificador tiene un límite de 128 caracteres y solo puede contener letras, dígitos, guiones bajos, barras diagonales inversas y guiones.

Command Line
curl
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "payment_method_types[]"="afterpay_clearpay" \ // Shipping address is optional but recommended to pass in. -d "shipping[name]"="Jenny Rosen" \ -d "shipping[address][line1]"="1234 Main Street" \ -d "shipping[address][city]"="San Francisco" \ -d "shipping[address][state]"="CA" \ -d "shipping[address][country]"="US" \ -d "shipping[address][postal_code]"=94111 \ -d "payment_method_options[afterpay_clearpay][reference]"="order_123"

Envía el pago a Stripe
Lado del cliente

En este paso, efectivizarás los pagos de Afterpay en el lado del cliente con Stripe.js.

Configura Stripe.js

Cuando un cliente haga clic para pagar con Afterpay, recomendamos utilizar Stripe.js para enviar el pago a Stripe. Stripe.js es nuestra biblioteca JavaScript principal para crear flujos de pago. Automáticamente gestiona las complejidades como los redireccionamientos que se describen a continuación, y te dan la posibilidad de ampliar fácilmente tu integración a otros métodos de pago en el futuro. Incluye la secuencia de comandos de Stripe.js en tu página de proceso de compra añadiéndola 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 finalización de compra.

script.js
// Set your publishable key: remember to change this to your live publishable key in production // See your keys here: https://dashboard.stripe.com/apikeys var stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, );

En lugar de enviarle al cliente el objeto PaymentIntent completo, utiliza el secreto de cliente del paso 2. Esta clave es diferente de las claves de API que autentican las solicitudes de API de Stripe.

Aún debes administrar el secreto de cliente con cuidado porque sirve para completar el cargo. No lo registres, no lo insertes en URL ni lo expongas a nadie excepto al cliente.

Usa stripe.confirmAfterpayClearpayPayment para gestionar la redirección fuera de tu página y completar el pago. Añade un return_url a esta función para especificar a dónde redirige Stripe al usuario después de completar el pago en el sitio web o la aplicación móvil de Afterpay.

client.js
// Redirects away from the client const {error} = await stripe.confirmAfterpayClearpayPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { billing_details: { email: 'jenny@rosen.com', name: 'Jenny Rosen', address: { line1: '1234 Main Street', city: 'San Francisco', state: 'CA', country: 'US', postal_code: '94111', }, }, }, return_url: 'https://example.com/checkout/complete', } ); if (error) { // Inform the customer that there was an error. }

Cuando tu cliente envía un pago, Stripe lo redirige a la return_url e incluye los siguientes parámetros de consulta de URL. La página de retorno puede usarlos para obtener el estado del PaymentIntent y mostrarle al cliente el estado del pago.

Cuando especifiques el return_url, también puedes anexar tus propios parámetros de consulta para usarlos en la página de retorno.

ParámetroDescripción
payment_intentEl identificador único del PaymentIntent.
payment_intent_client_secretEl secreto de cliente del objeto PaymentIntent. Para las integraciones de suscripciones, este client_secret también se expone en el objeto Invoice a través de confirmation_secret

Cuando se redirige al cliente de nuevo a tu sitio web, puedes usar el payment_intent_client_secret para consultar el PaymentIntent y mostrarle al cliente el estado de la transacción.

OpcionalAñade partidas al PaymentIntent

OpcionalSepara la autorización y la captura

OpcionalGestiona el redireccionamiento de Afterpay de forma manual

OpcionalGestiona eventos posteriores al pago

OpcionalPrueba la integración de Afterpay

OpcionalMostrar mensajes de métodos de pago en tu sitio web

Pagos fallidos

Afterpay tiene en cuenta varios factores a la hora de decidir si acepta o rechaza una transacción (por ejemplo, el tiempo que el comprador lleva utilizando Afterpay, el importe pendiente de pago del cliente, el valor del pedido actual).

Siempre debes presentar más opciones de pago como card en el flujo del proceso de compra, ya que los pagos con Afterpay tiene una tasa de rechazos superior que muchos métodos de pago. En estos casos, el PaymentMethod se separa y el estado del objeto PaymentIntent pasa automáticamente a requires_payment_method.

Para un PaymentIntent de Afterpay con un estado de requires_action, los clientes deben efectivizar el pago en el transcurso de las 3 horas posteriores a redirigirles al sitio de Afterpay (esto no se aplica a los pagos rechazados). Si no realiza ninguna acción en el transcurso de 3 horas, el PaymentMethod se separa y el estado del objeto del PaymentIntent pasa automáticamente a requires_payment_method.

En estos casos, informa a tus clientes que deben intentarlo de nuevo con una opción de pago diferente de tu flujo de proceso de compra.

Códigos de error

Estos son algunos códigos de error comunes y las correspondientes acciones recomendadas:

Código de errorAcción recomendada
payment_intent_payment_attempt_failedUn error genérico indica que el proceso de compra de Afterpay ha fallado. También puede tratarse de un rechazo que no aparece como código de error de rechazo.
payment_method_provider_declineAfterpay ha rechazado el pago del cliente. Como siguiente paso, el cliente debe contactarse con Afterpay para obtener más información.
payment_intent_payment_attempt_expiredEl cliente nunca efectivizó el pago en la página del proceso de compra de Afterpay y la sesión de pago ha caducado. Stripe caduca automáticamente los Payment Intents que no se hayan autorizado correctamente 3 horas después de la creación del proceso de compra inicial.
payment_method_not_availableAfterpay ha experimentado un error relacionado con el servicio y no puede completar la solicitud. Vuelve a intentarlo más tarde.
amount_too_smallIntroduce un importe dentro de los límites de transacciones predeterminados de Afterpay para el país.
amount_too_largeIntroduce un importe dentro de los límites de transacciones predeterminados de Afterpay para el país.
¿Te ha sido útil la página?
SíNo
¿Necesitas ayuda? Ponte en contacto con el equipo de soporte.
Únete a nuestro programa de acceso anticipado.
Echa un vistazo a nuestro registro de cambios.
¿Tienes alguna pregunta? Ponte en contacto con el equipo de ventas.
¿LLM? Lee llms.txt.
Con tecnología de Markdoc