Pagos con tarjeta en la API ChargesHeredadas
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.
La API Charges no admite las siguientes funciones, muchas de las cuales son necesarias para cumplir con la normativa de las tarjetas de crédito:
- Comerciantes de India
- Bank requests for card authentication
- Strong Customer Authentication
Las API Charges y Tokens son API heredadas que se utilizan en integraciones de Stripe más antiguas para aceptar pagos con tarjetas de débito y de crédito. Usa PaymentIntents para las nuevas integraciones.
La API Charges limita tu capacidad para aprovechar las funciones de Stripe. Para obtener las funciones 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 |
---|---|
|
|
Reembolsos
Para reembolsar un pago a través de la API, crea un reembolso y proporciona el ID del cargo que se va a reembolsar.
Para reembolsar parte de un pago, introduce el parámetro amount
como un número entero en céntimos (o la unidad más pequeña de la moneda del cargo).
Apple Pay
Cuando el 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 de forma dinámica en cada solicitud de cargo con el argumento statement_
en el objeto Charge.
Las descripciones del cargo en el extracto bancario están limitadas 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 añade a la descripción del extracto del comerciante de cobro (separada por un *
y un espacio vacío). 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 vacío se incluyen en el límite de 22 caracteres, y Stripe asigna automáticamente 10 caracteres a la descripción dinámica. Esto significa que la descripción del comerciante podría truncarse si tienes más de 10 caracteres (asumiendo que la descripción dinámica del cargo en el extracto bancario también supere los 10 caracteres). Si la descripción dinámica del cargo también tiene más de 10 caracteres, ambas descripciones quedarán truncadas en 10 caracteres.
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 a cargo del cobro y tener más espacio para la descripción dinámica del cargo en el extracto bancario. La descripción abreviada:
- Reemplaza la descripción en el extracto bancario del comerciante de cobro cuando se usa 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, establece una descripción abreviada en el Dashboard o usa statement_
. Esto evita que la descripción del cargo en el extracto bancario se trunque de formas impredecibles.
Si no tienes claro cómo se verán 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 añadir metadatos a las solicitudes más comunes como, por ejemplo, procesar cargos. Los metadatos no están a la vista del cliente ni determinan que nuestro sistema de prevención de fraudes rechace o bloquee un cargo.
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 adjuntar el ID del pedido de tu tienda al cargo utilizado para pagar ese pedido. Esto os facilita a ti, a tu contable o al equipo de finanzas la conciliación de los cargos en Stripe con los pedidos de tu sistema.
Si estás usando Radar, plantéate 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, lo que 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 que aparece 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 del estado. Por ejemplo, el evento
charge.
se activa cuando falla un pago.failed