Зміст
Опис
Оплата Apple Pay по технології C2A дебет.
Увага! Цей запит виконується в декілька етапів:
Ініциалізація (API запит №1)
Підтвердження (API запит №2)
Редірект платника на 3DS
Чекліст інтеграції
- Привести сайт / приложение к соответствию требованиям.
- Интегрировать API Apple Pay.
- Создать вместе с тех поддержкой PSP Platon сертификаты.
- Передать тех поддержке PSP Platon ссылку для Callback.
- Сообщить в тех поддержке PSP Platon ваши IP адреса сервера сайта или о том, что будет использоваться приложение (в этом случае ограничения по IP будут сняты).
- Провести запрос для получения зашифрованных данных согласно API Apple Pay.
- После авторизации пользователя и выбора реальной карты в кошельке Apple Pay вернет зашифрованные данные.
- Провести запрос согласно API PSP Platon используя зашифрованные данные от Apple Pay.
- Получить Response или Callback для редиректа плательщика на 3DS проверку.
- Отправить клиента на 3DS проверку.
- Провести запрос с получение успешного Response или Callback со статусом платежа
SUCCESS
от PSP Platon. - Уведомить клиента об успешной / не успешной оплате.
Вимоги
Сертифікати Apple Pay
Apple Pay API
Відповідно офіційної документації Apple Pay для генерації payment_token
необхідно виконати наступні кроки:
Перевірити можливість клієнтом оплати за допомогою Apple Pay
if (window.ApplePaySession) { // The Apple Pay JS API is available. }
Отримати платіжну авторизацію та платіжний об'єкт (токен) Apple Pay. Приклад:
Налаштуйте відправку отриманого значення токену в параметрі payment_token
у відповідному форматі вказаному нижче:
Також рекомендуємо ознайомитись з демо наданого Apple для Apple Pay:
https://applepaydemo.apple.com/
API параметри №1
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр | Значення | Опис | Особливості |
---|---|---|---|
|
| Код платіжного методу |
|
|
| Асинхронний режим | Стандартне значення "N" можна не передавати |
| String | Додатковий платіжний канал | Відправка коштів на окремий платіжний термінал |
| String | API ключ мерчанта | Ключ надається на пошту мерчанту |
| String | ID оплати в системі мерчанта | Max 32 символи |
| Number | Сума оплати | Вірний варіант 1000.00 Невалідні варіанти 1000 |
|
| Валюта оплати | Оплата можлива лише в національній валюті гривні |
| String | Опис оплати | Для криличних символів треба використовувати формат UTF-8 Max 255 символов |
| String | Ім'я платника | Max 32 символів без пробілів |
| String | Прізвище платника | Max 32 символів без пробілів |
| String | Адреса платника | Max 256 символів |
| String | Країна платника | Стандарт ISO 3166-1 alpha-2 |
| String | Штат платника | Стандарт ISO 3166-2 |
| String | Місто платника | Max 32 символи |
| String | Поштовий індекс платника | Max 32 символи |
| String | Пошта платника | Обов'язково валідна пошта Без пробілів. Max 255 символа |
| String | Номер телефону платника | Обов'язковий формат телефону 380… |
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ" IPv6 на даний момент не підтримується |
| String | Токен Apple Pay | Відформатований по прикладу вище токен отриманий від Apple Pay |
|
| Для формування card_token | Стандартне значення "N" |
| String | Посилання по якому буде відправлено платника після успішної / невдалої спроби оплати після 3DS | Max 255 символів |
| String | Контрольний підпис | sha1( $pass. strtolower( implode( '', $action. $client_key. $order_id. $order_amount. $order_currency. $order_description. $payment_token. $payer_first_name. $payer_last_name. $payer_phone. $payer_address. $payer_country. $payer_state. $payer_city. $payer_zip. $payer_email. $payer_ip. $term_url_3ds. ) ) ) Значення в hash мають відповідати послідовності полів в самому запиті. |
API параметри №2
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр | Значення | Опис | Особливості |
---|---|---|---|
|
| Код платежного методу |
|
| String | API ключ мерчанта | Ключ надається на пошту мерчанта |
| String | ID оплати в системі PSP Platon | |
| String | Контрольний підпис | sha1( $pass. strtolower( implode( '', $action, $client_key, $trans_id ) ) ) |