Перейти к основному содержимому
Машинный перевод

Эта страница использует машинный перевод. При любых несоответствиях обращайтесь к английской документации.

Колбэки

Crypto2B может генерировать уведомления для системы клиента с информацией об операциях (например, пополнения, выводы, сервисные операции, проверки адресов). Для этого используются колбэки.

Настройка​

Если клиент хочет использовать механизм колбэков для отслеживания статуса обработки операций, необходимо настроить URL колбэка в личном кабинете.

Затем, обрабатывая криптоплатежи, Crypto2B будет отправлять на этот URL уведомления в формате JSON со всей необходимой информацией о транзакции.

Содержимое колбэка​

Колбэки Crypto2B содержат всю важную информацию о транзакции:

  • тип операции
  • статус обработки
  • валюта
  • адрес
  • сумма
  • хеш транзакции в блокчейне
  • количество подтверждений
  • комиссия

и так далее

Примеры колбэков​

Пополнение​

{
"data": {
"type": "Deposit",
"id": 123456,
"status": "Success",
"date": "2024-01-15T10:30:00Z",
"clientDepositId": "client-deposit-001",
"error": null,
"instrument": {
"currencyShortName": "USDT",
"transportProtocol": "trc20"
},
"address": {
"address": "TExampleDepositAddress1234567890abc",
"tag": null,
"foreignId": "user-12345",
"senderAddress": "TExampleSenderAddress0987654321xyz"
},
"transaction": {
"approach": "FullProcessing",
"hash": "abc123def456abc123def456abc123def456abc123def456abc123def456abcd",
"amount": 1000.50,
"confirmations": 21,
"amlRiskGrade": "Low"
},
"fees": [
{
"type": "Commercial",
"currencyShortName": "USDT",
"transportProtocol": "trc20",
"amount": 5.00
}
]
}
}

Вывод​

{
"data": {
"type": "Withdrawal",
"id": 789012,
"status": "Success",
"date": "2024-01-15T14:45:00Z",
"paymentOrderId": "withdrawal-order-001",
"foreignId": "user-withdrawal-789",
"error": null,
"instrument": {
"currencyShortName": "BTC",
"transportProtocol": "btc"
},
"address": {
"address": "bc1qexamplewithdrawaladdress000000000000000",
"tag": null
},
"transaction": {
"approach": "FullProcessing",
"hash": "00000000000000000000abcdef1234567890abcdef1234567890abcdef123456",
"amount": 0.05,
"confirmations": 6,
"amlRiskGrade": null
},
"fees": [
{
"type": "Commercial",
"currencyShortName": "BTC",
"transportProtocol": "btc",
"amount": 0.0001
},
{
"type": "Technical",
"currencyShortName": "BTC",
"transportProtocol": "btc",
"amount": 0.00005
}
]
}
}

Сервисная операция​

{
"data": {
"type": "Service",
"id": 345678,
"soType": "Common",
"status": "Success",
"date": "2024-01-15T16:00:00Z",
"error": null,
"instrument": {
"currencyShortName": "ETH",
"transportProtocol": "erc20"
},
"sender": "0x0000000000000000000000000000000000000001",
"recipient": "0x0000000000000000000000000000000000000002",
"transaction": {
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"amount": 2.5,
"confirmations": 35
},
"technicalFee": {
"currencyShortName": "ETH",
"transportProtocol": "erc20",
"amount": 0.002
}
}
}
примечание

Значение technicalFee.amount может быть отрицательным. Это происходит для сервисной операции типа UnlockedBalance, когда техническая комиссия возвращается на баланс клиента. В этих случаях отрицательную сумму следует рассматривать как пополнение баланса, а не как списание.

Проверка адреса​

{
"data": {
"type": "AddressCheck",
"checkId": "550e8400-e29b-41d4-a716-446655440000",
"address": "TJYeasypBnB2x5hLTpYPQZ6YR9ZL3hLj6b",
"status": "Completed",
"amlRiskGrade": "Low",
"description": "Exchange wallet",
"currency": "USDT",
"protocol": "Tron",
"feeAmount": 0.5,
"feeCurrencyShortName": "USDT",
"timestamp": "2024-01-15T10:30:00Z",
"errorCode": null,
"errorMessage": null
}
}

Описание полей​

ПолеОписание
typeТип операции: Deposit, Withdrawal, Service, AddressCheck
idУникальный идентификатор операции в системе
statusСтатус обработки операции
dateДата и время операции (ISO 8601)
instrumentИнформация о валюте и протоколе
addressАдрес транзакции и дополнительные параметры
transactionДетали транзакции в блокчейне
feesМассив комиссий (коммерческая, техническая)
errorСообщение об ошибке (если есть)

Поля, специфичные для пополнений​

ПолеОписание
clientDepositIdID пополнения в системе клиента
address.foreignIdВнешний идентификатор пользователя
address.senderAddressАдрес отправителя

Поля, специфичные для выводов​

ПолеОписание
paymentOrderIdID платежного поручения
foreignIdВнешний идентификатор операции

Поля, специфичные для сервисных операций​

ПолеОписание
soTypeТип сервисной операции (например, Common)
senderАдрес отправителя
recipientАдрес получателя
technicalFeeТехническая комиссия за операцию

Некоторые типы сервисных операций изменяют баланс клиента: сумма изменения передаётся в transaction.amount или technicalFee.amount (см. Сервисные операции).

Поля колбэка проверки адреса​

Колбэк проверки адреса не содержит общих полей id, date, instrument, address, transaction и fees. Его структура описана в разделе Проверка адреса.

Важное замечание​

Дедупликация

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