/
A2C виплата на картку по CARD_TOKEN

A2C виплата на картку по CARD_TOKEN


Зміст

 

 


Опис

 

Цей метод використовується для виплати на картку по токену.

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

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

Увага! Цей запит на виплату в цілях безпеки використовує перевірку унікальності по order_id для виключення випадків дублів запитів на видачу. У випадку відправки мерчантом декількох однакових запитів з різницею в часі від менше 1 сек до 10 хв (що не дозволить системі за такий термін провести перевірку на унікальність) - PSP Platon не бере на себе відповідальність за відшкодування лишніх виданих коштів.


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

 

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

API параметри

 

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action
status:ОБОВ'ЯЗКОВИЙ

CREDIT2CARD

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

 

client_key
status:ОБОВ'ЯЗКОВИЙ

String

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

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

order_id
status:ОБОВ'ЯЗКОВИЙ

String

Унікальний ордер виплати у системі мерчанта

Max 255 символів

order_amount
status:ОБОВ'ЯЗКОВИЙ

Number

Сума виплати

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

1000.00

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

1000
1000.0
1,000.0
1,000.00

order_currency
status:ОБОВ'ЯЗКОВИЙ

UAH

Валюта виплати

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

order_description
status:ОБОВ'ЯЗКОВИЙ

String

Опис виплати

Max 1024 символів

card_token
status:ОБОВ'ЯЗКОВИЙ

String

Токен картки

card_token з коллбекупервинної транзакції

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

String

Ім'я клієнта

Max 256 символів

Обов'язково, якщо сума виплати більше 30000 грн.

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

String

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

Max 256 символів

Обов'язково, якщо сума виплати більше 30000 грн.

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

String

Телефон клієнта

Max 32 символа

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

String

Валідний емейл клієнта

Max 128 символів

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

String

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

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

taxn
status:Не обов'язковий

String

ІПН клієнта

Обов'язково, якщо order_amount більше або рівний 30000 грн.

channel_id
status:Не обов'язковий

String

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

Використовується для додаткового банківського термінала


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

 

<?php $client_pass = '***'; $data['action'] = 'CREDIT2CARD'; $data['client_key'] = '***'; $data['order_id'] = 'X1345'; $data['order_amount'] = '1000.00'; $data['order_currency'] = 'UAH'; $data['order_description'] = 'credit test'; $data['card_token'] = '*****'; $data['card_exp_month'] ='01'; // тільки для тестових реквізитів; $data['card_exp_year'] = '2024'; // тільки для тестових реквізитів; $data['hash'] = md5( strtoupper( $client_pass. strrev($data['card_token']) ) ); $url = 'https://secure.platononline.com/p2p-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 отриманий з Callback при успішній транзакції з використанням наших тестових реквізитів.


Перевірка транзакції

 


Callback & Responce

 

При успішній виплаті:

array ( 'action' => 'CREDIT2CARD', 'result' => 'SUCCESS', 'status' => 'SETTLED', 'order_id' => '1328876', 'trans_id' => '27894-89059-67608', 'trans_date' => '2020-01-13 20:55:05', 'hash' => '********************************', 'card_hash' => 'cc1c30cfbfe57b068b1f6c4c336791282256b2efc8cf52e85cc2e5fa2a62047a', 'fee_type' => 'TRANSACTION', 'fee' => '0.5', )

Для перевірки достовірності отриманого callback, рекомендуємо звіряти підпис hash за формулою md5(strtoupper(client_pass.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))

Параметр

Описание

Параметр

Описание

action

CREDIT2CARD

result

SUCCESS

status

SETTLED

order_id

Унікальний ордер ID транзакції у системі мерчанта

trans_id

Унікальний ордер ID транзакції у системі Platon

trans_date

Час проведення транзакції у форматі UTC (YYYY-MM-DD HH-MM-SS)

card_hash

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

