Apple Pay host-to-host
Рекомендації щодо інтеграції Apple Pay h2h для продавців, які бажають безпосередньо інтегруватися з API Apple Pay та обробляти свої платежі через mono
Налаштування Apple Pay
Для отримання доступу до Apple Pay API та авторизації платежів потрібно створити та налаштувати ідентифікатор мерчанта у панелі розробника Apple Developer. Таким чином у Вас буде Apple Merchant ID для передачі до Apple Pay API.
1. По-перше, потрібно долучитися до Apple Developer Program
Для управління застосунками, сертифікатами та іншими інструментами розробника від Apple підійдуть ролі Account Holder або Admin.
Інструкція Apple Pay у свій вебсайт , як долучитися до Apple Developer Program.
2. Створіть ідентифікатор мерчанта
Після того, як ви успішно долучилися до Apple Developer Program, зареєструйте Apple Merchant ID згідно офіційної інструкції від Apple. Цей Merchant ID буде унікально ідентифікувати вас в Apple Pay як продавця, який може приймати платежі.
Для цього перейдіть у розділ Certificates, Identifiers & Profiles , виберіть Identifiers на бічній панелі та натисніть кнопку "Додати" (+) зверху зліва.


3. Створіть сертифікат обробки платежів від Apple
Після створення Apple Merchant ID, потрібно додати до нього сертифікат обробки платежів, який пов'язується з вашим ідентифікатором продавця та використовується для шифрування платіжної інформації із застосунку.
Для цього перейдіть у розділ Certificates, Identifiers & Profiles , виберіть Identifiers на бічній панелі та "Merchant IDs" зверху справа. Відкриється список ідентифікаторів продавців, де потрібно вибрати наново створений, клікнувши на ньому.

Відкриється вікно з варіантами редагування назви Merchant ID та створення сертифікатів, а також реєстрації доменів мерчанта, від яких будуть дозволені обробки платежів.
Якщо зверху цього вікна зʼявляється банер із запитом прийняти договір, натисніть на кнопку "Review Agreement" та слідуйте інструкціям перед тим, як продовжити далі.
Потрібно буде створити два сертифікати: Apple Pay Payment Processing Certificate та Apple Pay Merchant Identity Certificate згідно рекомендацій від Apple.
У розділі "Apple Pay Payment Processing Certificate" натисніть на кнопку "Create Certificate".

Слідуйте крокам помічника. В процесі потрібно буде завантажити до Apple файл, отриманий вище.
Завантажте файл сертифікату обробки платежу від Apple на свій пристрій.
Після цього ви можете передати сертифікат від Apple до монобанку.
Нам потрібно передати саме сертифікат Apple Pay Payment Processing Certificate у форматі .p12 (також пароль, якщо він встановлений). Це потрібно для того, щоб ми змогли розшифрувати переданий вами нам токен у запиті. Зашифровані дані повинні бути ECDSA - 256 бітів
Сертифікат обробки платежу Apple Pay Payment Processing Certificate пов'язується з ідентифікатором мерчанта Apple та використовується для шифрування платіжної інформації.
Сертифікат Apple Pay Payment Processing Certificate дійсний 25 місяців. Якщо сертифікат було видалено (revoked) з Apple Developer Console, то його потрібно згенерувати заново та відправити до монобанку.
4. Створіть сертифікат ідентифікатору мерчанта
Далі створіть сертифікат ідентифікатору мерчанта "Apple Pay Merchant Identity Certificate", який ви використовуватимете для аутентифікації зв'язку з серверами Apple Pay.

Слідуйте крокам помічника.
Завантажте файл Merchant Identity сертифікату від Apple на свій пристрій.
5. Виконайте наступні кроки для інтеграції з web (JavaScript)
5.1. Зареєструйте домени
Зареєструйте домени для вашого Merchant ID, які надсилатимуть запити на транзакції до Apple Pay.
Слідуйте крокам помічника. Виконайте всі необхідні дії, щоб підтвердити, що домени належать саме вам.
Кнопка Apple Pay відображається лише в браузері Safari.
5.2. Налаштуйте вебсайт та додайте платіжну кнопку
Слідуйте інструкціям від Apple з їх документації з інтеграції платіжної кнопки для вебсайту.
Кнопка Apple Pay відображається лише в браузері Safari.
5.3. Передайте платіжні дані від Apple Pay до mono
Отримайте зашифровані платіжні дані покупця, які повертає Apple Pay на ваш фронтенд, та надішліть їх на свій сервер (бекенд). Для цього вам знадобляться Apple Pay JavaScript APIs.
Далі надішліть зашифровані платіжні дані з вашого сервера до монобанку, передавши їх у параметрі aToken через "API оплати по токену".
Приклад передачі даних в aToken:
5.4. Проінформуйте покупця про статус платежу
Отримайте результат обробки платежу від "API оплати по токену" та перенаправте покупця на сторінку із статусом оплати.
Вітаємо! Ви успішно інтегрували платіжну кнопку Apple Pay у Ваш вебсайт!
Щоб отримати більше інформації про тонкощі та деталі інтеграції Apple Pay, будь ласка, зверніться до офіційної документації.
6. Виконайте наступні кроки для інтеграції з iOS app через Xcode (Swift)
6.1. Активуйте функціональність оплати через Apple Pay у Xcode через додавання можливостей до вашого мобільного застосунку.
6.2. Додайте можливість оплати через Apple Pay до вашого мобільного застосунку
У процесі інтеграції на даному етапі потрібно буде виконати запит до "API оплати по токену", передавши через параметр aToken токен із зашифрованими платіжними даними, які поверне сервер Apple Pay.