Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 14 Next »

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


Зміст


Опис

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

Мінімальна сума - 300 грн.

Максимальна сума - 300 000 грн.


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

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

Рекомендації

Рекомендуємо відобразити повідомлення, що клієнту необхідна активна картка Приватбанк.

Рекомендуємо відобразити повідомлення, що перше списання коштів з клієнта відбудеться одразу, тобто у клієнта має бути відповідна сума на основному балансі.


Вимоги до сайту

 SSL сертифікат

У вашого сайту має бути валідний SSL сертифікат.

Для перевірки валідності та терміну дії вашого SSL сертифіката рекомендуємо скористатися сервісом за посиланням.

 Логотипи платіжних систем та PSP Platon

В футері вашого сайту необхіжно розмістити логотипи платіжних систем та PSP Platon.

Завантажте варіанти логотипів які підходять під стиль вашого сайту.

 TLS 1.2

Необхідна підтримка протоколу TLS не нижче версії 1.2


API параметри

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

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

SALE_PART

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

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

String

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

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

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

String

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

Max 32 символи

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

Number

Сума оплати

Мінімальна сума оплати частинами Приватбанк - 300.00

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

1000.00

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

1000
1000.0
1,000.0
1,000.00

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

UAH

Валюта

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

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

String

Опис

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

Max 255 символів

payer_ip
ОБОВ'ЯЗКОВИЙ

Number

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

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

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

term_url_3ds
ОБОВ'ЯЗКОВИЙ

String

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

Max 255 символів

payer_email
ОБОВ'ЯЗКОВИЙ

String

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

Обов'язково валідна пошта.

Відсутність пробілів.

Max 255 символів

payer_phone
ОБОВ'ЯЗКОВИЙ

Number

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

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

ext4
ОБОВ'ЯЗКОВИЙ

String

"{"available_parts_count":"n"}"

JSON з кількістю обраних частин від 2 до 24 (включно), наприклад "{"available_parts_count":"6"}"

channel_id
ОПЦІЯ

String

hash
ОБОВ'ЯЗКОВИЙ

String

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

md5(
  strtoupper($pass).
  strrev($order_id)
)

async
НЕ ОБОВ'ЯЗКОВИЙ

Y
N

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

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

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, ext5, ext6, ext7, ext8, ext9, ext10
НЕ ОБОВ'ЯЗКОВИЙ

String

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

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


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

 Приклад запиту на PHP
<?php
  $client_pass = '***';
  $data['action'] = 'SALE_PART';
  $data['client_key'] = '***';
  $data['order_id'] = '546-4588';
  $data['order_amount'] = '1000.00';
  $data['order_currency'] = 'UAH';
  $data['order_description'] = 'test';
  $data['payer_first_name'] = 'Ivan';
  $data['payer_last_name'] = 'Ivanov';
  $data['payer_phone'] = '+380111111111';
  $data['payer_email'] = 'sale@gmail.com';
  $data['payer_ip'] = '213.186.115.164';
  $data['term_url_3ds'] = 'https://google.com';
  $data['ext4'] = '{"available_parts_count":"6"}';
  $hash = md5(
            strtoupper($client_pass).
            strrev($data['order_id'])
          );

$url = 'https://secure.platononline.com/post/';
$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, $data);
$result = curl_exec($crq);
if (curl_errno($crq)) {
  echo 'ERROR: '.curl_error($crq);
}else{
  echo $result;
}
curl_close($crq);

Тестування

Тестовий режим вмикається опціонально на боці PSP Platon.

Для тестування після редіректа клієнта на сторінку оформлення оплати частинами Приватбанк необхідно ввести тестові реквізити:

Телефон - 988748970

Пароль - password8970

Увага! При бойовому використанні, якщо було введено телефон який у клієнта підв'язано в Приватбанк і у нього є додаток на телефоні, то замість редіректа в браузер буде редірект в додаток. В інших випадках клієнту відкриється форма Приватбанка для авторизації в браузері.


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

 Список методів отримання результату транзакції

Callback & Response

Використовуйте Callback або Response (в залежності від типу запиту) для автоматизації процесу зарахування у вашій системі.

