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