Skip to content

Callback

Callback - сервис для отправки системой Any.Money результата работы метода и сообщения о финализации статуса ордера на заданный url-адрес.

Для использования сервиса Callback необходимо передать в запросе выполнения метода ссылку на url-адрес (в параметре callback_url, если он предусмотрен во входящих аргументах). После завершения метода по переданному адресу будет отправлен запрос, содержащий результаты его работы и статус ордера.

Формирование callback-запроса

Сообщения от сервиса Callback формируются в виде запросов, имеющих следующие параметры:
- метод запроса - POST;
- в заголовках запрос обязательно содержит время создания запроса (x-utc-now-ms, в миллисекундах) и хэш-подпись x-signature, удостоверяющую его подлинность:

Пример заголовков callback-запроса:

x-signature
9a45aefaaab16f5414f533b238037a6ddb24c8c1160304a0fa7bd793a26f07a89368f8f103a1f404e9ba03290525b4 f7df9d59786177bc0fe5abb3d4deb4fcfe
x-utc-now-ms
1575228754418
x-merchant
1234

  • тело запроса передается в формате JSON, в нем будет размещен результат выполнения метода:
Пример ответа метода, включенного в callback-запрос:
{
  tp: invoice,
  lid: 135735,
  ref: T7f3RvtjZHxKOABY5aQVtOZeycPPUBDwDIQMSEvhr4GxwlLoy17mHEIshRhpMlrOyB09,
  tgt: null,
  rate: null,
  ctime: 1571402123375,
  ftime: 1575228754418,
  owner: 220,
  token: LSoUUp0KIdfCXrgBsBHMawlSXWS6H8iwz5ZbJP00lMhwMN1bdeTFiN5CQ5Rk8k1oSh9Q,
  status: fail,
  in_curr: USD,
  out_curr: USD,
  uaccount: null,
  userdata: {
  },
  in_amount: 11,
  externalid: in_862021412136317,
  out_amount: 11,
  orig_amount: 11,
  payway_name: perfect,
  renumeration: 0,
  in_fee_amount: 3,
  account_amount: 8,
  out_fee_amount: 3
}

Репрезентация callback-сообщения

Для ордеров большинства типов на заданный callback URL в callback-сообщении возвращается стандартная репрезентация параметров ордера системы Any.Money.

Для ордеров, пополняемых криптовалютой, в callback-сообщении возвращается сокращённая репрезентация параметров ордера.

Ожидание подтверждения получения, повторная отправка callback сообщений

После отправки callback-сообщения сервис ожидает получения ответа с HTTP-статусом 200 OK в течении пяти секунд.

Если за первые пять секунд ответ со статусом 200 OK не будет получен, то сервис Callback повторит отправку запроса еще только пять раз с такими интервалами:

  • вторая через 25 с после предыдущей;
  • третья - через 2 мин. 5 с;
  • четвертая - через 10 мин. 25 с;
  • пятая - через 52 мин. 5 с.

После каждого повтора сервис Callback будет ожидать ответ со статусом 200 OK.