IA оплата карткою (Server - Server)

Цей функціонал буде активовано після вашого запиту в груповому чаті.


Зміст

 


Опис

 

Цей функціонал дозволяє розмістити платіжну форму на вашому боці, з вашим унікальним дизайном та без переходу платника на нашу форму для введення карткових даних.


 

Привести сайт / додаток відповідно до вимог.
Передати тех підтримці PSP Platon посилання для Callback.
Повідомити тех підтримці PSP Platon ваші IP адреси серверів або про те, що буде використовуватись додаток (в цьому випадку обмеження по IP будуть зняті).
Провести інтеграцію цього API.
Відобразити клієнту форму вводу карткових даних.
Відправити запит з вашого сервера / додатку відповідно до цього API.
Отримати Response або Callback для редиректу платника на 3DS перевірку.
Відправити клієнту на 3DS перевірку.
Отримати Response або Callback зі статусом оплати від PSP Platon.
Повідомити клієнту про успішну / невдалу оплату.

 


 

HTTP METHOD: POST

API ENDPOINT: https://secure.platononline.com/post-unq/

Параметр

Значення

Опис

Особливості

Параметр

Значення

Опис

Особливості

action
обов'язковий

SALE

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

 

client_key
обов'язковий

String

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

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

order_id
обов'язковий

String

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

Max 32 символи

order_amount
обов'язковий

Number

Сума оплати

order_currency
обов'язковий

UAH

Валюта

order_description
обов'язковий

String

Опис

Max 255 символів

payer_ip
обов'язковий

Number

IP-адреса платника

В форматі "ХХХ.ХХХ.ХХХ.ХХХ"

term_url_3ds
обов'язковий

String

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

Max 255 символів

card_numberобов'язковий

Number

Повний номер картки

В форматі "ХХХХХХХХХХХХХХХХ"
16 символів

card_exp_month
обов'язковий

Number

Місяць закінчення терміну дії картки

В форматі "ХХ"
2 символи

card_exp_year
обов'язковий

Number

Рік закінчення терміну дії картки

В форматі "ХХХХ"
4 символи

card_cvv2
обов'язковий

Number

CVV код

В форматі "ХХХ"
3 символи

payer_email
обов'язковий

String

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

Max 255 символів

payer_phone
обов'язковий

Number

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

req_token
обов'язковий

Y
N

Створення токену картки

Для отримання card_token

recurring_init
обов'язковий

Y
N

Створення токену картки

Для отримання rc_id та rc_token

hash
обов'язковий

String

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

md5( strtoupper( strrev($email). $client_pass. strrev( substr($card_number,0,6). substr($card_number,-4) ) ) )

auth
не обов'язковий

Y
N

HOLD коштів

Стандартне значення N

async
не обов'язковий

Y
N

Включити асинхронний режим

В асинхронном режиме обязательное использование коллбеков.
По умолчанию значение N

channel_id
не обов'язковий

String

Додатковий платіжний канал

Дозволяє відправити кошти на інший банківський термінал

payer_first_name
не обов'язковий

String

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

Max 32 символи без пробілів

payer_last_name
не обов'язковий

String

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

Max 32 символи без пробілів

payer_address
не обов'язковий

String

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

Max 256 символів
Вказати NA, якщо немає даних

payer_country
не обов'язковий

String

Країна платника

Стандарт ISO 3166-1 alpha-2
В форматі "ХХ"
2 символи
Вказати NA, якщо немає даних

payer_state
не обов'язковий

String

Штат платника

Стандарт ISO 3166-2
В форматі "ХХ"
2 символи
Вказати NA, якщо немає даних

payer_city
не обов'язковий

String

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

Max 32 символи
Вказати NA, якщо немає даних

payer_zip
не обов'язковий

String

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

Max 32 символи

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

String

10 додаткових полей

 


 

<?php $client_pass = '***'; $data['action'] = 'SALE'; $data['client_key'] = '***'; $data['order_id'] = '546-4588'; $data['order_amount'] = '1000.00'; $data['order_currency'] = 'UAH'; $data['order_description'] = 'test'; $data['card_number'] = '4111111111111111'; $data['card_cvv2'] = '159'; $data['card_exp_month'] = '01'; $data['card_exp_year'] = '2022'; $data['payer_first_name'] = 'Ivan'; $data['payer_last_name'] = 'Ivanov'; $data['payer_phone'] = '380111111111'; $data['payer_address'] = 'NA'; $data['payer_country'] = 'UA'; $data['payer_state'] = 'NA'; $data['payer_city'] = 'Kiev'; $data['payer_zip'] = '01001'; $data['payer_email'] = 'sale@gmail.com'; $data['payer_ip'] = '213.186.115.164'; $data['req_token'] = 'Y'; $data['recurring_init'] = 'N'; $data['term_url_3ds'] = 'https://google.com'; $data['hash'] = md5( strtoupper( strrev($data['payer_email']). $client_pass. strrev(substr($data['card_number'],0,6).substr($data['card_number'],-4)) ) ); $url = 'https://secure.platononline.com/post-unq/'; $crq = curl_init(); curl_setopt($crq, CURLOPT_URL, $url); curl_setopt($crq, CURLOPT_HEADER, 0); curl_setopt($crq, CURLOPT_POST, 1); curl_setopt($crq, CURLOPT_RETURNTRANSFER, 1); curl_setopt($crq, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($crq, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($crq, CURLOPT_POSTFIELDS, http_build_query($data)); $result = curl_exec($crq); if (curl_errno($crq)) { echo 'ERROR: '.curl_error($crq); }else{ echo $result; } curl_close($crq);

 

Цей API запит необхідно тестувати лише в бойовому режимі реальною карткою.


 


 


Синхронний режим

Цей режим працює як стандартне налаштування. Передавати async = N не потрібно.


Асинхронний режим

Цей режим є опцією та активується при передачі додаткового параметру async = Y. В цьому режимі обов'язково необхідно приймати callback на ваш callback url.