Ir al contenido
GitHub

Recursos

Las interfaces de programación de aplicaciones (application programming interfaces, API) de Open Payments (estándar de pagos abiertos) se gestionan a través de un servidor de recursos. Para operar sobre las API, el cliente debe tener un token de acceso válido, emitido por un servidor de autorización de confianza.

Un servidor de recursos de Open Payments aloja tres conjuntos de API: para pagos entrantes, para cotizaciones y para pagos salientes. Un cliente debe recibir autorización, por medio de concesiones, para utilizar cualquiera de las API.

Cada conjunto de API tiene su propio tipo de recurso: incoming-payment, quote y outgoing-payment.

Un recurso de incoming-payment suele ser el primero en crearse en un flujo de pago, a través de la API Crear pago entrante. El recurso se crea en la cuenta del destinatario.

Luego, la entidad que administra la cuenta (account servicing entity, ASE) del destinatario devuelve los datos de pago único que el cliente utilizará para enviar pagos al destinatario. Todos los pagos recibidos mediante el uso de estos datos se asocian al recurso de incoming-payment.

incomingAmount

Una solicitud de pago entrante puede incluir o no incluir un incomingAmount.

Cuando se incluye un incomingAmount, el monto representa el monto máximo que se pagará a la cuenta del destinatario. Se pueden emitir uno o más pagos utilizando los datos únicos del recurso, pero el monto total no puede superar el máximo.

Cuando no se incluye un incomingAmount, la creación del recurso de quote posterior debe contener un monto de débito o un monto de recepción, como se explica en la siguiente sección.

Si no se incluye un incomingAmount, la ASE del destinatario no sabrá qué monto recibirá. Por lo tanto, no sabrá de inmediato cuándo se ha completado un pago. El cliente puede llamar a la API Completar un pago entrante para indicar a la ASE que no espere más pagos. De lo contrario, la sesión de pago eventualmente caducará.

Luego de crearse un recurso de incoming-payment en la cuenta del destinatario, por lo general, un recurso de quote se crea en la cuenta del remitente a través de la API Crear una cotización.

La cotización indica cuánto costará efectuar el pago, lo que incluye todas las tarifas que correspondan. La cotización funciona como un compromiso de la ASE del remitente de entregar un monto en particular a la ASE del destinatario. Las cotizaciones son válidas solo durante un tiempo limitado.

Existen tres tipos de cotizaciones: Si el recurso de quote se crea de la manera correcta, se le asignará un quoteId en la forma de una URL.

Cotización con incomingAmount

Se utiliza cuando el recurso de pago entrante tiene un incomingAmount definido. En esta cotización, el receiver debe ser la URL del recurso de pago entrante, que se indica por la presencia de /incoming-payments en la URL. Con este tipo de cotización, el pago entrante se completa automáticamente una vez que el pago saliente se haya completado.

Cotización de envío fija

Se utiliza cuando el recurso de pago entrante no incluye un incomingAmount y el remitente desea especificar exactamente cuánto se debe debitar de su cuenta. Se exige un debitAmount para este tipo de cotización. Con este tipo de cotización, el pago entrante no se puede completar automáticamente una vez que el pago saliente se haya completado. El cliente puede emitir una solicitud de completar el pago entrante. De lo contrario, la sesión de pago eventualmente caducará.

Cotización de recepción fija

Se utiliza cuando el recurso de pago entrante no incluye un incomingAmount y el remitente desea especificar exactamente cuánto debe recibir el destinatario. Se exige un receiveAmount para este tipo de cotización. Con este tipo de cotización, el pago entrante se completa automáticamente una vez que el pago saliente se haya completado.

Por último, se crea un recurso de outgoing-payment en la cuenta del remitente a través de la API Crear pago saliente. Un recurso de pago saliente puede representar un pago que se enviará, que se está enviando o que se envió previamente desde la cuenta del remitente. El objetivo de este recurso es actuar como una instrucción para que la ASE del remitente realice un pago.

Open Payments no ejecuta pagos reales. Solo proporciona las instrucciones para el pago saliente. Esta separación permite que las aplicaciones emitan solicitudes de pago sin estar registradas como proveedoras de servicios financieros. Las aplicaciones no tienen que manipular datos financieros confidenciales de manera directa, lo que reduce el riesgo y la complejidad.

Open Payments exige el consentimiento explícito del remitente antes de que se cree el recurso de pago saliente. El consentimiento se obtiene por medio de una concesión de autorización interactiva.

El recurso de outgoing-payment contiene la dirección de billetera del destinatario, por lo que la ASE del remitente sabe a dónde tiene que enviar el pago. Si se creó previamente un recurso de quote, el recurso de outgoing-payment también contiene el quoteId.

Una vez que se creó el recurso de outgoing-payment, se puede completar el pago entrante (tanto de forma automática como manual) para finalizar el flujo de pago. Ahora le corresponde a la ASE del remitente liquidar con la ASE del destinatario a través de un carril de pagos compartido.

Para obtener información sobre los tipos de concesiones para cada recurso, consulte la sección Tipos de concesiones de la página Conceptos de autorización.