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

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


Зміст

 


Опис

 

Оплата в один клик позволяет провести платеж без ввода карточных данных. Для оплаты вам необходимо создать кнопку и разместить на вашем сайте / приложении.

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


 


 

Привести сайт / додаток до відповідності вимогам.
Проведіть попередню оплату карткою або верифікацію для отримання card_token.
Інтегруйте запит відповідно до цього API методу.
Передати тех підтримці PSP Platon посилання для Callback (якщо раніше не було вказано).
Передати тех підтримці PSP Platon ваші IP адреси серверів сайту або про те, що буде використовуватись додаток (в цьому випадку обмеження по IP будуть зняті).
Відобразити клієнту на сайті / додатку кнопку для оплати з маскою картки для розуміння клієнта яка картка буде використана.
Відправити API запит використовуючи card_token.
Отримати 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 символів

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

String

Токен картки

card_token з коллбека попередньої оплати

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

Number

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

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

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

String

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

Max 256 символів

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

String

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

Max 255 символів

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

String

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

md5( strtoupper( strrev($payer_email). $client_pass. strrev($card_token) ) )

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

String

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

Мах 32 символи
Вкажіть NA, якщо немає даних

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

String

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

Мах 32 символи
Вкажіть NA, якщо немає даних

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

String

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

Мах 255 символів
Вкажіть 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 символи
Вкажіть NA, якщо немає даних

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

Number

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

В форматі “380XXXXXXXXX”
Max 32 символи

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

String

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

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

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

Y
N

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

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

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

String

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

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

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

Y
N

HOLD коштів на картці платника

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

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

String

10 додаткових полів 

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


 

<?php $client_pass='***'; $data['action']='SALE'; $data['client_key']='***'; $data['order_id']='458-3453'; $data['order_amount']='1000.00'; $data['order_currency']='UAH'; $data['order_description']='test'; $data['card_token'] = '*****'; $data['payer_phone']='380111111111'; $data['payer_email']='sale@gmail.com'; $data['payer_ip']='213.186.115.164'; $data['term_url_3ds']='http://google.com'; $data['hash'] = md5( strtoupper( strrev($data['payer_email']). $client_pass. strrev($data['card_token']) ) ); $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);

 

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

  • IE оплата карткою

  • Верифікація картки

  • C2A оплата

  • Виплата на картку по повному номеру картки


 


 


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

Стандартний режим. Передавати async = N не потрібно.


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

Цей режим вмикається при передачі в запиті параметру async = Y.