Сообщение о результате оплаты¶
После успешной оплаты пользователем по указанной транзакции (списания средств с карты) система PAYMO отправляет в биллинг Поставщика услуг информацию об оплаты (POST запрос с телом в формате JSON).
Для интеграции Поставщик услуг предоставляет адрес, по которому необходимо отправлять запрос (callback endpoint). Приложение по указанному адресу должно принимать сообщения только с IP-адресов системы PAYMO (185.8.212.47, 185.8.212.48).
Для Поставщика услуг в системе PAYMO предоставляется api_key
для проверки входящих сообщений.
В отправляемом сообщении направляются следующие поля:
invoice
- идентификатор оплаченного инвойса
store_id
- ID магазина
transaction_id
- ID транзакции
transaction_time
- время оплаты
amount
- сумма оплаты (в сумах)
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 отсутствует в системе"
}