Продолжение обработки платежа после 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.xcres
- данные в параметре cres, полученном от банка после прохождения плательщиком 3-D Secure аутентификации, для 3DS v2.xmd
- данные в параметре 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
- присутствует в случае тестирования, принимает значение 1sign
- Подпись (sign), рассчитывается так: md5 от строки "конкатенация всех параметров = значение в алфавитном порядке по возрастанию с разделителем & + секретный API Key" (кроме параметра sign)