Cómo revisar pagos no capturados
Obtén información sobre cómo usar las revisiones si tu integración de Stripe usa autorización y captura.
De forma predeterminada, puedes crear pagos con Stripe en un solo paso. No es necesario que hagas nada más para enviar los fondos a tu cuenta bancaria.
Sin embargo, Stripe también acepta pagos en dos pasos, que a menudo se llaman autorización y captura. Si tu integración usa esta técnica, ten en cuenta que la aprobación de la revisión y la captura del pago son acciones separadas.
Cómo revisar pagos no capturados en el Dashboard
Cuando Stripe coloca un pago no capturado en revisión, el Dashboard muestra el botón Capturar y un conjunto de botones para cerrar la revisión, ya sea porque se aprueba o se reembolsa. Además, debido a que el reembolso de los pagos no capturados a menudo se llama «liberación» o «reversión», los pagos no capturados tienen el botón Cancelar en lugar del botón Reembolsar.
Nota
La aprobación de la revisión no genera la captura automática del cargo. También debes hacer click en Capturar.
Cómo usar la API para capturar pagos aprobados automáticamente
A través de la API, puedes configurar tu integración para que:
- Captura de inmediato los pagos que no estén en
review
- Deja los pagos en
review
sin capturar - Cuando se apruebe la revisión, captura el pago
Capture de inmediato los pagos que no estén en revisión
Para crear un pago no capturado, define el comportamiento de captura en la solicitud de la API según corresponda. Al confirmarse la solicitud, revisa el atributo review del Payment Intent. Si el atributo está vacío, captura el cargo.
Cómo capturar un pago después de que se aprueba una revisión
A propósito, en el paso anterior, los pagos en review
quedan sin capturar. En este paso, utiliza webhooks para automatizar el proceso de captura de los pagos una vez que se aprueben.
En primer lugar, configura tus webhooks para escuchar el evento review.
. En los datos del evento se incluye el objeto Review, y el atributo reason
del objeto indica si se aprobó la revisión o si se cerró por algún otro motivo (por ejemplo, porque el pago se reembolsó).
// Review object included in review.closed event webhook. { "id": "prv_08voh1589O8KAxCGPcIQpmkz", "object": "review", "payment_intent": "pi_1D0CsEITpIrAk4QYdrWDnbRS", "created": 1474379631, "livemode": false, "open": false, "reason": "approved" }
Si reason
es approved
, captura el cargo.
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
post "/my/webhook/url" do event_json = JSON.parse(request.body.read) event = Stripe::Event.retrieve(event_json["id"]) if event.type == 'review.closed' review = event.object if review.reason == 'approved' pi = Stripe::PaymentIntent.retrieve(review.payment_intent) pi.capture end end status 200 end'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
Para capturar pagos aprobados, el proceso de revisión debe completarse en siete días. De lo contrario, como sucede con cualquier otro pago no capturado, la autorización vence automáticamente y ya no puedes capturarlo.