Создание платежа через GATE
Для инициации платежа по P2P нужно передать запрос на https://api.1payment.com/init_payment
со следующими параметрами:
partner_id
- 1234 (ID партнера)payment_type
- p2pproject_id
- 5678 (ID проекта)amount
- 50 (сумма в валюте проекта)account
- идентификатор плательщика на стороне партнераemail
- электронная почта плательщикаp2p_type
- выбор цели перевода: sbp, card (опционально, уточняйте у менеджера)phone
- номер телефона (опционально, уточняйте у менеджера)first_name
- имя плательщика (опционально, уточняйте у менеджера)last_name
- фамилия плательщика (опционально, уточняйте у менеджера)description
- описание платежа (опционально, уточняйте у менеджера)user_data
- уникальное значение, например, идентификатор платежа на стороне партнераsign
- (подпись)
Пример:
https://api.1payment.com/init_payment?partner_id=1234&payment_type=p2p&project_id=5678&amount=50&account=abcd&description=test_payment&email=test@email.com&phone=31415926&first_name=john&last_name=doe&sign=d724e1e6453a43397bb2aa6d6be9cc06
Подпись
(sign)
рассчитывается так: md5 от строки "init_payment + конкатенация всех
параметров = значение в алфавитном порядке по возрастанию с разделителем
& + секретный API Key" (кроме параметра sign)
Для запроса выше строка, от которой будет браться md5, имеет вид:
init_paymentaccount=abcd&amount=50&description=test_payment&email=test@email.com&first_name=john&last_name=doe&partner_id=1&payment_type=upi&phone=31415926&project_id=5678[API_Key]
В ответ система выдаст в JSON:
{"order_id":"8p3brmb19gfg0sg8gcwhws8kgc748s87","status":2,"status_description":"PENDING","status_code":0,"target":{"account_number":"123","name":"Name","bank_name":"Bank name","pan":"pan","phone":"phone"}}}
Где:
order_id
- Это id этого платежа, по нему можно будет узнать статусstatus
- состояние платежаstatus_description
- текстовое описание статусаstatus_code
- поле будет содержать код ошибки (если это возможно) в случае отказа в платежеtarget
- Объект, содержащий информацию о цели для перевода средств. Ниже представлены параметры, которые могут присутствовать в данном объекте:account_number
-Номер банковского счетаbank_name
- Наименование банкаname
- Имя получателяpan
- Номер банковской картыphone
- Номер телефона
После получения статуса по оплате на ваш notify_url, указанный в настройках проекта, будет отправлено уведомление. Формат уведомления POST JSON со следующими параметрами:
payment_type
- тип платежа (см. таблицу типы платежей)order_id
- идентификатор платежаproject_id
- ID проекта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
- поле будет содержать код ошибки (если это возможно) в случае отказа в платеже (опционально)user_data
- идентификатор, переданный при создании формыtest
- присутствует в случае тестирования, принимает значение 1