Создание платежа через GATE
Для инициации платежа по СБП нужно передать запрос на https://api.1payment.com/init_payment
со следующими параметрами:
- partner_id- 1234 (ID партнера)
- payment_type- upi
- project_id- 5678 (ID проекта)
- amount- 50 (сумма в валюте проекта)
- email- электронная почта плательщика
- phone- номер телефона
- first_name- имя плательщика
- last_name- фамилия плательщика
- description- описание платежа (опционально)
- user_data- уникальное значение, например, идентификатор платежа на стороне партнера
- sign- (подпись)
Пример:
https://api.1payment.com/init_payment?partner_id=1234&payment_type=upi&project_id=5678&amount=50&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_paymentamount=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,"redirect_url":"https:\/\/url.ru\/XXX"}Где:
- order_id- Это id этого платежа, по нему можно будет узнать статус
- status- состояние платежа
- status_description- текстовое описание статуса
- status_code- поле будет содержать код ошибки (если это возможно) в случае отказа в платеже
- redirect_url- Url который необходимо предоставить плательщику для продолжения оплаты. Желательно отображать его в виде qr кода, чтобы была возможность отсканировать с телефона и сразу перейти в мобильный банк.
После получения статуса по оплате на ваш 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- сумма платежа
- user_price- отчисления партнера
- currency- валюта платежа (трехбуквенный код ISO 4217 )
- account- upi
- status_code- поле будет содержать код ошибки (если это возможно) в случае отказа в платеже (опционально)
- user_data- идентификатор, переданный при создании формы
- test- присутствует в случае тестирования, принимает значение 1