Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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


Зміст

Table of Contents
minLevel1
maxLevel2
include
outlinefalse
indent0px
stylecircle
exclude
typelist
class
printablefalse

Опис

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

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


Вимоги

Include Page
Вимоги до сайтів та додатків
Вимоги до сайтів та додатків

API параметри

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action

Status
colourGreen
titleобов'язковий

SALE

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

client_key

Status
colourGreen
titleобов'язковий

String

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

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

order_id

Status
colourGreen
titleобов'язковий

String

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

Max 32 символи

order_amount

Status
colourGreen
titleобов'язковий

Number

Сума оплати

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

order_currency

Status
colourGreen
titleобов'язковий

UAH

Валюта

Info

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

order_description

Status
colourGreen
titleобов'язковий

String

Опис

Max 255 символів

card_token

Status
colourGreen
titleобов'язковий

String

Токен картки

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

payer_email

Status
colourGreen
titleобов'язковий

String

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

Info

Валідна пошта

Info

Без пробілів

payer_ip

Status
colourGreen
titleобов'язковий

Number

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

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

Note

IPv6 не підтримується

term_url_3ds

Status
colourGreen
titleобов'язковий

String

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

ext3

Status
colourGreen
titleобов'язковий

recurring

Ознака регулярної оплати

hash

Status
colourGreen
titleобов'язковий

String

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

Code Block
languagephp
md5(
  strtoupper(
    strrev($payer_email).
    $client_pass.
    strrev($card_token)
  )
)
Info

Если при первоначальном запросе на оплату не был указан email, то следует указать пустое значение для email.

async

Status
colourYellow
titleне обов'язковий

Y
N

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

В асинхронному режимі обов'язкове використання коллбеків.
Стандартне значення N

channel_id

Status
colourYellow
titleне обов'язковий

String

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

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

payer_first_name

Status
colourYellow
titleне обов'язковий

String

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

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

payer_last_name

Status
colourYellow
titleне обов'язковий

String

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

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

payer_address

Status
colourYellow
titleне обов'язковий

String

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

Max 256 символів

payer_country

Status
colourYellow
titleне обов'язковий

String

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

В форматі "ХХ"
Max 2 символи
Вкажіть NA, якщо немає даних

payer_state

Status
colourYellow
titleне обов'язковий

String

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

В форматі "ХХ"
Max 2 символи
Вкажіть NA, якщо немає даних

payer_city

Status
colourYellow
titleне обов'язковий

String

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

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

payer_zip

Status
colourYellow
titleне обов'язковий

String

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

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

payer_phone

Status
colourYellow
titleне обов'язковий

Number

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

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

customer_wallet

Status
colourYellow
titleне обов'язковий

String

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

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

auth

Status
colourYellow
titleне обов'язковий

Y
N

HOLD коштів

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


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

Expand
titleПриклад запиту на PHP
Code Block
languagephp
<?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);
Info

Postman Collection


Тестування

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

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

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

  • C2A оплата

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


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

Expand
titleСписок методів отримання результату транзакцій
Include Page
Отримання результату транзакції
Отримання результату транзакції

Callback

Expand
titleОсобливості роботи з Callback
Include Page
Робота з Callback
Робота з Callback
Expand
titleБезпека
Include Page
Безпека
Безпека

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

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


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

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


Include Page
Callback / Response - SALE без 3DS
Callback / Response - SALE без 3DS

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

Note

Якщо у відповіді на запит ви отримали одну з вказаних нижче помилок, вам необхідно видалити цей протермінований токен:

  • {"result":"ERROR","error_message":"Invalid card_exp_month, card_exp_year"}

  • {"result":"ERROR","error_message":"Invalid card_exp_month"}

  • {"result":"ERROR","error_message":"Initial transaction too old"}

Warning

Ці card_token заблоковані та не підлягають відновленню по причині блокування / закінчення терміну дії картки.

Tip

Необхідно отримати новий card_token провівши нову оплату чи верифікацію.


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

Expand
titleСписок помилок та рішень
Include Page
Помилки та рішення при запитах
Помилки та рішення при запитах