theMAP предоставляет возможность осуществлять списания денежные средства с карты Покупателя с использованием токена Apple Pay вместо реквизитов карты.
Для реализации оплаты с использованием Apple Pay необходимо:
Зарегистрироваться в Apple Developer Program.
В случае использования мобильного приложения - получить одобрение от Apple.
Подтвердить владение доменами.
Получить от theMAP файл запроса подписи сертификата (CSR).
Используя полученный CSR, создать сертификат в партнёрском центре Apple.
Схема получения токенизированного номера карты:
API theMAP поддерживает передачу и обработку токена (как оригинального - ApplePay, так и расшифрованного - DecryptApplePay) в методах: Block, Pay и storeCard в параметре payment_token. Пример запроса на одностадийную оплату Pay:
{
"key": "ApplePayTestTerminal",
"payment_token": {
"type": "DecryptApplePay",
"data": "ewogICAgImdhdGV3YXlNZXJja......"
},
"merchant_order_id": "ApplePayTestOrder-001",
"amount": 101
}
В результате успешного выполнения сценария из примера выше, средства клиента будут авторизованы и списаны с помощью theMAP и Apple Pay. Пример успешного ответа:
{
"Success": true,
"OrderId": "ApplePayTestOrder-001",
"Amount": 101,
"ErrCode": ""
}
DecryptApplePay
Параметр paymentToken.data должен содержать расшифрованное и закодированное в Base64 значение свойства paymentData, полученного из объекта PKPaymentToken от системы Apple Pay (подробнее см. докум ентацию Apple Pay). Таким образом, чтобы сделать запрос на оплату в платёжный шлюз, продавец должен: получить от системы Apple Pay объект PKPaymentToken, содержащий свойство paymentData; извлечь значение свойства paymentData, расшифровать его и закодировать его в Base64
{
"applicationPrimaryAccountNumber": "6543564567623223",
"deviceManufacturerIdentifier": "050110030273",
"currencyCode": "643",
"applicationExpirationDate": "220430",
"paymentData":
{
"onlinePaymentCryptogram":
"AM32yL0vuOOmAAGG0iQUAoABFA=="
},
"paymentDataType": "3DSecure",
"transactionAmount": 1010
}