Создание платежа через GATE
Для инициации платежа по Сберпей нужно передать запрос на https://api.1payment.com/init_payment
со следующими параметрами:
partner_id- 1234 (ID партнера)payment_type- sberpayproject_id- 5678 (ID проекта)amount- 50 (сумма в валюте проекта)description- описание платежа (опционально)sberpay_type- app2app (способ взаимодействия, app2app - из приложения, web2app - их браузера, mweb2app - из мобильного браузера)deep_link- android-app://testbank/link (адрес для перенаправления в приложение после оплаты, опционально)description- описание платежа (опционально)phone- Телефон плательщика (опционально)email- Email плательщика (опционально)user_data- уникальное значение, например, идентификатор платежа на стороне партнераsign- (подпись)
Пример:
https://api.1payment.com/init_payment?partner_id=1234&payment_type=sbp&project_id=5678&amount=50&description=test_payment&sberpay_type=app2app&sign=d724e1e6453a43397bb2aa6d6be9cc06
Подпись
(sign)
рассчитывается так: md5 от строки "init_payment + конкатенация всех
параметров = значение в алфавитном порядке по возрастанию с разделителем
& + секретный API Key" (кроме параметра sign)
Для запроса выше строка, от которой будет браться md5, имеет вид:
init_paymentamount=50&description=test_payment&partner_id=1&payment_type=sbp&project_id=5678&sberpay_type=app2app[API_Key]
В ответ система выдаст в JSON:
{"order_id":"8p3brmb19gfg0sg8gcwhws8kgc748s87","status":2,"status_description":"PENDING","status_code":0,"redirect_url":"https:\/\/site.ru\/XXX","deep_link":"sberpay:\/\/link"}Где:
order_id- Это id этого платежа, по нему можно будет узнать статусstatus- состояние платежаstatus_description- текстовое описание статусаstatus_code- поле будет содержать код ошибки (если это возможно) в случае отказа в платежеredirect_url- (Опционально) Url формы оплаты сберпейdeep_link- (Опционально) Ссылка для перехода в мобильное приложение СБОЛ
В случае, если в момент инициации платежа система не смогла получить данные для редиректа, то в ответе будет отсутствовать параметр redirect_url. Тогда этот параметр поступит позже на ваш notify_url в промежуточном статусе (см ниже)
После получения статуса по оплате на ваш 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- sbpstatus_code- поле будет содержать код ошибки (если это возможно) в случае отказа в платеже (опционально)user_data- идентификатор, переданный при создании формыtest- присутствует в случае тестирования, принимает значение 1