> For the complete documentation index, see [llms.txt](https://bitnovo.gitbook.io/pay-es/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bitnovo.gitbook.io/pay-es/bitnovo-pay/integraciones/integracion-api.md).

# Integración API

### Pasarela de pago en criptomonedas Bitnovo Pay

Diseñada para ser utilizada de dos maneras diferentes:

1. **Redirect Gateway**: Solo disponible para pagos en línea. El usuario es redirigido a la pasarela de pago Bitnovo Pay, donde se le ayuda a realizar el pago cripto.  Dependiendo de la configuración del comerciante, se retorna al página web del comercio cuando la transacción es detectada o confirmada.
2. **API Gateway**: Disponible para pagos en línea y fuera de línea. El comerciante/proveedor de pagos recibe la información del pago de Bitnovo Pay y se muestra al usuario final.

### Redirect Gateway

También hay dos opciones para usar la pasarela en este modo:

1. **Indicando el símbolo de la criptomoneda**

El proceso comienza cuando el comerciante llama al endpoint de `currencies_list`. Para asegurarse que la moneda que desea mostrar esté disponible en este momento. Una vez confirmado, el comercio llama al endpoint de `orders_create`. Enviando el importe en divisa fiat, el símbolo de la criptomoneda, las URLs OK y KO y una descripción opcional para el pago. Luego, Bitnovo Pay responde con la URL de redirección y el comerciante traslada al usuario a la URL de redirección. Una vez que el usuario es redirigido, intentará realizar el pago en la pasarela Bitnovo Pay. Cuando el usuario finaliza el proceso de pago, es redirigido a la `URL OK` (URL de pagos exitoso) o a la `URL KO` (URL de pagos fallido) dependiendo del resultado.

2. **Sin indicar el símbolo de la criptomoneda**

El proceso comienza cuando el comerciante llama al endpoint de `orders_create`. Enviando el monto en fiat, las URLs OK y KO y una descripción opcional para el pago. Luego, Bitnovo Pay responde con la URL de redirección y el comerciante traslada al usuario a la URL de redirección. Una vez que el usuario es redirigido, intentará realizar el pago en la pasarela Bitnovo Pay. Cuando el usuario finaliza el proceso de pago, es redirigido a la `URL OK` (URL de pagos exitosos) o a la `URL KO` (URL de pagos fallidos) dependiendo del resultado.<br>

En ambos casos, el comerciante será notificado de los cambios de estado a través de `notify_merchant webhook`.<br>

### API Gateway

El proceso comienza cuando el comercio llama al endpoint `orders_create`. Enviando el monto en fiat, el símbolo de la criptomoneda (opcional) y una descripción si es necesario. Luego, Bitnovo responde con la información de pago.\
\
La información de pago debe ser mostrada al usuario por el comerciante, durante el proceso de pago Bitnovo informará al comerciante sobre las actualizaciones del estado del proceso a través de `notify_merchant webhook`.

### Estado de Pago Importante

<table><thead><tr><th width="118.33333333333331">Código</th><th width="209">Nombres</th><th>Descripción</th></tr></thead><tbody><tr><td><code>"AC"</code></td><td>"Awaiting Completion" + 'safe'= True</td><td>Para este estado de pago, debes verificar el parámetro 'safe'. Si <code>'safe' = true</code>, la cantidad de criptomoneda ha sido detectada en el mempool y se confirmará rápidamente. Esto ocurre solo con criptomonedas con tecnología UTXO como Bitcoin, si la tarifa de transacción es óptima y RBF (Replace by fee) no está activado. El comercio puede tomar este estado como "Completado" para un flujo más rápido.</td></tr><tr><td><code>"CO"</code></td><td>"Completed"</td><td>La cantidad de criptomoneda tiene al menos 1 confirmación en la cadena de bloques.</td></tr><tr><td><code>"OC"</code></td><td>"Out of Condition"</td><td>La cantidad de criptomoneda es insuficiente, por lo que el pago está incompleto. En este caso, el comerciante puede solicitar el resto del pago a través de Bitnovo Pay (u otro método) o realizar un reembolso. El comerciante debe revisar el parámetro <code>'received_amount'</code> para conocer la cantidad restante.</td></tr><tr><td><code>“RF”</code></td><td>“Refunded”</td><td>Una vez que el pago está <code>"Completed"</code> o <code>"Out of Condition"</code>, puede ser reembolsado a través de la API o el Panel de Control.</td></tr></tbody></table>

### Otros estados de pago

<table><thead><tr><th width="118.33333333333331">Código</th><th width="208">Nombre</th><th>Descripción</th></tr></thead><tbody><tr><td><code>"NR"</code></td><td>"Not Ready"</td><td>El pago aún no ha recibido un símbolo de criptomoneda. (Solo para Redirect Gateway).</td></tr><tr><td><code>"PE"</code></td><td>"Pending"</td><td>El pago está esperando recibir la cantidad de criptomoneda.</td></tr><tr><td><code>"AC"</code> </td><td>"Awaiting Completion" + 'safe'= False</td><td>Para este estado de pago, debes verificar el parámetro <code>'safe'</code>. Si <code>'safe' = false</code>, la cantidad de criptomoneda ha sido detectada en el mempool y debe esperar a ser confirmada. Esto sucede solo con criptomonedas UTXO como Bitcoin si la tarifa de transacción es inferior al mercado y/o RBF (Replace by fee) está activado. El comerciante/cliente debe esperar a que el pago se cambie a <code>"Completed"</code> después de la confirmación.</td></tr><tr><td><code>"IA"</code></td><td>"Insufficient Amount"</td><td>La cantidad de criptomoneda es menor a la requerida. El cliente aún tiene tiempo para pagar el resto y satisfacer la cantidad requerida.</td></tr><tr><td><code>"CA"</code></td><td>"Cancelled"</td><td>El pago expiró después de más de 24 horas o el cliente lo canceló.</td></tr><tr><td><code>"EX"</code></td><td>"Expired"</td><td>El pago no recibió ninguna criptomoneda durante el tiempo de vencimiento (15/60 minutos).</td></tr><tr><td><code>"FA"</code> </td><td>"Failed"</td><td>El pago ha fallado porque la transacción no se confirmó.</td></tr></tbody></table>

### Flujo de pago

Como comerciante, puedes implementar el siguiente flujo de pago:

<table><thead><tr><th width="565">Bitnovo Pay</th><th>Estado</th></tr></thead><tbody><tr><td>NR (Not Ready) / PE (Pending) / AC (Awaiting Completion) + safe=False</td><td><mark style="background-color:yellow;">Pending</mark></td></tr><tr><td>CO (Completed) / AC (Awaiting Completion) + safe=True</td><td><mark style="background-color:green;">Processing</mark></td></tr><tr><td>CA (Cancelled) / EX (Expired)</td><td><mark style="background-color:orange;">Cancelled</mark></td></tr><tr><td>FA (Failed) / OC (Out of Condition)</td><td><mark style="background-color:red;">Failed</mark></td></tr><tr><td>RF (Refunded)</td><td><mark style="background-color:blue;">Refunded</mark></td></tr></tbody></table>

Puedes encontrar la [documentación API](https://pos.bitnovo.com/redoc) para integrar Bitnovo Pay en cualquier plataforma. \ <br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bitnovo.gitbook.io/pay-es/bitnovo-pay/integraciones/integracion-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
