Использование ApplePay, SamsungPay, GooglePay в приложении

Для работы с платежами в мобильных приложениях (или на сайте, но без перехода на страницу ввода реквизитов карты Банка) можно использовать расширенные параметры HTML-формы.

Перед отправкой POST-запроса необходимо сформировать платёжный токен в приложении или на сайте по инструкции соответствующей системы. Например, в случае ApplePay токен имеет вид:

Этот токен, а также признак, указывающий на конкретную платёжную систему, нужно отправить в дополнительных параметрах запроса к методу /create/:

 

  Параметр Назначение Обязательный
1 paytokentype Система, одна из строк apple , google  или samsung  Да
2 paytoken Платёжный токен, JSON-строка Да
3 json_errors Вернуть ответ в виде JSON или сделать перенаправление на страницу результата или человеко-читаемое сообщение об ошибке? Строка yes или no , по умолчанию — no  Нет

Если json_errors = yes  , то в результате запроса будет возвращён ответ в виде JSON. 

В поле result  будет "fail" , если во время исполнения запроса произошла какая-либо ошибка, либо "success" , и тогда в поле payment будет информация о попытке оплаты (возможно, неуспешной) в формате ответа на JSON API-запрос 2.1

В случае ошибки будет возвращено:

POST-уведомление об успешном платеже пройдёт в обычном порядке, рекомендуется использовать именно его как настоящее подтверждение платежа.

Если параметр json_errors  не был передан или передан как no , вместо JSON-строки сервером будет отправлен HTTP-статус HTTP/1.1 302 Found  с заголовком Location: , указывающим на человеко-читаемую страницу результата платежа или сообщения об ошибке

Включение этого метода работы нужно запрашивать отдельно, кроме того, он может быть недоступен в банке-эквайере, либо в конкретном случае.

Если требуется реализовать одновременно все три возможных сценария работы с токенизированными оплатами: кнопка оплаты на странице ввода реквизитов, веб-покупка (кнопка на сайте) и in-app покупка (оплата в приложении без перехода из приложения), нужно будет работать с тремя личными кабинетами.