Skip to main content
En resumen
Una orden de pago representa un único cobro de fiat esperado. Cuando utiliza la vía de cuenta virtual de un solo uso, cada orden está respaldada por una cuenta bancaria dedicada válida para un solo pago. Los endpoints de Órdenes de Pago le permiten listar y hacer seguimiento de cada orden a nivel de wallet maestra o acotadas a una dirección secundaria específica.

Requisitos previos

Antes de usar la API de Órdenes de Pago, asegúrate de tener:
1

API Key

Obtén tu API key desde el Panel de Blockradar. Ve a Developers para generar una.
2

Wallet creada

Crea una wallet desde el panel (consulta Crear una Billetera Principal). Necesitarás el walletId para las operaciones de órdenes de pago.
3

Cumplimiento aprobado

Completa el proceso de debida diligencia en el Panel: My wallets > Settings > Compliance
4

Función habilitada

Solicita la activación de la función de cuentas virtuales tras la aprobación de cumplimiento. Escribe a [email protected] o usa el chat en vivo del panel.
5

Entorno mainnet

Las cuentas virtuales solo están disponibles en MAINNET. Los entornos testnet no admiten operaciones con cuentas virtuales.
6

Soporte de stablecoin

Depositar fiat y convertirlo a una stablecoin es una función de pago. Asegúrate de que tu plan incluya acceso a stablecoins. Actualiza desde Panel → Settings → Subscription.

Cómo funciona

Se crea una orden de pago cada vez que un cliente inicia un depósito en fiat. Para la vía one_time_virtual_account, Blockradar emite una nueva cuenta bancaria virtual vinculada a esa orden y a su conjunto de montos. Una vez que el cliente paga, la orden avanza por su ciclo de vida y la stablecoin correspondiente se emite y se liquida en la wallet o dirección vinculada.

Orden creada

Se genera una orden con una referencia, un monto esperado y su vía de cobro.

Cuenta emitida

Para la vía de cuenta virtual de un solo uso, se adjunta una cuenta bancaria de un solo uso en paymentInstructions.

Pago recibido

El cliente paga la cuenta antes de expiresAt; la orden pasa a processing y luego a paid.

Liquidación

La stablecoin equivalente se emite y se liquida en la wallet o dirección secundaria vinculada.

Estado de la orden

Cada orden informa su estado actual dentro del ciclo de vida. Use el parámetro de consulta status para filtrar los resultados.

Vías de cobro

El campo rail identifica cómo se cobra la orden. Las cuentas virtuales de un solo uso utilizan la vía one_time_virtual_account.

Flujo de creación vinculado a una sesión

Inicie la creación de la orden de pago solicitando una cotización con assetId, currency, amount y rail. Cuando el depósito pertenezca a un cliente existente, incluya también customerId para que se pueda reutilizar el KYC del proveedor ya guardado. El adaptador del proveedor infiere el corredor de KYC a partir de la moneda fiat seleccionada. La cotización devuelve un sessionId y sessionExpiresAt. La sesión vincula la wallet, el activo de la wallet, la moneda fiat, el monto, la vía, el proveedor, la ruta de conversión, el cliente y el corredor de KYC durante 20 minutos. Recomendamos usar el sessionId devuelto en cada solicitud posterior:
  1. Inicialice el formulario con additionalDataRequirements.data cuando no sea null. Contiene los valores reutilizables ya guardados para el cliente, el proveedor y el corredor.
  2. Recopile los valores faltantes que exija additionalDataRequirements.schema.
  3. Si el esquema contiene un x-resolution, llame a POST /v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve con sessionId y el additionalData actual.
  4. Combine los valores resueltos en additionalData.
  5. Cree la orden con sessionId, additionalData y cualquier campo opcional de la orden, como reference o metadata.
Quote request
Quote session
Por brevedad, arriba solo se muestran los campos de nivel superior del esquema; renderice el JSON Schema completo y específico del proveedor que devuelve la API.
Resolve requirements
Create payment order
El ejemplo anterior corresponde a un perfil de persona de Paycrest para NGN: idDocument.number es el NIN de 11 dígitos del cliente y taxId.value es su BVN de 11 dígitos. Los requisitos varían según el proveedor, el corredor y el tipo de entidad, por lo que siempre debe renderizar el esquema que devuelve la cotización en lugar de codificar estos campos de forma fija. Cuando la orden se crea con KYC en línea, Blockradar lo guarda asociado al cliente del negocio, al proveedor seleccionado y al corredor. Una cotización posterior con el mismo customerId y corredor devuelve el KYC guardado en additionalDataRequirements.data. Enviar un KYC modificado en una orden posterior actualiza el perfil guardado del corredor; no se necesita un endpoint de KYC independiente.
No reutilice una sesión con valores de activo, moneda, monto, vía o proveedor de otra cotización. Si la API devuelve FIAT_DEPOSIT_SESSION_EXPIRED, FIAT_DEPOSIT_SESSION_MISMATCH o FIAT_DEPOSIT_SESSION_UNAVAILABLE, solicite una nueva cotización y reinicie la resolución de requisitos.
Por compatibilidad con versiones anteriores, sessionId es opcional. Si lo omite, envíe los valores originales de assetId, currency, amount y rail en las solicitudes de resolución de requisitos y de creación de la orden. Cuando sessionId está presente, los valores almacenados en la sesión son los que prevalecen.

Listar órdenes de pago de la wallet maestra

Devuelve una lista paginada de todas las órdenes de pago creadas bajo una wallet maestra. Use los parámetros de consulta para filtrar por estado, vía, moneda, activo, rango de fechas o búsqueda de texto libre. GET /v1/wallets/{id}/deposit/fiat/orders

Parámetros de consulta

Ejemplo de respuesta

Listar órdenes de pago de la dirección secundaria

Devuelve las órdenes de pago acotadas a una única dirección secundaria. La respuesta incluye los mismos campos de la orden más detalles adicionales de liquidación, proveedor y cliente. GET /v1/wallets/{walletId}/addresses/{addressId}/deposit/fiat/orders

Parámetros de ruta

Parámetros de consulta

Ejemplo de respuesta

Campos de respuesta

Los campos amountFiatReceived, amountSettled, providerReference, provider y customer se devuelven en el endpoint de dirección secundaria y se completan a medida que la orden avanza por la liquidación.

Referencia de API

Descubrimiento y configuración

Wallet maestra

Dirección secundaria

Recuperar, actualizar y cancelar una orden solo requieren el ID de la orden, por lo que no existe un equivalente para direcciones secundarias. Usa los endpoints de la wallet maestra anteriores para cualquier orden, incluidas las creadas contra una dirección secundaria.La API también expone una operación Find Fiat Deposit (POST /v1/wallets/{id}/deposit/fiat/finder) que localiza un depósito en fiat y sus detalles de procesamiento a partir de una referencia de pago. Es útil para conciliar un pago que un cliente afirma haber enviado con la orden a la que pertenece.