Обработка колбэка

V 2.0

Contents

Как только наш сервер обнаруживает транзакцию, мы делаем уведомление Интернет-магазину на указанную ссылку. Вам потребуется написать страницу обработки платежей в своём магазине, чтобы получать от нас информацию об оплатах и завершать заказы клиентов.

Наш сервис делает уведомления, начиная с 0 (не подтверждённая транзакция) до 6 подтверждений в биткоин-сети. Всего максимально вы можете получить 7 колбэков на каждую транзакцию.

После 1 подтверждения в сети, Биткоины будут мгновенно переведены на указанный адрес магазина, а в колбэке появятся поля хэш-транзакции и адрес получателя.

Чтобы подтвердить успешную обработку нашего колбэка, Интернет-магазин должен ответить текстовым сообщением:

*ok*

После того, как мы получили *ok*, мы перестаём делать уведомления по этой транзакции.

В случае, если ответ от вашего сервера не был получен или не был верным, наш колбэк-сервер будет делать новые попытки с выходом каждого блока в течение последующих трёх дней.

Разница между колбэком v1 и v2 заключается в типе HTTP-метода (GET/POST) и в построении параметров в JSON. Если Вы используете процессинг v2, то следует использовать обработку колбэка v2!

В этой версии колбэк всегда отправляет POST запрос на на указанный URL-адрес и содержит сведения об оплате и/или о форвардинге платежа.

Cloud Flare callbackПожалуйста, добавьте наш домен и/или IP адрес в белый список Cloudflare.
Иначе, мы не можем гарантировать доставку уведомлений о платежах.

Обязательно указывайте схему HTTP и HTTPS в URL-адресе для колбэка. Мы также поддерживаем колбэки в TOR сеть.TOR project logo сеть.

Параметры и переменные

В следующей таблице перечислены все POST-параметры, которые будут отправлены в запросе на сервер:

Параметры Описание Требование Поэкспериментируйте со значениями
{data} Массив пользовательских параметров для платежа Опциональное поле  
{value}
целое число, диапазон 1-10^16

Сумма в сатоши
Сумма, которую оплатил клиент в сатоши (1 биткоин = 100 000 000 сатоши). Убедитесь, что вы все правильно обрабатываете на стороне магазина и, если нужно, разделите эту сумму на 100 000 000, чтобы получить результат в биткоинах.

Обязательное поле
{input_address}
string, 32 символа
Адрес для оплаты
Сгенерированный биткойн-адрес, на который клиент должен отправлять платеж.
Обязательное поле
количество подтверждений
целое число, диапазон 0-1000

Количество подтверждений
Число принятых подтверждений в сети. Диапазон 0-6.

Обязательное поле
{input_transaction_hash}
строка, 32 символа

Хэш входной транзакции
Хэш транзакции клиента.

Обязательное поле
  Сбросить значения Проверить колбэк
Результат выполнения:
*ok*

Это неверный ответ сервера. Правильный ответ на колбэк должен быть в текстовом формате без каких-либо тэгов или посторонних символов. Правильный ответ: *ok*

Спасибо. Вы сделали всё правильно!
Пример колбэка

Следующий блок показывает пример колбэка:

{
  "data": 
  {
      "invoice_id": 1234,
      "secret": "7j0ap91o99cxj8k9"
  },
  "input_address": "1E2VSRsaW3Kb1gDkdRUGDo6knAKfi9iYsb",
  "confirmations": 1,
  "input_transaction_hash": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
  "value" : 100000000
}

Пример кода обработки колбэка

Если вы принимаете большие суммы, то пожалуйста, не завершайте оплату заказа по нулевому подтверждению. Потому что отправитель может создать вторую транзакцию на другой адрес, но с большей комиссией, а сеть подтвердит её. Завершайте заказ только после 1-3 подтверждений сети.

Завершайте заказ или пополнение баланса клиентских аккаунтов только при подтвержденной транзакции, с рекомендуемыми тремя подтверждениями сети. В этом случае вы будете уверены, что платеж поступит к вам. Второй пример на языке PHP демонстрирует это.