Зміст
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Опис
Оплата Apple Pay по технології C2A дебет.
Tip |
---|
Увага! Цей запит виконується в декілька етапів:
|
Чекліст інтеграції
- Привести сайт / приложение к соответствию требованиям.
- Интегрировать 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. - Уведомить клиента об успешной / не успешной оплате.
Вимоги
Include Page | ||||
---|---|---|---|---|
|
Apple Pay API
Відповідно офіційної документації Apple Pay для генерації payment_token
необхідно виконати наступні кроки:
Перевірити можливість клієнтом оплати за допомогою Apple Pay
Code Block | ||
---|---|---|
| ||
if (window.ApplePaySession) { // The Apple Pay JS API is available. } |
Отримати платіжну авторизацію та платіжний об'єкт (токен) Apple Pay. Приклад:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Налаштуйте відправку отриманого значення токену в параметрі payment_token
у відповідному форматі вказаному нижче:
Expand | ||
---|---|---|
| ||
|
Також рекомендуємо ознайомитись з демо наданого 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 | Сума оплати |
| |||||||||||||
|
| Валюта оплати |
| |||||||||||||
| String | Опис оплати |
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 | Номер телефону платника |
| |||||||||||||
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ"
| |||||||||||||
| String | Токен Apple Pay | Відформатований по прикладу вище токен отриманий від Apple Pay | |||||||||||||
|
| Для формування card_token | Стандартне значення "N" | |||||||||||||
| String | Посилання по якому буде відправлено платника після успішної / невдалої спроби оплати після 3DS | Max 255 символів | |||||||||||||
| String | Контрольний підпис |
|
API параметри №2
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр | Значення | Опис | Особливості | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Код платежного методу |
| |||||||||||
| String | API ключ мерчанта | Ключ надається на пошту мерчанта | |||||||||||
| String | ID оплати в системі PSP Platon | ||||||||||||
| String | Контрольний підпис |
|
Приклад запиту
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Callback
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Проміжна ініциалізація по API запиту №1:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Проміжний редірект на 3DS по API запиту №2:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
При успішній оплаті:
title | Responce при успішній оплаті |
---|
Code Block |
---|
{
"action":"DEBIT_RUN",
"result":"SUCCESS",
"status":"SETTLED",
"order_id":"4385302",
"trans_id":"28261-34099-19648",
"trans_date":"2020-02-25 06:50:09",
"card_token":"8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2"
} |
Параметр
Опис
action
DEBIT_RUN
result
SUCCESS
status
SETTLED
order_id
Унікальний ордер ID транзакції в системі мерчанта
trans_id
Унікальний ордер ID транзакції в системі PSP Platon
trans_date
Час проведення транзакції в форматі UTC (YYYY-MM-DD HH-MM-SS)
card_token
Зашифрований токен картки
title | Callback при успішній оплаті |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'DEBIT_RUN',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
'hash' => '********************************',
) |
Параметр
Опис
action
DEBIT_RUN
result
SUCCESS
status
SETTLED
order_id
Унікальний ордер ID транзакції в системі мерчанта
trans_id
Унікальний ордер ID транзакції в системі PSP Platon
trans_date
Час проведення транзакції в форматі UTC (YYYY-MM-DD HH-MM-SS)
card_token
Зашифрований токен картки
hash
Зашифрований підпис для перевірки достовірності коллбеку
При невдалій оплаті:
title | Responce при невдалій оплаті |
---|
Code Block |
---|
{
"action":"DEBIT_RUN",
"result":"DECLINED",
"status":"DECLINED",
"order_id":"4092002",
"trans_id":"28076-29879-99538",
"trans_date":"2020-02-03 20:49:47",
"decline_reason":"Declined by processing"
} |
Параметр
Опис
action
DEBIT_RUN
result
DECLINED
status
DECLINED
order_id
Унікальний ордер ID транзакції в системі мерчанта
trans_id
Унікальний ордер ID транзакції в системі PSP Platon
trans_date
Час проведення транзакції в форматі UTC (YYYY-MM-DD HH-MM-SS)
decline_reason
Опис помилки
title | Callback при невдалій оплаті |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'DEBIT_RUN',
'result' => 'DECLINED',
'status' => 'DECLINED',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
"decline_reason":"Declined by processing"
'hash' => '********************************',
) |
Параметр
Опис
action
DEBIT_RUN
result
DECLINED
status
DECLINED
order_id
Унікальний ордер ID транзакції в системі мерчанта
trans_id
Унікальний ордер ID транзакції в системі PSP Platon
trans_date
Час проведення транзакції в форматі UTC (YYYY-MM-DD HH-MM-SS)
decline_reason
Опис помилки
hash
Include Page | ||||
---|---|---|---|---|
|