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.