# Coinpayments

* [Как подключить ](#how-to-connect)
* [Как создать ссылку на оплату ](#how-to-create-a-link-to-payment)
* [Как обработать результат ](#how-to-process-the-result)
* [Как проверить статус платежа](#how-to-check-the-payment-status)

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

Чтобы подключить платежную систему Coinpayments, понадобятся 4 значения: seller ID, IPN secret (для вебхуков), private api key и public api key, а также нужно указать webhook url.&#x20;

Перейдите в аккаунт Coinpayments -> Settings&#x20;

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

![](/files/489671db12ac08e694442d97c49fb7885b1bcf1a)

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

Затем перейдите на вкладку Settings продавца и придумайте и введите секретный ключ IPN — IPN secret (он используется для подтверждения того, что вебхук приходит от нас; используйте надежную сложную строку, которую будет трудно угадать.)&#x20;

**Link IPN** — адрес url для вебхуков, добавьте следующее: <https://chatter.salebot.pro/coinpayments_callback/result>

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

![](/files/3bf7453aa4e01165bbeeace0b9cc89d3a2d25c0f)

**Сохранить** все настройки, скопируйте данные и перейдите в настройки в Salebot. Откройте раздел платежных систем, выберите **Coinpayments**.

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

Нам нужно ввести данные.

![](/files/5973d1a2e350c9f2e0f030640e1df61e96e1929e)

Чтобы сгенерировать ссылку на оплату, нужно задать значение необходимых переменных: **original\_currency** — Исходная валюта транзакции. **sending\_currency** — Валюта, отправляемая покупателем. Например, если ваши товары указаны в USD, но вы получаете BTC, следует использовать original\_currency = USD и sending\_currency = BTC. original\_currency и sending\_currency могут иметь одинаковое значение, если конвертация валюты не требуется.

**buyer\_email** — это email-адрес покупателя. Для отправки уведомлений, если платежа недостаточно и нужно доплатить, или для возвратов. Если эта переменная не указана, почта будет взята автоматически из переменной email, если у пользователя она есть в salebot.&#x20;

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

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

**payment\_description** — название товара, будет на странице с информацией об оплате и в IPN для транзакции.&#x20;

**buyer\_name** - имя покупателя&#x20;

## Как создать ссылку на оплату&#x20;

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

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

{% hint style="info" %}
Обратите внимание:

* Сначала укажите email
* Далее необязательные параметры **first\_name, payment\_description**, и т. д.
* И в последнюю очередь задайте значение **payment\_sum** variable
  {% endhint %}

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

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

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

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

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

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

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

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

Также после успешной оплаты переменная coinpayments\_payment\_completed устанавливается в true&#x20;

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

&#x20;

![](/files/04a8ddf61673e91cdbb923d0fe98943481ffdb09)

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

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

Чтобы проверить статус оплаты, нужно вызвать **coinpayments\_get\_payment\_status()** в поле Calculator&#x20;

Пример:

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

&#x20;                                          ![](/files/4c2e9e40dacef96d3fd5e4a83727d4d492df5a1e)

Примеры статусов:

*Ожидание средств от покупателя...*&#x20;

*Средства получены и подтверждены, вскоре отправим вам…*&#x20;

*Завершено*&#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/ru/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.