Відправляється автоматично або за вашим API запитом для перевідправки.


Telegram Bot

Нотифікація в Telegram Bot про успішну оплату та деталізація одразу після списання (підключення бота по домовленості в груповому чаті з мерчантом)


Особистий кабінет PSP Platon

Всю необхідну інформацію ви знайдете в нашому особистому кабінеті за посиланням https://secure.platononline.net/auth/login

 Подробиці

Інструкція по використанню

Інструкція до особистого кабінету PSP Platon


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

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

Якщо пароль було втрачено або протерміновано і доступ в кабінет заблоковано, будь ласка, зверніться в груповий чат вказавши логін та email для відправки нового пароля.


CSV файл

CSV файл з деталями оплати можна завантажити в особистому кабінеті PSP Platon.

Для коректного відображення даних в Microsoft Excel рекомендуємо ознайомитись з інструкцією по використанню CSV файлів.


Банківський реєстр

Банківські реєстри можуть бути відправлені вам на регулярній основі на ваш Email або FTP.



Callback

 Особливості роботи з Callback

URL для Callback

Для отримання Callback відправте URL на ваш обробник в груповий чат з вказанням API ключа для якого потрібно прописати посилання. Посилання для Callback вказується на боці PSP Platon.


Очікувана відповідь на Callback

Після відправки Callback у відповідь PSP Platon має отримати HTTP код 200.


Помилки при відправці Callback

Якщо Callback не вдалося відправити або було отримано не HTTP код 200, будуть проведені додаткові повторні спроби відправки в проміжках часу 1 хв, 5 хв, 10 хв, 15 хв, 30 хв, 60 хв.


Перевідправка Callback

Для перевідправки Callback прохання повідомити в груповий чат список необхідних ордерів.

 Безпека

Увага! Рекомендації цього розділу допоможуть забезпечити безпеку від шахрайських дій пов'язаних з вашим сайтом та транзакціями.


Секретність API доступів

Не тримайте у відкритому доступі API ключ та API пароль, а також не надавайте обидва ці параметри в групові робочі чати, в тому числі з нами. Для перевірки деталей представники PSP Platon можуть попросити у вас лише API ключ, пароль треба тримати в таємниці.


Секретність кабінету

Не розголошуйте логін та пароль від вашого особистого кабінету третім особам. У випадку якщо доступ був втрачений зверніться в груповий чат. Пароль від особистого кабінету діє 30 днів. Рекомендуємо оновлювати пароль до закінчення терміну дії в 30 днів.


Секретність посилання для Callback

Не залишайте посилання для Callback у відкритому доступі на вашому ресурсі.


Сторінка успішної оплати не гарантія успіху оплати

Не використовуйте факт переходу платника на сторінку успішної оплати як признак успішної оплати. Статус транзакції та деталі оплати необхідно отримати тільки в Callback або в особистому кабінеті PSP Platon.


Звірка даних в Callback

При отриманні від нас Callback про успішну оплату рекомендуємо проводити на вашому боці додаткову перевірку суми та ордера з Callback на відповідність початкової суми та ордера у вашій базі даних, які були вказані при створенні замовлення.

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

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

При успішному редіректі (синхронний режим):

 Проміжний Response для редіректа на сторінку Приватбанк для оформлення оплати частинами
{
  "action":"SALE",
  "result":"REDIRECT",
  "status":"REDIRECT",
  "order_id":"546-4588",
  "trans_id":"39649-42645-29973",
  "trans_date":"2023-10-05 08:24:24",
  "redirect_url":"https:\/\/payparts2.privatbank.ua\/ipp\/v2\/payment?token=172F1869B9954BE8BFF6FD493294EAD",
  "redirect_params":null,
  "redirect_method":"GET"
}
 Проміжний Callback для редіректа на сторінку Приватбанк для оформлення оплати частинами
array (
  'action' => 'SALE',
  'result' => 'REDIRECT',
  'status' => 'REDIRECT',
  'order_id' => '546-45811465476r4367',
  'trans_id' => '36618-67917-29503',
  'trans_date' => '2022-10-19 13:39:51',
  'redirect_url' => 'https:\/\/payparts2.privatbank.ua\/ipp\/v2\/payment?token=172F1869B9954BE8BFF6FD493294EAD',
  'redirect_params' => null,
  'redirect_method" => 'GET',
)

