# INXY Payments

## Registro

Después de registrarse en el servicio <https://auth.inxy.io/>, vaya a Payment gateway API en el menú lateral izquierdo y complete los siguientes datos: nombre y descripción de la cartera e icono. El enlace a su sitio es opcional. Seleccione todas las criptomonedas que desea aceptar con una casilla de verificación y haga clic en Guardar cambios

<br>

<figure><img src="/files/1272a31555cf56b22368326e5a910697b66b3b1a" alt=""><figcaption></figcaption></figure>

Después de guardar, se abrirá la ventana con los datos de conexión. A continuación, genere una clave API pulsando el botón Generate (1) e introduzca el código enviado a su correo electrónico. Guarde la variable resultante en un lugar seguro. Copie la Secret Key generada en el mismo lugar. Las claves, en caso de pérdida, pueden regenerarse (en este caso, recuerde cambiar los datos en el proyecto). Introduzca la URL para webhooks <https://chatter.salebot.pro/inxy\\_callback/result> en el campo Postback URL (2).

<br>

<figure><img src="/files/23f50b377f918d3eb044f02417b380ef6ca13cd2" alt=""><figcaption></figcaption></figure>

## Configuración de la conexión

Luego vaya a Salebot — Sistemas de pago — INXY y pulse el botón Connect. Introduzca las claves API y Secret recibidas en los campos.

captura de pantalla de la conexión desde Salebot

## Generación del enlace de pago

Para generar el enlace de pago, introduzca el valor de la variable payment\_sum (p. ej.: 1); después de eso aparecerá la variable inxy\_pay\_url. Puede añadir esta variable en la pantalla como un enlace o ponerla en el botón Pay.

{% hint style="warning" %} <mark style="color:rojo;">**¡NOTA!**</mark> ¡El sistema funciona con USD! El importe de la variable payment\_sum se considera en USD en el sistema de pago INXY.
{% endhint %}

El enlace se ve así: <https://pay.inxy.io/sessions/umLf9cJWBRiaNwowGCE1><br>

Además, **antes de introducir el importe para la variable payment\_sum**, puede introducir lo siguiente **variables opcionales** para la configuración del pago\
**inxy\_currency** — criptomoneda que se utilizará para el pago. Puede introducir una de las criptomonedas disponibles que haya elegido con una casilla de verificación durante la generación de la clave API. Si se deja vacío, los usuarios elegirán la criptomoneda ellos mismos de la lista de las seleccionadas. Valores disponibles: ‘BTC’,‘ETH’,‘LTC’,‘DOGE’,‘USDT’,‘USDC’,‘DAI’

<figure><img src="/files/76cd9c13c0b0de4559d02866943c0a32989aa1c7" alt=""><figcaption></figcaption></figure>

**inxy\_description** – descripción del pago.

<figure><img src="/files/73cf7c8ade1d9fbaec354fd9d374b1d03a17f6c9" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %} <mark style="color:rojo;">**¡NOTA!**</mark> Primero introduce las variables opcionales para la configuración y luego payment\_sum.
{% endhint %}

Las variables pueden introducirse antes en la cadena, y no en un solo bloque. Mientras que la variable inxy\_pay\_url, que incluye el enlace, debe mostrarse en el lugar correcto. Este enlace abre el formulario de pago.

<figure><img src="/files/439ff1322e9a652a12c07a2de07878ca55f68c89" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %} <mark style="color:rojo;">**¡NOTA!**</mark> La línea Total amount muestra el valor en USD, que equivale a payment\_sum. La línea Total crypto amount de abajo muestra el valor en la criptomoneda elegida. Varía según el tipo de cambio actual. Esta es la cantidad que su cliente tiene que pagarle desde su cartera.
{% endhint %}

<figure><img src="/files/6a0443562e35cc0063f95d11d7c3002f6cf8f900" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %} <mark style="color:rojo;">**¡NOTA!**</mark> La dirección de la cartera para el pago durante una sola sesión queda reservada solo para el cliente durante 2 horas. Se recomienda al cliente asegurarse de que el tiempo no se haya agotado y de que la dirección de la cartera siga siendo válida cuando se realice el pago. Si el tiempo de la sesión se ha agotado, todo el proceso de pago deberá empezar de nuevo.
{% endhint %}

## Callback de pago

Después del pago exitoso, el bot recibirá un callback que le indicará que el pago se realizó correctamente. Usted ve este callback en el sistema como un mensaje del usuario, para que el usuario no pueda enviarlo. Los usuarios NO PUEDEN VER el callback, solo el operador puede verlo. INXY tiene varios tipos de callbacks:

1. Los callbacks de éxito constan de los primeros 10 símbolos del token seguidos de ‘success’, p. ej.: uc8zsjNN1x\_success

<figure><img src="/files/fab162501474b56d8e65b29bcadebf57c556336b" alt=""><figcaption></figcaption></figure>

