Conciliación automática
Permite que Stripe gestione la conciliación de caja para los métodos de pago con transferencia de crédito.
Obsoleto
En esta guía se documenta la implementación obsoleta de las transferencias de crédito a través de la API Sources. Si actualmente realizas la integración con transferencias de crédito, debes migrar a la API Payment Methods. Enviaremos un correo electrónico con más información sobre cómo finalizar el soporte para la API Sources.
Las empresas suelen recurrir a la transferencia de crédito para pagos en caso de grandes operaciones o nuevas relaciones comerciales, pero pueden implicar mucho trabajo manual para tu equipo. Stripe te facilita este proceso mediante la aceptación de transferencias para el pago de facturas abiertas.
Para cada uno de tus clientes, Stripe genera automáticamente un número de cuenta bancaria virtual de EE. UU. que puede pagarse en USD con crédito ACH o transferencias bancarias. Cuando tu cliente ve una factura con esta cuenta bancaria virtual, puede enviarle el pago. Stripe concilia automáticamente el pago con la cuenta bancaria virtual y la factura. Luego, Stripe marca la factura como pagada.
Transferencias versus débitos
El uso de la conciliación automática implica que no tienes que exponer los datos confidenciales de tu cuenta bancaria a los usuarios ni conciliar manualmente facturas abiertas con el banco. Gracias a la conciliación automática de facturas, Stripe puede:
- Asociar pagos entrantes con importes de facturas.
- Gestionar un sobrepago o un pago insuficiente cuando el importe abonado no coincida con la factura.
- Reducir la cantidad de llamadas API necesarias para transferir fondos a Stripe.
- Gestionar reintentos de pago de facturas abiertas.
Pagar una factura
Si un cliente no tiene un subhash ach_credit_transfer, Stripe crea uno para cada factura. Todas las facturas incluyen instrucciones sobre dónde enviar el pago. Además, cada cliente tiene una dirección de pago única que se comparte en todas sus facturas. Con el subhash ach_
, los clientes pueden transferir fondos a través del sistema de ACH de EE. UU. o hacer una transferencia electrónica dentro del país, e incluir un número de factura en el campo nota.
Nota
Las transferencias de crédito ACH solo admiten USD.
En cuanto un cliente hace una transferencia, Stripe asocia el pago con la factura correspondiente verificando el número de factura en el campo nota de la transferencia. Saldamos las facturas que se corresponden con los pagos. Si no podemos encontrar ninguna coincidencia, saldamos la factura pendiente del mismo importe más antigua. Si no podemos encontrar ninguna factura pendiente con el mismo importe, cancelaremos todas las facturas pendientes que se puedan pagar con el importe de la transferencia, comenzando con la factura pendiente más antigua. Cuando se salda una factura, se desencadena un evento invoice.
(puedes recibir este evento usando webhooks).
También puedes revisar el estado de una transferencia de crédito ACH mirando la lista de métodos de pago del cliente en el Dashboard. Además, puedes ver el estado visualizando las fuentes del cliente en la API:
curl https://api.stripe.com/v1/customers/cus_9jWC3097MQwYwF/sources \ -u
:sk_test_BQokikJOvBiI2HlWgH4olfQ2
Stripe devuelve una lista de fuentes asociadas con ese cliente. El type
de la fuente correspondiente a la transferencia de crédito ACH es ach_
. En el siguiente ejemplo de respuesta, el destinatario de la transferencia de crédito ACH espera el pago del cliente:
{ "object": "list", "data": [ { "id": "src_19Q3AILlRB0eXbMt81RVDnM9", "object": "source", "amount": null, "client_secret": "src_client_secret_Z0zPIgnR0BVafiMLaJcxI3HS", "created": 1481585102, "currency": "usd", "customer": "cus_9jWC3097MQwYwF", "flow": "receiver", "livemode": false, "metadata": {}, "owner": { "address": null, "email": "jenny.rosen@example.com", "name": null, "phone": null, "verified_address": null,
Ocasionalmente, puede ocurrir que un cliente quiera usar un método de pago que esté fuera de Stripe, por ejemplo, un cheque. Aun así, Stripe te permite hacer el seguimiento del estado de pago de la factura. Después de recibir el pago del cliente por fuera de Stripe, puedes marcar la factura como pagada manualmente:
Gestionar las excepciones
Si el cliente paga un importe que no coincide con ninguna factura, no se cobran los fondos y permanecen en el objeto Source
. Si deseas usar esos fondos para saldar tu factura, tienes algunas opciones:
- Sobrepago: si un usuario envía fondos de más para el pago de una factura, Stripe marca automáticamente la factura como pagada, usando los fondos equivalentes al importe de la factura abierta. Los fondos restantes quedan en el destinatario de
Source
. Puedes aplicar estos fondos manualmente a una factura. Si tienes varias facturas abiertas que coinciden con ese importe, Stripe aplica los fondos a la factura más antigua. - Pago insuficiente: en la configuración de suscripciones y correos electrónicos, en la sección Pagos parciales, puedes especificar reglas referidas a pagos insuficientes. Puedes establecer que, dentro de cierto margen de error, Stripe concilie automáticamente las facturas y acredite la diferencia.
Un caso típico de pago insuficiente puede darse cuando el banco del cliente retiene fondos del importe total enviado por el cliente. Por ejemplo, si el cliente envía USD 100 para pagar una factura de USD 100 y el banco del cliente retiene USD 20, quedarán USD 80. Si esta diferencia (que suele estar dentro de estos valores) es aceptable, puedes minimizar las tareas manuales especificando este margen con antelación.
Para otras excepciones:
- Si el destinatario tiene suficiente dinero para pagar tu factura, puedes reclamar esos fondos en el Dashboard haciendo clic en el botón Cobrar al cliente en la factura o llamando al punto de conexión Pagar factura y especificando el objeto transferencia de crédito ACH como la fuente.
- Si los fondos no alcanzan para pagar la factura y no condonas la diferencia, puedes pedirle al cliente que envíe el importe restante. También puedes anular la factura anterior, abrir una nueva por un importe menor e inmediatamente hacer click en el botón Cobrar al cliente que aparece en la factura.
Si tu cliente tiene una fuente de transferencia de crédito ACH con fondos suficientes, o una tarjeta de crédito o cuenta bancaria guardada, puedes usar esas fuentes para pagar la factura llamando al punto de conexión Pagar factura con la fuente que deseas usar.
Rembolsar pagos
Puedes reembolsar pagos con transferencia de crédito ACH y cheque a través del Dashboard o de la API. Sin embargo, el cliente debe especificar la cuenta de destino de los fondos. Stripe se pone en contacto automáticamente con el cliente a través de la dirección de correo electrónico proporcionada. Tan pronto como el cliente nos proporciona los datos de su cuenta, procesamos el reembolso automáticamente.
El estado inicial de un reembolso es pending
. Si el reembolso falla, recibirás el evento refund.
y el estado del reembolso cambiará a failed
. Esto significa que Stripe no puede procesar el reembolso, y que debes devolver los fondos a tu cliente por fuera de Stripe. Esta situación no es habitual, pero puede suceder si la cuenta reembolsada está bloqueada. Los reembolsos completados tienen el estado succeeded
.
Probar un pago
Si estás en un entorno de prueba, puedes simular la transferencia de dinero al destinatario actualizando el correo electrónico del titular en la fuente a amount_
, donde XXXX
es la cantidad de dinero que quieres simular transferir. El pago no se asociará a la factura a menos que Stripe haya bloqueado la edición de la factura. Esto sucede una hora después de la entrega de los webhooks o después de que le envías al cliente un correo electrónico para la factura. En el Dashboard, puedes enviar un correo electrónico de inmediato haciendo clic en el botón Enviar factura de la factura.
Unos minutos después de la solicitud de actualización, puedes recuperar al parámetro receiver
:
Si la solicitud de actualización se hizo correctamente, el atributo receiver
muestra los fondos:
{ "object": "list", "data": [ { "id": "src_19Q3AILlRB0eXbMt81RVDnM9", "object": "source", "amount": null, "client_secret": "src_client_secret_Z0zPIgnR0BVafiMLaJcxI3HS", "created": 1481585102, "currency": "usd", "customer": "cus_4fdAW5ftNQow1a", "flow": "receiver", "livemode": false, "metadata": {}, "owner": { "address": null, "email": "amount_1000@test.com", "name": null, "phone": null, "verified_address": null,
En este caso, la factura abierta del cliente (del mismo importe) pasa a ser una factura pagada. Tiene un objeto Payment correspondiente que muestra los detalles del pago.