- Как подключить
- Как сформировать ссылку на оплату
- Как обработать результат
- Как проверить статус платежа
Как подключить
Для подключения платежной системы Coinpayments вам понадобятся четыре значения: идентификатор продавца, IPN-секрет (для вебхуков), приватный ключ API и публичный ключ API. Также необходимо указать URL вебхука.
Перейдите в личный кабинет Coinpayments -> Настройки аккаунта https://www.coinpayments.net/index.php?cmd=acct_settings

На первой вкладке скопируйте идентификатор продавца (seller ID).
Затем перейдите на вкладку "Seller Settings" и создайте и введите IPN-секретный ключ - IPN secret (он используется для проверки, что вебхук пришел от нас). Используйте надежную, сложную строку, которую трудно угадать.
IPN-ссылка - это URL для вебхуков, добавьте следующий: https://chatter.salebot.pro/coinpayments\\_callback/result

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

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

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

Для формирования ссылки на оплату необходимо задать значения обязательных переменных:
После этого необходимо задать значение переменной payment_sum (например, 10 или 0.0055 (через точку!)), и сразу после этого появится переменная coinpayments_pay_url. Эту переменную можно отобразить в виде ссылки или разместить на кнопке с текстом "Оплатить". Ссылка выглядит так: https://www.coinpayments.net/index.php?cmd=checkout\\&id=CPFK5QZ3FKSNWHI75CO8M4BRVD\\&key=e7782d2ce24f7d03815606a5c4a882eb
Также перед заданием значения переменной payment_sum можно задать следующие необязательные переменные для настройки платежа.
payment_description - название товара будет отображаться на странице информации о платеже и в IPN для транзакции.
buyer_name - имя клиента
Вот как выглядит страница оплаты.

Как сформировать ссылку на оплату
Создайте ссылку на оплату на сумму 0.0256

Обратите внимание:
- Сначала укажите адрес электронной почты
- Затем необязательные параметры first_name, payment_description и т.д.
- В конце присвойте значение переменной payment_sum.
Обратите внимание, что мы сначала задаем переменные для настроек, затем payment_sum. Переменные могут быть заданы ранее в цепочке, а не в одном блоке, это пример.
Затем выводим переменную coinpayments_pay_url в нужном месте, которая содержит ссылку.

Для повторного платежа необходимо сбросить payment_sum, ранее сгенерированную ссылку, а затем снова присвоить значение переменной payment_sum, чтобы получить новую ссылку.
Как обработать результат
После успешного платежа в бот будут отправлены колбэки, которые сообщат, что платеж прошел успешно. Вы видите эти колбэки в системе как сообщения от пользователя. Чтобы пользователь не мог их отправить, они состоят из первых 10 символов секретного ключа и постскриптума _success, например: 16831CF4b5_success
Эти колбэки НЕ ВИДНЫ пользователю, они отображаются только оператору.
Тип сравнения должен быть "Полное совпадение"
Также после успешного платежа переменная coinpayments_payment_completed устанавливается в True.
Например, вы можете обработать успешный платеж в условном блоке и отобразить соответствующее сообщение пользователю:

После завершения платежа к клиенту будет добавлена переменная coinpayments_payment_callback, содержащая данные ответа платежной системы о выполненной транзакции. Вы можете извлечь необходимые данные из полученного словаря с помощью метода get.
Как проверить статус платежа
Для проверки статуса платежа используйте метод coinpayments_get_payment_status() в поле Калькулятор.
Пример:

Пример статуса:
Ожидание средств покупателя...
Средства получены и подтверждены, скоро будут отправлены вам...
Завершено