Configuración de concesión de pago con Interledger

Clase 14 de 16Curso 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.