# Coinpayments

* [Как подключить](#podklyuchenie) ссылка Как подключить
* [Как сформировать ссылку на оплату](#kak-sformirovat-ssylku-na-oplatu) ссылка Как сформировать ссылку на оплату
* [Как обработать результат](#obrabotka-rezultata) ссылка Как обработать результат
* [Как проверить статус платежа](#proverka-statusa-platezha) ссылка Как проверить статус платежа

## Как подключить

Чтобы подключить платёжную систему Coinpayments, вам понадобятся четыре значения: ID продавца, IPN secret (для вебхуков), приватный API-ключ и публичный API-ключ. Также нужно будет указать URL вебхука.

Перейдите в личный кабинет Coinpayments -> Account settings <https://www.coinpayments.net/index.php?cmd=acct_settings>

![](https://lh3.googleusercontent.com/xACTDovKtHxhj7vrWkS0u2TpAy_mK1VU7fR7k2KAD_6lL9OHyKsn4Np54iD4jb7Gjackry858WfaABz37i6tkfn5HZW94n4SKqDq3ooRToxaeXQPRbhvgnKG-KrAssSlHy2lrSSQ)

На первой вкладке скопируйте ID продавца. (**ID продавца**)

![](/files/206fd579143461e84fa5506fcefbbb06b0235342)

Далее перейдите во вкладку "Seller Settings" и создайте, а затем укажите секретный ключ IPN - **IPN secret** ( он используется для проверки того, что вебхук приходит от нас). Используйте надёжную, сложную строку, которую трудно угадать

IPN link — это URL для вебхуков, добавьте следующее: **<https://chatter.salebot.pro/coinpayments\\_callback/result>**

![](https://lh6.googleusercontent.com/K939LTpXmntuJKU1tTN6NTBgl2ziiQTG7okWMRAdOMMQa0K7LbH0X3l7FWmd74FPqY9NOOGl89tbK99fgCpFLva4NJ8VVZVwwGfaE9YYKQ5EOkkb72Qz3FO5jPisxWxrAX8Ac94p)

Далее перейдите в раздел API Keys и сгенерируйте пару ключей для доступа к API.

![](https://lh6.googleusercontent.com/4Y9V4YRgYAvMJNelxlO5bhynVt1er0a5F-QNnOitbBrWFfOLPwJpOM8BHKgMcXxlKzwE9rc32Coxo-iVB_kvGRrgf0XXEjSsop5Uic8CP-8ey8Ll7a_CkvB7D3tcpcEgUo0Dbz7N)

Сохраните все настройки, скопируйте данные и перейдите в настройки в Mavibot. Откройте раздел "Acquiring", выберите Coinpayments.

<figure><img src="/files/26a54c7387bc05a626f27869059b8a92100dd2ab" alt=""><figcaption></figcaption></figure>

Вам нужно ввести полученные данные.

<figure><img src="/files/666f32522800653799ddcce816fac70702fc6177" alt="" width="563"><figcaption></figcaption></figure>

Чтобы сформировать ссылку на оплату, необходимо задать значения нужных переменных:

<table><thead><tr><th width="201">Переменные</th><th width="228">Значение переменной</th><th>Примечание</th></tr></thead><tbody><tr><td> <strong>original_currency</strong> </td><td>Исходная валюта транзакции.</td><td></td></tr><tr><td><strong>sending_currency</strong></td><td>Валюта, которую отправит клиент.</td><td>Например, если ваши товары стоят в USD, но вы получаете BTC, следует использовать original_currency = USD и sending_currency = BTC. original_currency и sending_currency могут иметь одинаковое значение, если конвертация валюты не требуется.</td></tr><tr><td><strong>buyer_email</strong> </td><td>Адрес электронной почты клиента.</td><td>Чтобы отправлять уведомления, если оплата выполнена на меньшую сумму и нужно доплатить, или для возвратов. Если эта переменная не задана, почта будет автоматически взята из переменной email, если она есть у пользователя в Mavibot.</td></tr></tbody></table>

После этого нужно задать значение **payment\_sum** переменной (например, 10 или 0.0055 **(разделяя точкой!)),** и сразу после этого появится **coinpayments\_pay\_url** переменная. Эту переменную можно вывести ссылкой или разместить на кнопке с текстом "Pay". Ссылка выглядит так: **<https://www.coinpayments.net/index.php?cmd=checkout\\&id=CPFK5QZ3FKSNWHI75CO8M4BRVD\\&key=e7782d2ce24f7d03815606a5c4a882eb>**

Также перед установкой значения переменной payment\_sum можно задать следующие необязательные переменные для настройки платежа.

**payment\_description** - название товара будет на странице с информацией об оплате и в IPN по транзакции.

**buyer\_name** - имя клиента

Вот как выглядит страница оплаты.

![](https://lh3.googleusercontent.com/Yn1a6_JOW4wkj2SqNwkkJYMBZoh4JcR1HEinzP67O6WmYBcCV3IdRw_JCEQI0L7OV-8IuH_JdMEdOaduymc0vs5QAmpfcgrU0tFD9ZrT6V_B8vvQqe-sQcUDMsd9PJRa_uUsJAsX)

## Как сформировать ссылку на оплату

Создать ссылку на оплату на сумму 0.0256

<figure><img src="/files/cad07a103cf4a93e5502ab0adf01df3287f2af57" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="info" %}
**Обратите внимание:** \
\- Сначала укажите адрес электронной почты\
\- Далее необязательные параметры  **first\_name, payment\_description** и т. д.\
\- В конце присвойте значение **payment\_sum** переменную.
{% endhint %}

Обратите внимание, что сначала мы задаём переменные для настроек, затем **payment\_sum.** Переменные можно задавать раньше по цепочке, а не в одном блоке, это пример.

Далее выводим **coinpayments\_pay\_url** переменную в нужном месте, которая содержит ссылку

<figure><img src="/files/99422e258ab75f5c2d09fe6a17f9c0934c0b4814" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
Чтобы сделать повторный платёж, нужно сбросить payment\_sum, ранее сгенерированную ссылку, а затем снова присвоить переменной payment\_sum значение, чтобы получить новую ссылку.
{% endhint %}

## Как обработать результат

После успешной оплаты в бота будут отправлены callback-сообщения, по которым вы поймёте, что платёж прошёл успешно. Эти callback-сообщения вы видите в системе как сообщения от пользователя. Чтобы пользователь не мог отправить их самостоятельно, они состоят из первых 10 символов секретного ключа и постскриптума \_success, например: **16831CF4b5\_success**

{% hint style="success" %}
Эти callback-сообщения НЕ ВИДНЫ пользователю, они отображаются только оператору.
{% endhint %}

{% hint style="danger" %}
Тип сравнения должен быть "Полное совпадение"
{% endhint %}

Также после успешной оплаты переменная coinpayments\_payment\_completed устанавливается в True.

Например, вы можете обработать успешную оплату в условном блоке и показать пользователю соответствующее сообщение:

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

После завершения платежа переменная **coinpayments\_payment\_callback** переменная будет добавлена клиенту и будет содержать данные ответа платёжной системы по завершённой транзакции. Из результирующего словаря можно извлечь нужные данные с помощью **get** .

## Как проверить статус платежа

Чтобы проверить статус платежа, используйте **coinpayments\_get\_payment\_status()** метод в поле Calculator.

Пример:

<figure><img src="/files/519072e5111805d648e17dac9d1626af529df394" alt="" width="563"><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/ru/oplata/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.
