Продолжение обработки платежа после 3-D Secure аутентификации

После прохождения плательщиком 3-D Secure аутентификации нужно передать запрос на https://api.1payment.com/3ds_result
со следующими параметрами:

Для удобства передачи параметров рекомендуется использовать метод POST или POST JSON, см. формат запросов к API

  • partner_id - 1234 (ID партнера)
  • order_id - id платежа, полученного при инициации
  • pa_res - данные в параметре PARes, полученном от банка после прохождения плательщиком 3-D Secure аутентификации, для 3DS v1.x
  • cres - данные в параметре cres, полученном от банка после прохождения плательщиком 3-D Secure аутентификации, для 3DS v2.x
  • md - данные в параметре MD, полученном от банка после прохождения плательщиком 3-D Secure аутентификации

Пример:

https://api.1payment.com/3ds_result?partner_id=1234&order_id=5678&pa_res=eJgRX&md=eyJwd&sign=d724e1e6453a43397bb2aa6d6be9cc06

Подпись (sign) рассчитывается так: md5 от строки "3ds_result + конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем & + секретный API Key" (кроме параметра sign)
Для запроса выше строка, от которой будет браться md5, имеет вид:

3ds_resultmd=eyJwd&order_id=5678&pa_res=eJgRX&partner_id=1234[API_Key]

В ответ система выдаст в JSON:

{"request_status":0}
Это статус запроса, где 0 - означает успешный запрос.

После получения финального статуса по оплате на ваш 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 - маска номера карты
  • status_code - поле будет содержать код ошибки (если это возможно) в случае отказа в платеже (опционально)
  • token - при успешном платеже содержит идентификатор сохраненной карты (для включения параметра обратитесь к менеджеру)
  • user_data - идентификатор, переданный при создании платежа
  • test - присутствует в случае тестирования, принимает значение 1
  • sign - Подпись (sign), рассчитывается так: md5 от строки "конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем & + секретный API Key" (кроме параметра sign)