Цей параметр дасть вам можливість у вашій системі:

  • Прив'язати картку під клієнтом.

  • Перевірити чи не використовував інший клієнт цю карту.

  • Перевірити які кредити, товари та послуги погашаються цією карткою.

  • Відстежувати шахрайство, коли клієнт використовує ту саму картку з іншого облікового запису, наприклад, щоб повторно скористатися акцією.

Якщо ви бажаєте використовувати цей функціонал, будь ласка, повідомте нам про його включення.

fee_type

Ознака яким чином стягується комісія:

  • ACT - по актам.

  • TRANSACTION - потранзакційно.

Якщо ви бажаєте використовувати цей функціонал, будь ласка, повідомте нам про його включення.

fee

Сума комісії з мерчанта з транзакції у гривні

Якщо ви бажаєте використовувати цей функціонал, будь ласка, повідомте нам про його включення.

hash

Зашифрований перевірочний підпис

{ "action":"CREDIT2CARD", "result":"SUCCESS", "status":"SETTLED", "order_id":"1328876", "trans_id":"27894-89059-67608", "trans_date":"2020-01-13 20:55:05" }

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

array ( 'action' => 'CREDIT2CARD', 'result' => 'DECLINED', 'status' => 'DECLINED', 'order_id' => '560404', 'trans_id' => '27894-80158-07868', 'trans_date' => '2020-01-13 20:40:15', 'decline_reason' => '9858: Restricted Card', 'hash' => '********************************', 'card_hash' => '31c9ea919afdc5361ca31cc9e3c4874af6bdd374601e7ef8e6c72b3d9ef0933f', )

Для перевірки достовірності отриманого callback, рекомендуємо звіряти підпис hash за формулою md5(strtoupper(client_pass.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))

Параметр

Опис

Параметр

Опис

action

CREDIT2CARD

result

DECLINED

status

DECLINED

order_id

Унікальний ордер ID транзакції у системі мерчанта

trans_id

Унікальний ордер ID транзакції у системі Platon

trans_date

Час проведення транзакції у форматі UTC (YYYY-MM-DD HH-MM-SS)

decline_reason

Причина скасування транзакції

hash

Зашифрований перевірочний підпис

{ "action":"CREDIT2CARD", "result":"DECLINED", "status":"DECLINED", "order_id":"560404", "trans_id":"27894-80158-07868", "trans_date":"2020-01-13 20:40:15", "decline_reason":"9858: Restricted Card" }

Проміжна відповідь у випадку технічних неполадок:

При отриманні Callback з таким статусом необхідно очікувати Callback з фінальним статусом транзакції.

Симулювати такий Callback в тестовому середовищі неможливо.

array ( 'action' => 'CREDIT2CARD', 'result' => 'SUCCESS', 'status' => 'WAITING', 'order_id' => '5774734', 'trans_id' => '28262-75863-96848', 'trans_date' => '2020-02-25 10:46:26', 'hash' => '********************************', )

Для перевірки достовірності отриманого callback, рекомендуємо звіряти підпис hash за формулою md5(strtoupper(client_pass.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))

Параметр

Описание

Параметр

Описание

action

CREDIT2CARD

result

SUCCESS

status

WAITING

order_id

Унікальний ордер ID транзакції у системі мерчанта

trans_id

Унікальний ордер ID транзакції у системі Platon

trans_date

Час проведення транзакції у форматі UTC (YYYY-MM-DD HH-MM-SS)

card_token

Зашифрований токен карти для наступних транзакцій по card_token

hash

Зашифрований перевірочний підпис

При отриманні Response з таким статусом необхідно очікувати Response з фінальним статусом транзакції.

Симулювати такий Response в тестовому середовищі неможливо.

{ "action":"CREDIT2CARD", "result":"SUCCESS", "status":"WAITING", "order_id":"5774734", "trans_id":"28262-75863-96848", "trans_date":"2020-02-25 10:46:26" }

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

 


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

 

 

Related content