Сообщение о результате оплаты

После успешной оплаты пользователем по указанной транзакции (списания средств с карты) система PAYMO отправляет в биллинг Поставщика услуг информацию об оплаты (POST запрос с телом в формате JSON).

Для интеграции Поставщик услуг предоставляет адрес, по которому необходимо отправлять запрос (callback endpoint). Приложение по указанному адресу должно принимать сообщения только с IP-адресов системы PAYMO (185.8.212.47, 185.8.212.48).

Для Поставщика услуг в системе PAYMO предоставляется api_key для проверки входящих сообщений.

В отправляемом сообщении направляются следующие поля:

  1. invoice - идентификатор оплаченного инвойса
  2. store_id - ID магазина
  3. transaction_id - ID транзакции
  4. transaction_time - время оплаты
  5. amount - сумма оплаты (в сумах)
  6. sign - подпись

Обязательным полем в каждом сообщении является подпись (sign). Она формируется путем взятия хеша MD5 от следующих полей в соответствующем порядке (без разделителей): store_id, transaction_id, invoice, amount, api_key.

Пример входящего сообщения:

{
   "store_id": 1,
   "transaction_id": 123,
   "transaction_time": "2018-06-13 22:14:20",
   "amount": 10000,
   "invoice": 123,
   "sign": "cf23df2207d99a74fbe169e3eba035e633b65d94",
}

Ответное сообщение от Поставщика услуг должно быть с HTTP-статусом 200, иначе списание средств с карты будет откатано. Текст ответного сообщения должен быть в формате JSON:

{
   "status": 1,
   "message": "Успешно"
}

При передаче статуса отличного от «1» система PAYMO откатит списание средств с карты и сообщит пользователю об ошибке, указанной в поле «message». Например:

{
   "status": 0,
   "message": "Инвойс с номером 123 отсутствует в системе"
}