Проверка статуса платежа по мобильной коммерции

Для проверки нужно отправить запрос на https://api.1payment.com/status_payment
со следующими парметрами:

см. формат запросов к API

  • partner_id - 1234 (ID партнера)
  • order_id - 8p3brmb19gfg0sg8gcwhws8kgc748s87 (id платежа полученного при инициации)
  • user_data - 12345 (id платежа на стороне партнера, используется, если не указан параметр order_id)
  • sign - (подпись)


пример:

https://api.1payment.com/status_payment?partner_id=1234&order_id=8p3brmb19gfg0sg8gcwhws8kgc748s87&sign=d724e1e6453a43397bb2aa6d6be9cc06


Подпись (sign) рассчитывается так: md5 от строки "status_payment + конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем & + API Key" (кроме параметра sing)

Для запроса выше строка, от которой будет браться md5, имеет вид:

status_paymentorder_id=8p3brmb19gfg0sg8gcwhws8kgc748s87&partner_id=1234[API_Key]


В ответ система выдаст в JSON, где:

  • payment_type - mc, тип платежа (см типы платежей)
  • project_id - ID проекта
  • order_id - ID платежа из запроса
  • user_data - идентификатор, переданный при создании платежа
  • status - состояние платежа (2 - ожидание подтверждения платежа, 3 - успешная оплата, 4 - отказ в платеже)
  • status_description - текстовое описание статуса (PENDING, SUCCESS, FAILURE, соответственно)
  • init_time - время создания платежа
  • status_time - время получения статуса
  • merchant_price - сумма платежа
  • user_price - отчисления партнера
  • currency - валюта платежа (трехбуквенный код ISO 4217 )
  • account - номер телефона
  • status_code - поле будет содержать код ошибки (если это возможно) в случае отказа в платеже