При успішній оплаті з HOLD (синхронний режим):

HOLD активується на боці PSP Platon по запиту в чаті.

 Response при успішній оплаті
{
  "action":"SALE",
  "result":"SUCCESS",
  "status":"PENDING",
  "order_id":"4385302",
  "trans_id":"28261-34099-19648",
  "descriptor":null,
  "trans_date":"2020-02-25 06:50:09"
}

Параметр

Опис

action

SALE

result

SUCCESS

status

PENDING

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

 Callback при успішній оплаті
array (
  'action' => 'SALE',
  'result' => 'SUCCESS',
  'status' => 'PENDING',
  'order_id' => '4385323',
  'trans_id' => '28261-47789-28578',
  'trans_date' => '2020-02-25 07:12:58',
  'descriptor' => NULL,
  'hash' => '********************************',
)

Параметр

Опис

action

SALE

result

SUCCESS

status

PENDING

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

hash

Зашифрований підпис для перевірки достовірності коллбека

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці sing в підписі Callback варто вказати пусте значення email.

При успішній оплаті (синхронний режим):

 Response при успішній оплаті
{
  "action":"SALE",
  "result":"SUCCESS",
  "status":"SETTLED",
  "order_id":"4385302",
  "trans_id":"28261-34099-19648",
  "descriptor":null,
  "trans_date":"2020-02-25 06:50:09"
}

Параметр

Опис

action

SALE

result

SUCCESS

status

SETTLED

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

 Callback при успішній оплаті
array (
  'action' => 'SALE',
  'result' => 'SUCCESS',
  'status' => 'SETTLED',
  'order_id' => '4385323',
  'trans_id' => '28261-47789-28578',
  'trans_date' => '2020-02-25 07:12:58',
  'descriptor' => NULL,
  'hash' => '********************************',
)

Параметр

Опис

action

SALE

result

SUCCESS

status

SETTLED

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

hash

Зашифрований підпис для перевірки достовірності коллбека

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці sing в підписі Callback варто вказати пусте значення email.

При невдалій оплаті (синхронний режим):

 Response при невдалій оплаті
{
  "action":"SALE",
  "result":"DECLINED",
  "status":"DECLINED",
  "order_id":"4092002",
  "trans_id":"28076-29879-99538",
  "trans_date":"2020-02-03 20:49:47",
  "decline_reason":"Declined by processing"
}

Параметр

Опис

action

SALE

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

decline_reason

Причина невдалої оплати

 Callback при невдалій оплаті
array (
  'action' => 'SALE',
  'result' => 'DECLINED',
  'status' => 'DECLINED',
  'order_id' => '4092002',
  'trans_id' => '28076-29879-99538',
  'trans_date' => '2020-02-03 20:49:47',
  'decline_reason' => 'Declined by processing',
  'hash' => '********************************',
)

Параметр

Опис

action

SALE

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

decline_reason

Причина невдалої оплати

hash

Зашифрований підпис для перевірки достовірності коллбека

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці sing в підписі Callback варто вказати пусте значення email.


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

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

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

Проміжна відповідь (асинхронний режим):

 Response про прийняття запиту на обробку
{
  "action":"SALE",
  "result":"ACCEPTED",
  "order_id":"4385302",
  "trans_id":"28261-34099-19648",
  "trans_date":"2020-02-25 06:50:09"
}

Параметр

Опис

action

SALE

result

ACCEPTED

order_id

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

trans_id

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

trans_date

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

При успішному редіректі (aсинхронний режим):

 Проміжний Response для редіректа на сторінку Приватбанк для оформлення оплати частинами
{
  "action":"SALE",
  "result":"REDIRECT",
  "status":"REDIRECT",
  "order_id":"546-45811465476r4367",
  "trans_id":"36618-67917-29503",
  "trans_date":"2022-10-19 13:39:51",
  "redirect_url":"https:\/\/google.com",
  "redirect_params":null,
  "redirect_method":"GET"
}
 Проміжний Response для редіректа на сторінку Приватбанк для оформлення оплати частинами
