Pagos con tarjeta en la API ChargesLegado
Aprende a cargar, guardar y autenticar tarjetas con las API heredadas de Stripe.
API heredada
The content of this section refers to a Legacy feature. Use the Payment Intents API instead.
The Charges API doesn’t support the following features, many of which are required for credit card compliance:
- Merchants in India
- Bank requests for card authentication
- Strong Customer Authentication
Las API Charges y Tokens son API heredadas que se usaban en integraciones antiguas de Stripe para aceptar pagos con tarjetas de crédito y débito. Para integraciones nuevas, usa PaymentIntents.
La API Charges limita tus posibilidades de aprovechar las funcionalidades de Stripe. Para obtener las funcionalidades más recientes, usa Stripe Checkout o migra a la API Payment Intents.
Flujo de pago
En la mayoría de los casos, la API PaymentIntents es más flexible y ofrece más opciones de integración.
API Charges | API Payment Intents |
---|---|
|
|
Rembolsos
To refund a payment through the API, create a Refund and provide the ID of the charge to be refunded.
Para rembolsar parte de un pago, ingresa el parámetro amount
en forma de un entero en centavos (o la unidad más pequeña de la moneda del cargo).
Apple Pay
Cuando tu cliente aprueba el pago, tu aplicación recibe una instancia de PKPayment que contiene los datos de la tarjeta cifrados mediante la implementación de los métodos PKPaymentAuthorizationViewControllerDelegate.
- Usa el método del SDK createTokenWithPayment para convertir
PKPayment
en unToken
de Stripe. - Usa este
Token
para crear un cargo.
Descripción dinámica del cargo en el extracto bancario
La descripción del cargo en el extracto bancario de tu cuenta de Stripe aparece en los extractos del cliente de forma predeterminada cada vez que haces un cargo en su tarjeta. Además, puedes configurar la descripción del cargo en el extracto bancario dinámicamente en cada solicitud de cargo con el argumento statement_
en el objeto Charge.
Los descriptores de instrucciones están limitados a 22 caracteres, no pueden usar los caracteres especiales <
, >
, '
, "
, o *
, y no deben consistir únicamente en números.
Si configuras una descripción dinámica del cargo en el extracto bancario para los cargos con tarjetas de crédito y débito, la porción dinámica se agrega a la descripción del extracto del comerciante de cobro (separada por un *
y un espacio). Por ejemplo, la descripción del cargo en el extracto bancario de una empresa llamada FreeCookies que incluya el tipo de galletitas compradas, podría ser FREECOOKIES* CON AZÚCAR
.
El *
y el espacio están incluidos en el límite de 22 caracteres, y Stripe asigna automáticamente 10 caracteres para la descripción dinámica. Por lo tanto, si la descripción del comerciante excede los 10 caracteres y la descripción dinámica tiene 10 caracteres o más, la descripción del comerciante aparecerá truncada. Si la descripción dinámica del cargo tiene más de 10 caracteres, ambas descripciones quedarán truncadas en el décimo carácter.
Si tienes problemas con el límite de caracteres, puedes definir una descripción abreviada en el Dashboard de Stripe para acortar la descripción del comerciante de cobro y tener más espacio para la descripción dinámica. La descripción abreviada:
- Reemplaza la descripción en el extracto bancario del comerciante de cobro ante la presencia de una descripción dinámica.
- Puede tener entre 2 y 10 caracteres.
Nota
Si la descripción del cargo en el extracto bancario de tu cuenta tiene más de 10 caracteres, configura una descripción abreviada en el Dashboard o usa statement_
. Esto evita que la descripción del cargo aparezca truncada de manera impredecible.
Si no estás seguro de cómo se ven las descripciones en el extracto bancario cuando se combinan, puedes revisarlas en el Dashboard de Stripe.
Cómo almacenar información en metadatos
Stripe admite el agregado de metadatos a las solicitudes más comunes como, por ejemplo, procesar cargos. Los metadatos no están a la vista del cliente ni determinan en forma alguna si un cargo es rechazado o bloqueado por nuestro sistema de prevención de fraudes.
Con los metadatos, puedes asociar otros datos, que sean importantes para ti, a la actividad de Stripe. Los metadatos que incluyas pueden verse en el Dashboard (por ejemplo, al buscar un cargo en particular en la página) y también aparecen en informes y exportaciones comunes. Por ejemplo, se puede asociar la ID del pedido de tu tienda al cargo utilizado para pagar ese pedido. Esto les facilita a ti, a tu contador o al equipo de finanzas la conciliación de los cargos en Stripe con los pedidos en tu sistema.
Si estás usando Radar, considera la posibilidad de especificar cualquier dato adicional del cliente y del pedido en forma de metadatos. Esto te permite redactar reglas de Radar usando atributos de metadatos y contar con más información sobre el pago dentro del Dashboard, con lo cual se puede agilizar tu proceso de revisión.
Precaución
No almacenes información confidencial (información personal identificable, datos de tarjetas, etc.) en forma de metadatos ni en el parámetro description
del cargo.
Rechazos
Si quieres que tu integración responda a errores en los pagos automáticamente, puedes acceder al outcome
de un cargo de dos maneras.
- Gestiona el error de API devuelto cuando falla un pago. En caso de pagos bloqueados o rechazados por el emisor de la tarjeta, el error incluye el ID del cargo, que puedes usar para recuperarlo.
- Utiliza webhooks para supervisar las actualizaciones de estado. Por ejemplo, el evento
charge.
se activa cuando falla un pago.failed