Este callback se envía si el cliente pagó el importe total y no surgió ningún problema durante el pago. Junto con este callback se añadirán dos variables al proyecto: inxy\_payment\_completed igual a True; y **inxy\_payment\_status** con el valor pagado.

{% hint style="warning" %}
Durante el proceso, la **inxy\_payment\_status** variable cambia su valor. Después de que el usuario abra el formulario cambiará a waiting\_payment, durante el procesamiento del pago cambiará a waiting\_confirmation, y después del procesamiento exitoso tendrá el valor paid o partially\_paid.
{% endhint %}

Durante el procesamiento del callback, el tipo de comparación debe ser Full match. Por ejemplo: puede hacer el procesamiento del pago exitoso como un bloque con condición y mostrar un mensaje relevante al usuario:

<figure><img src="/files/84f4eb50cbb72e8dcd39b35629ed80809dea7998" alt=""><figcaption></figcaption></figure>

2\. A veces los tipos de cambio de las criptomonedas cambian o las carteras cobran una comisión adicional por las operaciones, de modo que el importe resultante que ha recibido no es completo. En tales casos, la variable inxy\_payment\_status tendrá el valor partially\_paid y el sistema recibirá un callback que se verá así:

\
En este caso tendrá que enviar al cliente un mensaje solicitando que cubra el importe faltante. Por ejemplo: puede establecer una condición para el inicio de su callback y, al recibirlo, enviar al cliente una URL pregenerada con un enlace de pago o puede establecer una condición para que el bloque se active cuando el valor de la variable inxy\_payment\_status sea **partially\_paid**.

<figure><img src="/files/eb830e23dbd001180b4de72a57099b3c18f5837b" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
¡Recuerde que el enlace de pago solo es válido durante 2 horas! Si el cliente no realiza el pago del importe faltante a tiempo, no se podrá abrir. Como INXY en esta etapa procesará el primer pago parcial, el dinero no se devolverá al cliente. Para devolverlo, deberá ir a su cuenta de INXY y realizar la operación de reembolso.
{% endhint %}

## Creación de suscripción

El sistema INXY permite a los usuarios crear suscripciones. Para ello, añada cualquier valor a **inxy\_subscription\_payment** la variable, y se creará una suscripción mensual. Si desea establecer un período diferente, utilice las siguientes variables: \
**inxy\_subscription\_interval** igual a ‘day’ — creará un intervalo de suscripción igual a días (el valor predeterminado es month)\
**inxy\_subscription\_period** — añada una variable igual de 1 a 30 para establecer el período. Ej.: para crear un pago de suscripción una vez cada 15 días, establezca inxy\_subscription\_interval =‘day’ e inxy\_subscription\_period=15, y para que el pago se realice dos veces al año establezca inxy\_subscription\_period=6 (ya que inxy\_subscription\_interval equivale a month por defecto)

<figure><img src="/files/b8710798660482156146b89228882fc56243baf4" alt=""><figcaption></figcaption></figure>

El enlace también abrirá el formulario de pago, pero será diferente: primero, en un lateral se mostrará que el pago es basado en suscripción con el período indicado; segundo, el formulario sugerirá al cliente añadir un depósito para varios pagos por adelantado.

{% hint style="warning" %}
**Especificidades de INXY**: Si el cliente paga х2 o х3 del importe, Salebot recibirá un mensaje sobre un importe único. El resto se depositará en el saldo del cliente y se utilizará para los próximos pagos. Como el tipo de cambio de la criptomoneda varía, al final este importe puede ser insuficiente para uno de los siguientes pagos, lo que dará lugar a una suscripción impagada. En tal caso, recibirá un callback que indicará ‘fail’ y podrá configurar un recordatorio para su cliente.
{% endhint %}

{% hint style="warning" %}
La suscripción no puede pagarse parcialmente. El saldo del cliente se comprueba antes del pago. Si no hay fondos suficientes, el pago no se realiza en absoluto.
{% endhint %}

<figure><img src="/files/80ff26a553c644b3dd76848a71e3202a084e8d06" alt=""><figcaption></figcaption></figure>

Después de la suscripción exitosa, las variables del cliente incluirán inxy\_subscribtion\_id (número de referencia) e inxy\_subscription\_status.

<figure><img src="/files/eefc868eb1f37051a92797fc09658c1b22443cc0" alt=""><figcaption></figcaption></figure>

## Cancelación de suscripción

Para cancelar una suscripción, use la siguiente función **inxy\_remove\_subscription(inxy\_subscription\_id)**. Introduzca el número de id de la suscripción como inxy\_subscribtion\_id en la función y la suscripción será cancelada.

<figure><img src="/files/359efd394eb62be91ee80089e85f2e43a01e1cae" alt=""><figcaption></figcaption></figure>

En caso de éxito recibirá un callback ‘Subscription status inxy\_subscription\_id - deleted’ y la variable inxy\_subscription\_status cambiará al valor correspondiente.

<figure><img src="/files/91254acc7f7b0ec70228af45a49e27839d12b667" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: 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://docs.mavibot.ai/doc/es/integrations/payment/inxy.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.
