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

Далее перейдите во вкладку "Seller Settings" и создайте, а затем укажите секретный ключ IPN - IPN secret ( он используется для проверки того, что вебхук приходит от нас). Используйте надёжную, сложную строку, которую трудно угадать
IPN link — это URL для вебхуков, добавьте следующее: https://chatter.salebot.pro/coinpayments_callback/result
Далее перейдите в раздел API Keys и сгенерируйте пару ключей для доступа к API.
Сохраните все настройки, скопируйте данные и перейдите в настройки в Mavibot. Откройте раздел "Acquiring", выберите Coinpayments.

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

Чтобы сформировать ссылку на оплату, необходимо задать значения нужных переменных:
original_currency
Исходная валюта транзакции.
sending_currency
Валюта, которую отправит клиент.
Например, если ваши товары стоят в USD, но вы получаете BTC, следует использовать original_currency = USD и sending_currency = BTC. original_currency и sending_currency могут иметь одинаковое значение, если конвертация валюты не требуется.
buyer_email
Адрес электронной почты клиента.
Чтобы отправлять уведомления, если оплата выполнена на меньшую сумму и нужно доплатить, или для возвратов. Если эта переменная не задана, почта будет автоматически взята из переменной email, если она есть у пользователя в Mavibot.
После этого нужно задать значение 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 - имя клиента
Вот как выглядит страница оплаты.
Как сформировать ссылку на оплату
Создать ссылку на оплату на сумму 0.0256

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

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

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

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