Инструменты страницы

Подключение Apple Pay on WEB

Для настройки интеграции на Apple Pay on WEB на стороне продавца необходимо зарегистрировать Apple Merchant Id для мерчанта.

Непосредственно сама регистрация Apple Merchant Id для мерчанта производится через платежный шлюз. Для верификации домена, с которого будет производится оплата, необходимо обратиться в службу технической поддержки.

Вместе с тем партнер должен также разместить на своей стороне кнопку Apple Pay.

Регистрация платежа и проведение оплаты по Apple Pay:

Зарегистрировать заказ, используя стандартный запрос на регистрацию, например, register.do. Запросить валидацию мерчанта, используя запрос https://3dsec.sberbank.ru/payment/applepay/validateMerchant.do

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

{
  "mdOrder":"c4408897-ae2e-7562-909e-bc880007acd8",
  "validationUrl":"https://apple-pay-gateway-cert.apple.com/paymentservices/startSession"
}

Где:

При успешной валидации будет отдан ответ вида:

{
    "success": true,
    "data": {
        "epochTimestamp": ....,
        "expiresAt": ....,
        "merchantSessionIdentifier": "..........",
        "nonce": "......",
        "merchantIdentifier": ".......",
        "domainName": "....",
        "displayName": "....",
        "signature": "..."
    }
  }

При неуспешном ответе, необходимо закрыть окно оплаты Apple Pay.

На тестовой среде необходимо использовать https://apple-pay-gateway-cert.apple.com/paymentservices/startSession в качестве validationUrl.

В запросе validateMerchant.do необходимо передавать хэдер «x-original-domain-name» со значением домена, с которого направляется запрос, иначе на фронтенде запрос не будет проходить валидацию, так как возвращаться будет домен 3dsec.sberbank.ru.

3. При успешной валидации мерчанта необходимо перейти к идентификации пользователя session.completeMerchantValidation(validationResult.data) (https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778012-completepayment);

если завершение успешно, то клиенту разрешено авторизоваться, используя Touch Id или Face ID https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778020-onpaymentauthorized ;

4. Передать полученные данные в paymentData на шлюз. Для этого используется запрос https://3dsec.sberbank.ru/payment/applepay/paymentOrder.do

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

  • mdOrder - уникальный номер заказа на шлюзе
  • paymentToken - должен содержать закодированное в Base64 значение свойства paymentData, полученного из объекта PKPaymentToken Object от системы Apple Pay.

Таким образом, чтобы сделать запрос на оплату в платёжный шлюз необходимо:

  • получить от системы Apple Pay объект PKPaymentToken Object, содержащий свойство paymentData;
  • извлечь значение свойства paymentData и закодировать его в Base64;
  • включить закодированное значение свойства paymentData в качестве значения параметра paymentToken в запросе на оплату.

В ответе вернется параметр sucess со значением:

  • true (истина) - запрос обработан успешно;
  • false (ложь) - запрос не прошёл.