Висловлюємо величезну подяку нашому клієнту, який постарався описати в подробиці кроки по прямій інтеграції Apple Pay в додаток. Першоджерело тут.
1. Реєстрація
Пройдіть реєстрацію та активацію у сервисі WayForPay
2. Сертифікаты
Необхідно сформувати і відправити сертифікати підтримки сервісу WayForPay.
! Необхідний аккаунт розробника в Apple.
1. Ви можете написати нам на пошту [email protected] і запросити файл запиту для отримання сертифікатів, для подальшого підключення 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 з екрану.