Coinpayments

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

Для подключения платежной системы Coinpayments понадобится 4 значения: идентификатор продавца, секрет IPN (для вебхуков), секретный ключ api и публичный ключ api, а также установить url для вебхуков.

Переходим в личный кабинет Coinpayments -> настройки Аккаунта https://www.coinpayments.net/index.php?cmd=acct_settings

На первой вкладке копируем идентификатор продавца (seller ID)

Далее переходим во вкладку Настройки продавца и придумываем и вводим секретный ключ IPN - IPN secret (Это используется для подтверждения, что вебхук исходит от нас, используйте надежную сложную строку, которую будет сложно угадать.)

Ссылка IPN - url адрес для вебхуков, добавить следующий: https://chatter.salebot.pro/coinpayments_callback/result

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

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

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

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

Переменные Значение переменнойПримечание

original_currency

Исходная валюта транзакции.

sending_currency

Валюта, которую отправит покупатель.

Например, если ваши продукты оценены в долларах США, но вы получаете BTC, вы должны использовать original_currency = USD и sending_currency = BTC. original_currency и sending_currency могут иметь одно значение, если конвертация валюты не требуется.

buyer_email

адрес электронной почты покупателя.

Для отправки уведомлений, если платеж на меньшую сумму и необходимо доплатить или для возвратов. Если эта переменная не задана, почта будет взята автоматически из переменной email, если такая есть у пользователя в salebot.

После этого нужно установить значение переменной 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

Обратите внимание: - Сначала указываете email - Далее необязательные параметры 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()

Пример:

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

Waiting for buyer funds...

Funds received and confirmed sending to you shortly…

Complete

Last updated