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

Contents

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

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

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

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

*ok*

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

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

Колбэк будет выполняться на тот же адрес и с теми же GET-параметрами, которые были указаны при его регистрации, но к нему будут добавлены GET-параметры с информацией о платеже.

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

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

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

http://example.com/callback?invoice_id=1234&secret=7j0ap91o99cxj8k9&value=100000000&input_address=1E2VSRsaW3Kb1gDkdRUGDo6knAKfi9iYsb&confirmations=1&transaction_hash=0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098&input_transaction_hash=4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b&destination_address=1LisLsZd3bx8U1NYzpNHqpo8Q6UCXKMJ4z&value_forwarded=99979800
Параметры и переменные

Ссылка URL на страницу обработки платежей с дополнительными GET-параметрами

Параметры Аргумент Требование Поэкспериментируйте со значениями
URL
<1024 символа
Ссылка на страницу колбэка
Ссылка URL на страницу обработки платежей с дополнительными GET-параметрами
Обязательное поле
{value}
целое число, диапазон 1-10^16

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

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

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

Обязательное поле
{transaction_hash}
текст, 64 символа
Хэш транзакции
Хэш транзакции перевода средств на кошелек магазина.
Появится только после форвардинга платежа
{input_transaction_hash}
текст, 64 символа

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

Обязательное поле
{destination_address}
base58, 32 символа
Адрес получателя
биткоин-адрес интернет-магазина, на который произведен форвардинг платежа
Появится только после форвардинга платежа
{value_forwarded}
целое число, диапазон 1-10^16
Доставленная сумма в Сатоши
Доставленная, на адрес получателя, сумма в Сатоши за вычетом комиссии блокчейн сети и сервиса (1 BTC = 100 000 000 Сатоши). Убедитесь, что вы все правильно обрабатываете на стороне магазина и, если нужно, разделите эту сумму на 100 000 000, чтобы получить результат в биткоинах.
Появится только после форвардинга платежа  
  Сбросить значения Проверить колбэк
Результат выполнения:
*ok*

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

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

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

Мы настоятельно рекомендуем не завершать и не отдавать заказ при неподтвержденной транзакции, поскольку отправитель может создать новую транзакцию с большей комиссией сети, но на другой кошелек. И есть вероятность, что новая транзакция подтвердится, а изначальная транзакция будет отвергнута сетью. Поэтому при нулевом колбэке отметьте, что вы увидели платеж и ждете его подтверждения.

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