RU / en
Страница опубликована с помощью Google Документов
Автоматический интерфейс Paymaster Direct для пластиковых карт
Обновляется автоматически каждые 5 мин.

Автоматический интерфейс Paymaster Direct для пластиковых карт

Запрос авторизации

Запрос авторизации следует отправлять на

https://paymaster.ru/direct/authorize/card. Запрос должен содержать следующие обязательные параметры (используется метод POST).

Параметры запроса:

Параметр

Тип данных

Обязательный?

Описание

response_type

String

Да

Константа. Параметр всегда должен иметь значение "code"

client_id

String

Да

Идентификатор Продавца в системе PayMaster

card_number

String

Да

Номер карты пользователя

card_holder

String

Да

Имя держателя карты

card_expiry

String

Да

Срок действия карты (ММ/ГГ или ГГГГ-ММ)

card_cvv

String

Да

CVV код карты

sign

String

Да

Подпись запроса. Передается либо в заголовке запроса, либо в параметре.

type

String

Нет

Тип протокола. Определяется продавцом. Передается либо в заголовке запроса, либо в параметре. Допустимые значения: jws, rest

iat

String

Да

Фактическое время отправки запроса. Передается либо в заголовке запроса, либо в параметрах.  

Пример запроса:

Незакодированный заголовок:

{"alg": "RS256", "IAT": 1347447988}

Незакодированные данные запроса:

{"response_type": "code", "client_id": "54bf4d42-b85c-48e2-8bda-ad0cf876f411", "card_number": "5470000000000000", "card_holder": "IVAN INVANOV", "card_expiry": "04/18", "card_cvv": "123"}

HTTP сообщение:

POST /... HTTP/1.1

Host: example.com

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

request=eyJpYXQiOjE0MzgyNDY4NDEsImFsZyI6IlJTMjU2In0.eyJyZXNwb25zZV90eXBlIjoiY29kZSIsImNsaWVudF9pZCI6IjU0YmY0ZDQyLWI4NWMtNDhlMi04YmRhLWFkMGNmODc2ZjQxMSIsImNhcmRfbnVtYmVyIjoiNTQ3MDAwMDAwMDAwMDAwMCIsImNhcmRfaG9sZGVyIjoiSVZBTiBJTlZBTk9WIiwiY2FyZF9leHBpcnkiOiIwNC8xOCIsImNhcmRfY3Z2IjoiMTIzIn0.j7D9vV7si93Jq4fFnIHD_ckYZx34074XVFOTYZ48XCfCjNyRhY9cGXeaGhHoKfYjlzaCn_WUvYgL-p86lGk0FsilDEesgF3WvcguRHmwY2Xer7W8QUg3e-FDxkFI2UjcF6TV2Q06VAmhP7GxkwOKc0X4zvQrhPBHR1QtJZ660dQ

В зависимости от настроек выдается запрос дополнительного подтверждения, либо токен доступа:

HTTP/1.1 200 OK

{"access_token":"thN250MQ5scFlaa-1Kc61PP8gpAusuHgpJKoflAzF5g","token_type":"bearer","expires_in":31535999,"account_identifier":"4************1234"}

Если дополнительное подтверждение осуществляется через проведение 3DSecure авторизации, то в ответе возвращается признак 3DSecure и необходимые данные для выполнения авторизации:

{ "confirmation": "3DSecure", "code": "Pbl8KuP8vg", "redirect_url": "https://acs.somebank.ru", "pa_req": "..."}

Если в ответе возвращается признак DebitAmount, то в качестве дополнительного подтверждения пользователь должен указать точную сумму списания с карты:

 { "confirmation": "DebitAmount", "code": "Pbl8KuP8vg" }

Подтверждение суммы списания

Запрос следует выполнять на https://paymaster.ru/direct/authorize/confirm. Запрос должен содержать следующие обязательные параметры (используется метод POST).

Параметры запроса:

Параметр

Тип данных

Обязательный?

Описание

response_type

String

Да

Константа. Параметр всегда должен иметь значение "code"

client_id

String

Да

Идентификатор Продавца в системе PayMaster

code

String

Да

Временный токен, присвоенный при запросе на авторизацию

amount

String

Да

Сумма списания, два знака в дробной части, разделитель ‘.’

sign

String

Да

Подпись запроса. Передается либо в заголовке запроса, либо в параметре.

type

String

Нет

Тип протокола. Определяется продавцом. Передается либо в заголовке запроса, либо в параметре. Допустимые значения: jws, rest

iat

String

Да

Фактическое время отправки запроса. Передается либо в заголовке запроса, либо в параметрах.  

Пример запроса:

Незакодированный заголовок:

{"alg": "RS256", "IAT": 1438247717}

Незакодированные данные запроса:

{"response_type": "code", "client_id": "54bf4d42-b85c-48e2-8bda-ad0cf876f411", "code": "Pbl8KuP8vg", "amount": "3.98"}

HTTP сообщение:

