Висловлюємо величезну подяку нашому клієнту, який постарався описати в подробиці кроки по прямій інтеграції Apple Pay в додаток. Першоджерело тут

1. Реєстрація

Пройдіть реєстрацію та активацію у сервисі WayForPay

2. Сертифікаты

Необхідно сформувати і відправити сертифікати підтримки сервісу WayForPay.

! Необхідний аккаунт розробника в Apple.

1. Ви можете написати нам на пошту support@wayforpay.com  і запросити файл запиту для отримання сертифікатів, для подальшого підключення Apple Pay

 

2. Створіть MerchantID на сайті https://developer.apple.com/ 

 

Description - будь-який

Identifier - домен сайту закріпленого за додатком (наприклад: якщо домен https://example.com.ua, то мерчант merchant.ua.com.example)

 

 

 

3. Поверніться в розділ Identifiers, праворуч вибераем список Merchant IDs і клікніть на створений MerchantID

 

Тут необхідно створити сертифікат за допомогою файлу запиту, який надіслала підтримка WayForPay.

 

 

Скачайте сертифікат і відправте підтримає WayForPay.

 

PassKit и iOS

Для інтеграції методу в додаток використовуйте SDK PassKit від Apple для отримання PaymentToken і метод оплати Charge в API WayForPay для проведення платежу.

 

Приклад

Необхідна копка. Клас кнопки:

 

Далі додаємо обробник і наступний код для демонстрації

Тут створюється PassKit запиту платежу, задаються параметри і додається масив для підрахунку суми і тестовий пункт "Test Product" вартістю 1 грн.

Далі створюється контролер, який ініціалізується запитом і призначається делегат.

Для платежу необхідний один метод, для того щоб приховати форму оплати - другий метод.

Коли платник підтвердить спрацює метод делегата з якого треба буде взяти платіжний токен Apple Pay і просто переслати його в WayForPay.

Для відправки даних PassKit Apple Pay в WayForPay клієнт:

 

https://github.com/nerzh/WayForPay-Swift-Client 

 

який відправляє цей запит

Створюється запит з параметрами.

merchantAccount - знаходиться в особистому кабінеті WayForPay. Адреса сайту - той який закріплений за Мерчантом.

Створюємо об'єкт client. Серед необов'язкових параметрів є httpClient, він успадковується від протоколу WFPHttpClientPrtcl і вимагає реалізувати всього один метод, за допомогою якого відправляється запит на сервер WayForPay. За замовчуванням він реалізований і запит відправляється за допомогою URLSession. Секретний ключ - теж з кабінету WayForPay.

 

Додавання продуктів до запиту

Сума замовлення підсумовується. У прикладі запиту для Apple Pay була 1 грн.

Генерується підпис. Генерація відбувається після того, як в запиті все поля будуть заповнені і додані продукти. При зміні підпис треба згенерувати знов.

Після того, як в методі делегата отримали Payment Token, додаю його до запиту і можна відправляти запит на оплату в WayForPay. Залежно від відповіді сервера викликаю handler completion він покаже користувачеві пройшла його оплата чи ні

 

Інший запит прибирає вікно Apple Pay з екрану.