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
In most cases, the PaymentIntents API offers more flexibility and integration options.
API Charges | API Payment Intents |
---|---|
|
|
Rembolsos
Para rembolsar un pago a través de la API, crea un rembolso y proporciona el ID del cargo a rembolsar.
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.
Through metadata, you can associate other information—meaningful to you—with Stripe activity. Any metadata you include is viewable in the Dashboard (for example, when looking at the page for an individual charge), and is also available in common reports and exports. As an example, your store’s order ID can be attached to the charge used to pay for that order. Doing so allows you, your accountant, or your finance team to easily reconcile charges in Stripe to orders in your system.
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
If you want your integration to respond to payment failures automatically, you can access a charge’s outcome
in two ways.
- 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