/
Оплата в 1 клік по CARD_TOKEN (Client - Server)

Оплата в 1 клік по CARD_TOKEN (Client - Server)


Зміст

 


Опис

 

Оплата в 1 клік спрощує введення карткових даних. Для оплати платнику необхідно ввести лише CVV код.

В запиті використовується раніше збережена картка у вигляді зашифрованогоcard_token який ви отримуєте при першій звичайній оплаті карткою.

Особливості токенів

 

По одній і тій же картці токен можна отримати декілька разів. При цьому самі ці токени будуть різні і готові до використання.

Токен можна використовувати на всіх API ключах та юр. особах.

Якщо при спробі оплати ви отримали відповідь 102: Token is not active це значить, що токен не активний і провести транзакцію по ньому не можливо. Такий токен потрібно видалити з вашої бази даних та надати клієнту можливість оплати іншою карткою.

Термін дії CARD_TOKEN відповідає терміну дії картки.


Демо

 

 


Чекліст інтеграції

 

Привести сайт / додаток відповідно до вимог.
Інтегрувати це API.
Передати тех підтримці PSP Platon посилання для Callback (якщо раніше не передавали).
Провести оплату використовуючи card_token отриманий при оплаті тестовими реквізитами / реальною карткою (активується після підписання договору).
Отримати Callback.
Відбразити платнику статус оплати.

Вимоги

 


API параметри

 

HTTP METHOD: POST

API ENDPOINT: https://secure.platononline.com/payment/auth

Параметр

Значення

Опис

Особливості

Параметр

Значення

Опис

Особливості

key
status:обов'язковий

String

API ключ мерчанта

Ключ надається на пошту мерчанту

payment
status:обов'язковий

CCT

Код платіжного метода

 

data
status:обов'язковий

amount
status:обов'язковий

Number

Сума оплати

Вірний варіант

1000.00

Невалідні варіанти

1000
1000.0
1,000.0
1,000.00

currency
status:обов'язковий

UAH

Валюта

Оплата можлива лише в національній валюті гривні

description
status:обов'язковий

String

Опис

Для кириличних символів необхідно використовувати формат UTF-8

Max 5000 символів

card_token
status:обов'язковий

String

Токен картки

card_token з callback першої оплати

url
status:обов'язковий

String

Посилання по якому буде відправлено клієнта після успішної оплати

Max 255 символів

email
status:обов'язковий

String

Пошта платника

Max 255 символів

sign
status:обов'язковий

String

Контрольний підпис

md5( strtoupper( strrev($key). strrev($payment). strrev($data). strrev($url). strrev($card_token). strrev($CLIENT_PASSWORD) ) )

lang
status:не обов'язковий

UK
EN

Мова відображення форми

В пріорітеті налаштування мови браузера платника

first_name
status:не обов'язковий

String

Ім'я платника

Max 32 символи

last_name
status:не обов'язковий

String

Прізвище платника

Max 32 символи

phone
status:не обов'язковий

Number

Номер телефону платника

Обов'язковий формат телефону 380…

address
status:не обов'язковий

String

Адреса платника

Max 32 символи

zip
status:не обов'язковий

String

Поштовий індекс платника

Max 32 символи

city
status:не обов'язковий

String

Місто платника

Max 32 символи

country
status:не обов'язковий

String

Двозначный код країни платника

Стандарт ISO 3166-1 alpha-2

state
status:не обов'язковий

String

Код штату, провінції або області платника

Обов'язковий параметр для країн US, CA, AU

Стандарт ISO 3166-2

order
status:не обов'язковий

String

ID оплати в системі мерчанта

Max 32 символи

customer_wallet
status:не обов'язковий

String

Номер електронного гаманця платника

Поле обов'язкове для типів бізнесу пов'язаних з віртуальними активами

error_url
status:не обов'язковий

String

Посилання по якому буде відправлено клієнта після 5 невдалих спроб оплати

 

formid
status:не обов'язковий

String

Параметр додаткового налаштування



ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
status:не обов'язковий

String

Додаткові поля

Max 1024 символів в кожному ext полі


Приклад запиту

 

Використання cURL для цього запиту заборонено

Content-Type: form-data або x-www-form-urlencoded

<?php $pass = '***'; $data['key'] = '***'; $data['url'] = 'https://google.com'; $data['data'] = base64_encode( json_encode( array( 'amount' => '100.00', 'description' => 'Product', 'currency' => 'UAH' ) ) ); $data['payment'] = 'CCT'; $card_token = '***'; $sign = md5( strtoupper( strrev($data['key']). strrev($data['payment']). strrev($data['data']). strrev($data['url']). strrev($card_token). strrev($pass) ) ); ?> <!DOCTYPE html PUBLIC> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>CCT</title> </head> <body onload="javascript:document.forms[0].submit()"> <form action="https://secure.platononline.com/payment/auth" method="post"> <input type="hidden" name="payment" value="<?=$data['payment']?>" /> <input type="hidden" name="key" value="<?=$data['key']?>" /> <input type="hidden" name="url" value="<?=$data['url']?>" /> <input type="hidden" name="card_token" value="<?=$card_token?>" /> <input type="hidden" name="data" value="<?=$data['data']?>" /> <input type="hidden" name="sign" value="<?=$sign?>" /> </form> </body> </html>

Тестування

 

В цілях тестування використайтеcard_token отриманий з коллбека при успішній транзакції використовуючи наші тестові реквізити.


Час платіжної сесії

 

Стандартно у платника буде 15 хв для проведення оплати. Це означає, що на 15 хвилину та 1 секунду оплата стане не доступною та приведе до помилки. Відлік починається з моменту відкриття платіжної форми.

Стандартний проміжок часу 15 хв є результатом багатьох тестів та більш чим необхідно достатній для проведення оплати.

Якщо у вас є потреба в іншому проміжку, по вашому запиту можна налаштувати час платіжної сесії з наявних варіантів:

  • 10 хв

  • 30 хв

  • 75 хв


Перевірка платежів

 


Callback

 

 

Платника буде відправлено за посиланням вказаним вами в параметр url з додаванням order методом GET

url = https://www.google.com/

order = 12345

Клієнта відправить після успішної оплати на https://www.google.com/?order=12345

При невдалій оплаті:

При невдалій оплаті Callback не відправляється.


Помилки запитів

 

Related content