Проверка статуса платежа по мобильной коммерции
Для проверки нужно отправить запрос на https://api.1payment.com/status_payment
со следующими параметрами:
partner_id
- 1234 (ID партнера)project_id
- 5678 (ID преокта)order_id
- 8p3brmb19gfg0sg8gcwhws8kgc748s87 (id платежа полученного при инициации)user_data
- 12345 (id платежа на стороне партнера, используется, если не указан параметрorder_id
)sign
- (подпись)
пример:
https://api.1payment.com/status_payment?partner_id=1234&project_id=5678&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
- стоимость для плательщикаinit_price
- сумма при инициацииuser_price
- отчисления партнераcurrency
- валюта платежа (трехбуквенный код ISO 4217 )account
- номер телефонаstatus_code
- поле будет содержать код ошибки (если это возможно) в случае отказа в платеже