array (
  'action' => 'SALE',
  'result' => 'REDIRECT',
  'status' => 'REDIRECT',
  'order_id' => '546-45811465476r4367',
  'trans_id' => '36618-67917-29503',
  'trans_date' => '2022-10-19 13:39:51',
  'redirect_url' => 'https:\/\/google.com',
  'redirect_params' => null,
  'redirect_method" => 'GET',
)

При успішній оплаті з HOLD (асинхронний режим):

HOLD активується на боці PSP Platon по запиту в чаті.

 Callback при успішній оплаті
array (
  'action' => 'SALE',
  'result' => 'SUCCESS',
  'status' => 'PENDING',
  'order_id' => '4385323',
  'trans_id' => '28261-47789-28578',
  'trans_date' => '2020-02-25 07:12:58',
  'descriptor' => NULL,
  'hash' => '********************************',
)

Параметр

Опис

action

SALE

result

SUCCESS

status

PENDING

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

hash

Зашифрований підпис для перевірки достовірності коллбека

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці sing в підписі Callback варто вказати пусте значення email.

При успішній оплаті (асинхронний режим):

 Callback при успішній оплаті
array (
  'action' => 'SALE',
  'result' => 'SUCCESS',
  'status' => 'SETTLED',
  'order_id' => '4385323',
  'trans_id' => '28261-47789-28578',
  'trans_date' => '2020-02-25 07:12:58',
  'descriptor' => NULL,
  'hash' => '********************************',
)

Параметр

Опис

action

SALE

result

SUCCESS

status

SETTLED

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

hash

Зашифрований підпис для перевірки достовірності коллбека

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці sing в підписі Callback варто вказати пусте значення email.

При невдалій оплаті (асинхронний режим):

 Callback при невдалій оплаті
array (
  'action' => 'SALE',
  'result' => 'DECLINED',
  'status' => 'DECLINED',
  'order_id' => '4092002',
  'trans_id' => '28076-29879-99538',
  'trans_date' => '2020-02-03 20:49:47',
  'decline_reason' => 'Declined by processing',
  'hash' => '********************************',
)

Параметр

Опис

action

SALE

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

descriptor

NULL

decline_reason

Причина відміни транзакції

hash

Зашифрований підпис для перевірки достовірності коллбека

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці sing в підписі Callback варто вказати пусте значення email.


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

 Список помилок та рішень
 Incorrect sign

Response: {"result":"ERROR","error_message":"Incorrect sign"}

Варіант 1

Невірно сформований зашифрований підпис.

Перевірте вірність сформованого підпису. Якщо помилку не знайшли зверніться до тих підтримки.


Варіант 2

Додані параметри, які не входять до цього запиту.

Перевірте список параметрів, що передаються. Якщо помилку не знайшли зверніться до тих підтримки.


Варіант 3

Неправильно зашифрована data.

Перевірити чи ви використовуєте UTF-8 і правильний формат параметрів.

 Empty action

Response: {"result":"ERROR","error_message":"Empty action"}

Варіант 1

Параметр action заповнений неправильно, порожній, чи не першому місці у списку параметрів запиту.

Перевірте список параметрів, що передаються. Якщо помилку не знайшли зверніться до тих підтримки.


Варіант 2

Запит надсилається методом GET, а не POST.

Надіслати запит методом POST.

 Order already exists

Response: {"result":"ERROR","error_message":"Order already exists"}

Значення order_id має бути унікальним. Ця помилка говорить про те, що у вас вже була успішна транзакція з таким order_id.

Замінити значення order_id на новий унікальний.

 Service error

Response: {"result":"ERROR","error_message":"Service error"}

Ситуація потребує уваги співробітників Platon.

Рекомендуємо звернутися до тех підтримки Platon для перевірки причини.

 Previous transaction not completed

Response: {"result":"ERROR","error_message":"Previous transaction not completed"}

Ситуація потребує уваги співробітників Platon.

Рекомендуємо звернутися до тех підтримки Platon для перевірки причини.

 Recurring not supported