POST /... HTTP/1.1

Host: example.com

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

request=eyJpYXQiOjE0NDU5NDkzNTcsImFsZyI6IlJTMjU2In0.eyJyZXNwb25zZV90eXBlIjoiY29kZSIsImNsaWVudF9pZCI6IjU0YmY0ZDQyLWI4NWMtNDhlMi04YmRhLWFkMGNmODc2ZjQxMSIsImNvZGUiOiJQYmw4S3VQOHZnIiwiYW1vdW50IjoiMy45OCJ9.Qljsp-hiug8gvGhnWwqTG3HUK2isYn1O5x8EDwSxmeWYENcQxlpHNkOxCUzAd3c4cwe0GrZY1hHzcfb913_UqnEfLXiSOZIEVQAEX-KP_4S1rbzJFS-vKtVMWhbLWjou4jsmzJVnaS6t_KqeAe8kLVzMOuvU-C2KS7LoclodXzc

В ответ выдается токен доступа::

HTTP/1.1 200 OK

{"access_token":"thN250MQ5scFlaa-1Kc61PP8gpAusuHgpJKoflAzF5g","token_type":"bearer","expires_in":31535999,"account_identifier":"4************1234"}

Проведение 3DSecure авторизации

Для проведения 3DSecure авторизации нужно перенаправить пользователя на специальную страницу эмитента карты по адресу redirect_url.

В запросе передаются следующие параметры:

PaReq - кодированная информация о операции, подставляется значение pa_req

MD - номер запроса мерчанта для идентификации результата

TermUrl - страница магазина для возврата пользователя после авторизации

Запрос передается методом POST.

После авторизации эмитент перенаправит пользователя на указанную страницу мерчанта TermUrl со следующими полями:

PaRes - кодированный результат авторизации

MD - номер запроса мерчанта, копируется из запроса

Для завершения привязки необходимо передать полученный результат авторизации PaRes через вызов метода завершения привязки.

Завершение 3DSecure авторизации

Запрос следует выполнять на https://paymaster.ru/direct/authorize/complete3ds. Запрос должен содержать следующие обязательные параметры (используется метод POST).

Параметры запроса:

Параметр

Тип данных

Обязательный?

Описание

response_type

String

Да

Константа. Параметр всегда должен иметь значение "code"

client_id

String

Да

Идентификатор Продавца в системе PayMaster

code

String

Да

Временный токен, присвоенный при запросе на авторизацию

pa_res

String

Да

Результат авторизации 3DSecure

sign

String

Да

Подпись запроса. Передается либо в заголовке запроса, либо в параметре.

type

String

Нет

Тип протокола. Определяется продавцом. Передается либо в заголовке запроса, либо в параметре. Допустимые значения: jws, rest

iat

String

Да

Фактическое время отправки запроса. Передается либо в заголовке запроса, либо в параметрах.  

Пример запроса:

Незакодированный заголовок:

{"alg": "RS256", "IAT": 1438247717}

Незакодированные данные запроса:

{"response_type": "code", "client_id": "54bf4d42-b85c-48e2-8bda-ad0cf876f411", "code": "Pbl8KuP8vg", "pa_res": "eJzVWFmvo0iy/iutnkermh3bLdeRkh1swKwG3th3sFnM8usHn1OnuqZu9Wh0X0aDZDmJjIyMJCK+LzNPZtbFMWPE4djFbyc57ns/jX/L"}

HTTP сообщение:

POST /... HTTP/1.1

Host: example.com

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

request=eyJpYXQiOjE0MzgyNDc3MTcsImFsZyI6IlJTMjU2In0.eyJyZXNwb25zZV90eXBlIjoiY29kZSIsImNsaWVudF9pZCI6IjU0YmY0ZDQyLWI4NWMtNDhlMi04YmRhLWFkMGNmODc2ZjQxMSIsImNvZGUiOiJQYmw4S3VQOHZnIiwicGFfcmVzIjoiZUp6VldGbXZvMGl5L2l1dG5rZXJtaDNiTGRlUmtoMXN3S3dHM3RoM3NGbk04dXNIbjFPbnVxWnU5V2gwWDBhRFpEbUpqSXlNSkNLK0x6TlBadGJGTVdQRTRkakZieWM1N25zL2pYL0wifQ.w5HV198v7w_YnNsnTslwboMuvRrME1UQi1EmuBgi2UC03eE1THtKS0lMGQ9_3FJHojhDvQogP6GGcucswa19f-6eh2Ma2Njk4mjq9EvpBqzlBovzAPIkltu8YIWxSTwBpzn1v2t2te5tGqfIlYO-Ne6LgtesnkCmA3oHIXjhzE0

В ответ выдается токен доступа::

HTTP/1.1 200 OK

{"access_token":"thN250MQ5scFlaa-1Kc61PP8gpAusuHgpJKoflAzF5g","token_type":"bearer","expires_in":31535999,"account_identifier":"4************1234"}