1.24. Mobile Device Sale
Введение
Транзакция Sale с мобильного устройства может выполняться с данными держателя карты или со ссылкой на карту, ранее созданной в процессе проверки карты либо в предыдущих транзакциях Transfer/Sale.
Значение терминов см. в Глоссарии.
Общий сценарий оплаты
(1,2,3) Для выполнения аутентификации Потребителя в приложении Присоединяющейся стороны Присоединяющаяся сторона может использовать любой метод, наиболее соответствующий её потребностям. В результате сервер Присоединяющейся стороны генерирует {accessToken} и предоставляет его приложению Присоединяющейся стороны. Этот параметр будет использоваться для начала и продолжения сеанса.
(4,5) Чтобы инициировать Sale, приложение Присоединяющейся стороны отправляет {accessToken} с суммой транзакции и другими параметрами устройства на сервер Присоединяющейся стороны; они используются для начала сеанса с уникальным случайным {nonce} и зашифрованной {signature}. Сведения о реализации запроса инициирования Sale см. в Initiate Sale.
(6,7) На этом этапе приложение Присоединяющейся стороны отправляет данные держателя карты, устройства, сеанса и другие параметры непосредственно в SBC для выполнения транзакции Sale. Для реализации запроса см. выполнение Sale.
(8,9) Check sale используется в целях безопасности и позволяет SBC сравнивать данные, отправленные приложением Присоединяющейся стороны, с данными, хранящимися на сервере Присоединяющейся стороны. О реализации запроса Check sale см. Check Sale.
(11,12,21,22) Приложение Присоединяющейся стороны отправляет запрос статуса Sale в SBC, чтобы получить статус транзакции Sale. Для реализации запроса см. статус Sale.
(19,20) SBC отправляет на сервер/прокси Присоединяющейся стороны уведомление сопоставления карты Sale с созданной на её стороне ссылкой на карту — {serverCardId}. Для реализации запроса уведомления сопоставления карты Sale см. Уведомление сопоставления карты Sale.
(23,24) Если callback URL Присоединяющейся Стороны указан на уровне endpoint, Платёжный Шлюз отправляет сообщение на этот callback URL при достижении транзакцией финального статуса, независимо от того, является ли результат approved, declined или имеет другой финальный статус. Подробнее см. в Callbacks.
Repeat Общий сценарий оплаты
После успешной процедуры Card mapping новые транзакции Sale с теми же данными держателя карты можно выполнять проще для Покупателя.
Приложение Присоединяющейся стороны создаёт новые запросы Sale, используя {clientCardId} вместо данных держателя карты. SBC отправляет этот {clientCardId} на сервер Присоединяющейся стороны в «Check sale request» и получает сопоставленный с ним {serverCardId} в «Check sale response». Этот {serverCardId} используется для продолжения обработки транзакции Sale.
Если не требуется изменять данные потребителя (адрес, телефон и т. д.), «запрос выполнения Sale» для повторного Sale можно отправить без необязательных параметров. Если данные потребителя нужно изменить, необходимо создать новую ссылку на исходную карту.
Если {clientCardId} используется в «Perform sale request», {serverCardId} должен быть включён в «Check sale response» и подпись.
Если {clientCardId} был сопоставлен с {serverCardId} в транзакции со значением {consumer.email}, новые «запрос на выполнение продажи» и «ответ Check sale» с этим {clientCardId} также должны содержать то же значение {consumer.email}.
Для потока Repeat Sale используйте следующие параметры в запросе Perform Sale:
{sourceOfFunds.reference.clientCardId}
{sourceOfFunds.reference.securityCode}
Instead of:
{sourceOfFunds.card.expiry.month}
{sourceOfFunds.card.expiry.year}
{sourceOfFunds.card.holder}
{sourceOfFunds.card.holder.firstName}
{sourceOfFunds.card.holder.lastName}
{sourceOfFunds.card.number}
{sourceOfFunds.card.securityCode}
(1,2) SBC отправляет на сервер/прокси Присоединяющейся стороны уведомление сопоставления карты Sale с созданной на её стороне ссылкой на карту — {serverCardId}. Для реализации запроса уведомления сопоставления карты Sale см. Уведомление сопоставления карты Sale.
(5,6) Чтобы инициировать Sale, приложение Присоединяющейся стороны отправляет {accessToken} с суммой транзакции и другими параметрами устройства на сервер Присоединяющейся стороны; они используются для начала сеанса с уникальным случайным {nonce} и зашифрованной {signature}. Сведения о реализации запроса инициирования Sale см. в Initiate Sale.
(7,8) На этом этапе приложение Присоединяющейся стороны отправляет данные держателя карты, устройства, сеанса и другие параметры непосредственно в SBC для выполнения транзакции Sale. Для реализации запроса см. выполнение Sale.
(9,10) Check sale используется в целях безопасности и позволяет SBC сравнивать данные, отправленные приложением Присоединяющейся стороны, с данными, хранящимися на сервере Присоединяющейся стороны. О реализации запроса Check sale см. Check Sale.