Response: {"result":"ERROR","error_message":"Recurring not supported"}

rc_token заблокований, докладніше про причини можна дізнатися у розділі /wiki/spaces/docs/pages/1323303006

Рекомендуємо видалити цей rc_token з вашої бази даних та повторити верифікацію карти для отримання rc_token та можливості проведення транзакцій за новим токеном.

 Initial transaction too old

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

card_token заблокований, докладніше про причини можна дізнатися у розділі /wiki/spaces/docs/pages/1323303006

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

 Account error

Response: {"result":"ERROR","error_message":"Account error"}

Варіант 1

Ваша IP адреса не додана до нашого білого списку.

Зверніться до підтримки для додавання вашого IP в білий список.


Варіант 2

Цей функціонал вам не підключений.

Зверніться до підтримки для активації функціоналу.


Варіант 3

Запит надіслано не на те посилання.

Рекомендуємо звірити посилання для надсилання запиту із зазначеною у потрібному розділі документації.


Варіант 4

У запиті вказано неправильне або неіснуюче значення параметра channel_id.

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

 Card token not found for current client

Response: {"result":"ERROR","error_message":"Card token not found for current client"}

Надсилання запиту по цьому card_token відключена для цього API ключа так як card_token був отриманий на іншому API ключі.

Зверніться до тих підтримки для вирішення цієї ситуації.

 Incorrect hash

Response: {"result":"ERROR","error_message":"Incorrect hash"}

Варіант 1

Неправильно сформовано зашифрований підпис.

Перевірте вірність сформованого підпису. Якщо помилка не знайдена зверніться до тех підтримки.


Варіант 2

Додані параметри, які не входять до цього запиту.

Перевірте список параметрів, що передаються. Якщо помилка не знайдена зверніться до тех підтримки.


Варіант 3

Запит був відправлений не з того API ключа, за яким був отриманий rc_token.

Рекомендуємо замінити API ключ на той, яким було отримано rc_token.

 Duplicate request

Response: {"result":"ERROR","error_message":"Duplicate request"}

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

Рекомендуємо перевірити ваш механізм надсилання запитів на наявність задвоєння.

 Incorrect card_token value

Response: {"result":"ERROR","error_message":"Incorrect card_token value"}

Варіант 1

Запит було надіслано менш ніж через 10 хвилин після отримання токена.

Рекомендуємо налаштувати надсилання запитів щонайменше через 10 хвилин після отримання токена. Запит, за яким отримана ця помилка, необхідно повторити.


Варіант 2

В параметр card_token внесено неправильне значення.

Рекомендуємо перевірити вірність внесених даних у поле card_token отриманого з колбека раніше. Запит, за яким отримана ця помилка, необхідно повторити.

 Not found card token

Response: {"result":"ERROR","error_message":"Not found card token"}

Варіант 1

Запит було надіслано менш ніж через 10 хвилин після отримання токена.

Рекомендуємо налаштувати надсилання запитів щонайменше через 10 хвилин після отримання токена. Запит, за яким отримана ця помилка, необхідно повторити.


Варіант 2

В параметр card_token внесено неправильне значення.

Рекомендуємо перевірити вірність внесених даних у поле card_token отриманого з колбека раніше. Запит, за яким отримана ця помилка, необхідно повторити.

 102: Token is not active

'decline_reason' => '102: Token is not active'

rc_token заблокований, докладніше про причини можна дізнатися у розділі /wiki/spaces/docs/pages/1323303006

Рекомендуємо видалити цей rc_token з вашої бази даних та повторити верифікацію карти для отримання rc_token та можливості проведення транзакцій за новим токеном.

 Wrong credit_date

'error_message' => 'Wrong credit_date'

credit_date введено не відповідно до формату YYYY-MM-DD або вказано майбутню дату.

Рекомендуємо вказати в credit_date минулу дату чи поточну у форматі YYYY-MM-DD.

 Invalid pan

'error_message' => 'Invalid pan'

Invalid pan введено неправильний номер картки.

Звірте номер картки. Рекомендуємо перевіряти номер картки на дійсність перед відправкою у запиті використовуючи алгоритм Луна.

  • No labels