# Coinpayments

* [Cómo conectar ](#how-to-connect)
* [Cómo crear un enlace de pago ](#how-to-create-a-link-to-payment)
* [Cómo procesar el resultado ](#how-to-process-the-result)
* [Cómo comprobar el estado del pago](#how-to-check-the-payment-status)

## Cómo conectar&#x20;

Para conectar el sistema de pago Coinpayments se necesitarán 4 valores: ID del vendedor, secreto IPN (para webhooks), clave API privada y clave API pública, así como configurar la URL del webhook.&#x20;

Ve a la cuenta de Coinpayments -> Configuración&#x20;

<https://ww.coinpayments.net/index.php?cmd=acct_settings>

![](/files/6981b986d4af0d1296da729ee22d2fceb2d53a10)

En la primera pestaña, copia el ID del vendedor **(ID del vendedor)**

Luego ve a la pestaña Configuración del vendedor y crea e introduce la clave secreta IPN - secreto IPN (Esto se usa para confirmar que el webhook proviene de nosotros; usa una cadena compleja y fiable que sea difícil de adivinar.)&#x20;

**Vincular IPN** - dirección URL para webhooks, añade lo siguiente: <https://chatter.salebot.pro/coinpayments_callback/result>

Luego ve a la **Claves API** sección y genera un par de claves para acceder a la API.

![](/files/251738c9770cef00a6d624c4f2721e656fbf33c5)

**Guardar** todas las configuraciones, copia los datos y ve a la configuración en Salebot. Abre la sección de sistemas de pago, selecciona **Coinpayments**.

&#x20;                                            ![](/files/1c520563de8755c1c51c2441a994b48f001e4bcb)

Necesitamos introducir los datos.

![](/files/eba76ca8152f7c326c3f7452c5bc614e313cb12f)

Para generar un enlace de pago, debes establecer el valor de las variables requeridas: **original\_currency** - Moneda original de la transacción. **sending\_currency** - Moneda enviada por el comprador. Por ejemplo, si tus productos tienen precios en USD pero recibes BTC, debes usar original\_currency = USD y sending\_currency = BTC. original\_currency y sending\_currency pueden tener el mismo valor si no se requiere conversión de moneda.

**buyer\_email** es la dirección de correo electrónico del comprador. Para enviar notificaciones si el pago es inferior y necesitas pagar un extra o para devoluciones. Si esta variable no se especifica, el correo se tomará automáticamente de la variable email, si el usuario tiene una en salebot.&#x20;

Después de eso, debes establecer el valor de la **payment\_sum** variable (por ejemplo, 10 o 0.0055 (**¡usando un punto!**)), inmediatamente después de eso la **paycoinments\_pay\_url** variable aparecerá. Esta variable puede mostrarse con un enlace o colocarse en el botón con el texto "Pagar". El enlace es: **<https://www.coinpayments.net/index.php?cmd=checkout\\&id=CPFK5QZ3FKSNWHI75CO8M4BRVkey\\&e7782d2ce24f7d03815606a5c4a882eb>**

Además, antes de establecer el valor payment\_sum, puedes especificar las siguientes variables opcionales para configurar el pago.&#x20;

**payment\_description** - el nombre del producto, estará en la página de información del pago y en el IPN de la transacción.&#x20;

**buyer\_name** - el nombre del comprador&#x20;

## Cómo crear un enlace de pago&#x20;

Crear un enlace para el pago de 0.44444

&#x20;                                ![](/files/0f4d7cc62593f5e45040433f76a16547b157f4fc)

{% hint style="info" %}
Tenga en cuenta:

* Primero especifica el correo electrónico
* Siguientes parámetros opcionales **first\_name, payment\_description**, etc.
* Y por último, asigna el valor de la **payment\_sum** variable
  {% endhint %}

Nota: primero establecemos las variables para la configuración, luego payment\_sum. Puedes definir variables antes en una cadena, no en un solo bloque, este es un ejemplo.&#x20;

Luego, en el lugar adecuado, imprime la variable **coinpayments\_pay\_url** que contiene el enlace

&#x20;                                              ![](/files/b0b7dbd3aa9f40e09f25f5356d0e0194fc695b64)

{% hint style="warning" %}
Para realizar un pago repetido, debe restablecer payment\_sum, el enlace generado previamente, y después de restablecer la variable payment\_sum obtener un nuevo enlace
{% endhint %}

## Cómo procesar el resultado&#x20;

Después de un pago exitoso en el bot llegarán callbacks, con los que podrás entender que hubo un pago exitoso. Estos callbacks en el sistema se ven como mensajes del usuario, por lo que para que no puedan ser enviados por el usuario, consisten en los primeros 10 caracteres de la clave secreta y la notación \_success, por ejemplo: 16831CF4b5\_success

{% hint style="success" %}
Estos callbacks NO LOS VE el usuario, se muestran solo al operador.
{% endhint %}

{% hint style="danger" %}
El tipo de comparación debe ser "Coincidencia exacta"
{% endhint %}

Además, después de un pago exitoso, la variable coinpayments\_payment\_completed se establece en true&#x20;

Por ejemplo, puedes hacer un bloque de procesamiento de pago exitoso con una condición e imprimir el mensaje correspondiente al usuario:

&#x20;

![](/files/16262b122045dd84823ab2b4f3b6111d4191db67)

Al completarse el pago, un **coinpayments\_payment\_callback** variable se añadirá al cliente, conteniendo los datos de respuesta del sistema de pago para la transacción completada. Puedes extraer los datos necesarios del diccionario usando la **get** .

## Cómo comprobar el estado del pago&#x20;

Para comprobar el estado del pago, debes llamar a **coinpayments\_get\_payment\_status()** en el campo Calculadora&#x20;

Ejemplo:

&#x20;                                           ![](/files/b52b3d09af82356af0e897bafb25b78a96d5c679)

&#x20;                                          ![](/files/46eb242e766b17ac97f62cbc1bc2f83b52883e9f)

Ejemplos de los estados:

*Esperando los fondos del comprador...*&#x20;

*Fondos recibidos y confirmación de envío en breve…*&#x20;

*Completado*&#x20;


---

# 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/coinpayments.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.
