Создание платежа через GATE

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

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

  • partner_id - 1234 (ID партнера)
  • payment_type - p2p
  • project_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