Configuración de concesión de pago con Interledger
Clase 14 de 16 • Curso de Pagos Abiertos con Interledger
Resumen
Domina el flujo para obtener una concesión de pago entrante entre dos billeteras con Interledger: desde descubrir el authorization server hasta usar un access token para crear el incoming payment. Aquí se explica paso a paso cómo validar identidades con clientWalletAddressGet, revisar capacidades y confirmar en consola con node index.js.
¿Qué valida el wallet address antes de enviar y recibir pagos?
Antes de iniciar el flujo, se consulta el endpoint de cada billetera con el método clientWalletAddressGet. Cada URL expuesta pertenece a una billetera de pruebas y permite validar la identidad del usuario y las capacidades: si puede recibir, enviar o autenticar.
- Se obtiene la información de Alicia, quien envía el pago desde su wallet address.
- Se revisa la información de Bob Test, quien recibe el pago.
- Se imprimen en consola ambos objetos: sendingWalletAddress y receivingWalletAddress.
¿Qué datos devuelve el endpoint del wallet?
- asset code en dólares, que corresponde a la currency utilizada.
- Capacidades del wallet address: recibir, enviar, autenticar.
- Identidad del usuario vinculada a la billetera.
- authServer de TestDev desde Interledger, confirmando que estamos conectados.
- scale igual a 2 para ambas billeteras.
¿Cómo comprobar en consola la configuración?
- Ejecuta el proyecto con node index.js y verifica la salida.
- Debes ver información de la billetera que envía (Alicia) y la que recibe (Bob), la currency en dólares, el public name de Bob y el scale en 2.
console.log(sendingWalletAddress, receivingWalletAddress);
node index.js
¿Cómo solicitar un grant y usar el access token para el incoming payment?
Una vez confirmadas las identidades y capacidades, se obtiene una concesión para el pago entrante. El flujo parte del wallet address del receptor.
¿Cómo se descubre el authorization server del receptor?
- Desde el wallet address de Bob se descubre cuál es el authorization server.
- Se prepara y envía una solicitud de permiso (grantRequest) al authServer.
¿Qué incluye la solicitud grantRequest y qué responde el servidor?
- En el cuerpo se solicita acceso específico mediante un access token.
- Se indica un tipo de pago que va a salir como recurso a gestionar y se limita la acción permitida a crear un incoming payment.
- Si el servidor aprueba de inmediato, responde con un grant finalizado que incluye un access token utilizable.
- Con ese token se realiza el POST para crear el incoming payment del receptor.
¿Cómo validar que el grant está finalizado y actuar en cada caso?
- Se comprueba si el grant ya está finalizado y no requiere más pasos de interacción.
- Si no está finalizado, se informa el estado y se espera su finalización o se arroja un error indicando que debe completarse la concesión.
- Al ejecutar de nuevo node index.js, se confirma que todo sigue en orden y que el flujo está listo para crear el incoming payment.
¿Qué habilidades y conceptos clave aplicas en el flujo con Interledger?
Este proceso pone en práctica habilidades de integración y autenticación orientadas a pagos programáticos, con foco en seguridad y trazabilidad.
- Consultas a endpoints con clientWalletAddressGet para obtener identidad, capacidades y asset code.
- Manejo de wallet address de emisor y receptor y verificación de currency en dólares y scale en 2.
- Descubrimiento del authorization server del receptor y construcción de grantRequest.
- Obtención y uso de access token del authServer de TestDev en Interledger.
- Creación de incoming payment mediante POST autorizado.
- Validación del estado del grant y control de errores cuando la concesión no ha finalizado.
- Comprobación en consola con console.log y ejecución con node index.js para validar la lógica.
En la siguiente parte se realizará el llamado del POST para crear el incoming payment. ¿Tienes dudas o quieres compartir tu implementación con Interledger? Deja tu comentario y conversemos.