La API SourcesObsoleto
Descubre los diferentes métodos de pago y mecanismos disponibles con la API Sources.
Advertencia
We deprecated the Sources API and plan to remove support for local payment methods. If you currently handle any local payment methods using the Sources API, you must migrate them to the Payment Methods API.
While we don’t plan to remove support for card payments, we recommend replacing any use of the Sources API with the PaymentMethods API, which provides access to our latest features and payment method types.
Los objetos Source te permiten aceptar diversos métodos de pago con una sola API. Una fuente representa el instrumento de pago del cliente y se puede usar con la API de Stripe para crear pagos. Pueden hacerse cargos en las fuentes directamente o se pueden adjuntar a clientes para reutilizarse más adelante.
Cada método de pago aceptado por la API Sources es definido por cuatro características clave. La combinación de estas características determina cómo se imputan los cargos en la fuente y cómo se usa la solicitud de pago para completar un pago.
- Extraer o enviar: cómo se transfieren los fondos del método de pago del cliente
- Flujo: el tipo de acción que debe llevar a cabo tu cliente para autenticar el pago
- Uso: determina si la
Source
se puede reutilizar o no - Sincrónico o asincrónico: determina si el cargo resultante puede confirmarse de inmediato o después de un retraso
Para ver un ejemplo acabado que ilustre cómo aceptar cualquier método de pago con la API Sources, echa una ojeada a este modelo de tienda de e-commerce y explora el código fuente en GitHub.
Métodos de pago aceptados
Puedes habilitar cualquier método de pago que tengas dentro del Dashboard. Por lo general, la activación es instantánea y no exige contratos adicionales ni implica un proceso largo. Para obtener un listado detallado, consulta los métodos de pago disponibles y las regiones geográficas donde se admiten.
La siguiente tabla muestra las características clave antes mencionadas de los métodos de pago aceptados:
Envío de fondos | Confirmación | Ninguna | Redireccionamiento | Verificación del código | Destinatario |
---|---|---|---|---|---|
Extracción | Sincrónico | Tarjetas | — | — | — |
Asincrónico | Débito directo SEPA (obsoleto) | Débitos ACH con autenticación | Débitos ACH con microdepósitos | — | |
Envío | Sincrónico |
| — | — | Multibanco (obsoleto) |
Asincrónico | — | Sofort con Sources (obsoleto) | — | — |
Extracción o envío de fondos
Cada método de pago se clasifica como de extracción o envío según cómo se transfieran los fondos del método de pago del cliente.
- Si se utiliza un método basado en la extracción, debitas los fondos de la cuenta del cliente después de haber obtenido su consentimiento. Los pagos con tarjeta son un ejemplo de un método de extracción: se hace el débito en la tarjeta del cliente al efectuarse el pago y no es necesaria la interacción con el cliente para los débitos sucesivos.
- Con un método basado en el envío, el cliente te envía los fondos. Las transferencias de crédito ACH son un ejemplo de un método basado en el envío: tu cliente recibe los números de enrutamiento bancario y de cuenta a los que debe enviar (basado en el envío) el importe correcto. Una vez que tengas la confirmación de que tu cliente te envió los fondos, se puede imputar el cargo a la fuente y estará lista para usarse en una solicitud de pago. Otros métodos de pago basados en el envío, como iDEAL o Sofort, requieren un redireccionamiento para que tu cliente te envíe el dinero directamente desde su cuenta bancaria electrónica. Por lo general, los métodos basados en el envío requieren una interacción con el cliente para cada pago.
Flujo de acción del cliente
Algunos métodos de pago requieren que el cliente lleve a cabo una acción en particular (flujo) para poder imputar el cargo en la fuente. El tipo de flujo que se aplicará a un método de pago se determina dentro del parámetro flow
del objeto Source
. Cada método se clasifica conforme a uno de los siguientes tipos de flujo.
Una vez que se ha completado el flujo solicitado y la fuente está en condiciones de aceptar cargos, debe utilizarse la fuente para solicitar el cargo a fin de que el pago se complete. De lo contrario, la fuente se cancela, se rembolsa automáticamente el pago autenticado del cliente, y no se transfiere el dinero a tu cuenta.
De un solo uso o reutilizables
Algunos métodos de pago admiten la creación de fuentes que se puedan reutilizar para otros pagos sin que tu cliente tenga que completar nuevamente el proceso de pago. Las fuentes que se pueden reutilizar tienen el parámetro usage
establecido en reusable
.
En cambio, si una fuente solo se puede usar una vez, este parámetro se establece en single_
, y debe crearse una fuente cada vez que el cliente hace un pago. Estas fuentes no deben adjuntarse a clientes, ya que el cargo debe imputarse en forma directa. Se puede cobrar solo una vez, y el estado de la fuente cambia a consumed
después del cobro.
Las fuentes reutilizables deben adjuntarse a un objeto Customer para poder reutilizarse. (Si el cargo se imputa en forma directa, el estado cambia a consumed
). Para obtener información sobre cómo adjuntar fuentes a Customers y cómo gestionar una lista de fuentes de clientes, consulta la guía Fuentes y clientes.
Confirmación sincrónica y asincrónica
Una vez que usas un método de pago para crear un objeto Charge, el estado de ese cargo se puede confirmar de inmediato (de manera sincrónica) o después de un período (de manera asincrónica).
Con un método de pago sincrónico, el estado de la solicitud de pago se puede confirmar de inmediato como
succeeded
ofailed
. Si la solicitud de pago se efectúa correctamente, el pago se completa, pues se considera garantizado que se le ha cobrado al cliente y que tú recibirás los fondos. Un ejemplo de método sincrónico son los pagos con tarjeta: se confirma en tiempo real si el pago se efectuó correctamente o no.En caso de métodos de pago asincrónicos, la confirmación del pago puede demorar varios días. Durante ese lapso, el pago no se puede garantizar. El estado del objeto
Charge
del pago se define inicialmente enpending
, hasta que se confirma si el pago se efectuó correctamente o no. Los débitos ACH son un ejemplo de método asincrónico: con estos débitos, la confirmación del pago tarda algunos días.
Stripe envía un evento webhook una vez que el estado del cargo ha cambiado. Al aceptar un método de pago asincrónico, tu integración debe ser capaz de recibir webhooks para poder aceptar la notificación y confirmar si el pago del cliente se hizo correctamente o no.