# 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 (для вебхуків), приватний API-ключ і публічний API-ключ, а також потрібно вказати webhook URL.&#x20;

Перейдіть в обліковий запис Coinpayments -> Settings&#x20;

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

![](/files/0a37b073e5378a0ca7a434ebdf450e952b51f3bf)

На першій вкладці скопіюйте seller ID **(seller ID)**

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

**Link IPN** - адреса url для вебхуків, додайте наступне: <https://chatter.salebot.pro/coinpayments_callback/result>

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

![](/files/ec03c745dfecfc763b97a1a1a5e37964c708813a)

**Зберегти** усі налаштування, скопіюйте дані та перейдіть до налаштувань у Salebot. Відкрийте розділ платіжних систем, виберіть **Coinpayments**.

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

Нам потрібно ввести дані.

![](/files/1b687589717dedb2b6edfa4a8bdb6841a0fcb2b2)

Щоб згенерувати посилання на оплату, потрібно встановити значення необхідних змінних: **original\_currency** - Початкова валюта транзакції. **sending\_currency** - Валюта, надіслана покупцем. Наприклад, якщо ваші товари мають ціну в USD, але ви отримуєте BTC, слід використовувати original\_currency = USD і sending\_currency = BTC. original\_currency та sending\_currency можуть мати однакове значення, якщо конвертація валюти не потрібна.

**buyer\_email** це адреса електронної пошти покупця. Для надсилання сповіщень, якщо оплата менша і потрібно доплатити, або для повернень. Якщо цю змінну не вказано, пошта буде автоматично взята зі змінної email, якщо вона є у користувача в salebot.&#x20;

Після цього слід встановити значення **payment\_sum** змінної (наприклад, 10 або 0.0055 (**через крапку!**)), одразу після цього з'явиться **paycoinments\_pay\_url** змінна. Цю змінну можна відобразити як посилання або розмістити на кнопці з текстом "Pay". Посилання таке: **<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/3579ff9c827f21e48fb5fad6a31176157cf3926d)

{% hint style="info" %}
Зверніть увагу:

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

Зверніть увагу, спочатку ми встановлюємо змінні для налаштувань, потім payment\_sum. Ви можете визначати змінні раніше в ланцюжку, не в одному блоці, це приклад.&#x20;

Далі, у потрібному місці, виведіть змінну **coinpayments\_pay\_url** яка містить посилання

&#x20;                                              ![](/files/300e5690427eb4246b717802f4728552dfef1b18)

{% 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/dfe0b8bcae7b78abf768c323fe2bc16fedb9b96e)

Після завершення оплати, **coinpayments\_payment\_callback** змінна буде додана до клієнта, що містить дані відповіді платіжної системи для завершеної транзакції. Ви можете витягнути необхідні дані зі словника за допомогою **get** методу.

## Як перевірити статус платежу&#x20;

Щоб перевірити статус оплати, потрібно викликати **coinpayments\_get\_payment\_status()** у полі Calculator&#x20;

Приклад:

&#x20;                                           ![](/files/7f071ebdc53ea9788f1ce0301990e02335682cf5)

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

Приклади статусів:

*Очікування надходження коштів від покупця...*&#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/uk/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.
