- Created by Tech Platon , last modified on Jun 25, 2024
You are viewing an old version of this content. View the current version.
Compare with Current View Version History
« Previous Version 22 Next »
Зміст
Опис
Цей функціонал дозволяє розмістити платіжну форму на вашому боці, з вашим унікальним дизайном та без переходу платника на нашу форму для введення карткових даних.
Верифікація картки використовується для:
Подтвердження особи власника картки
Отриманя CARD_TOKEN для наступних виплат та оплат.
Одну картку можна верифікувати декілька разів. Всі CARD_TOKEN отримані при кожній верифікації будуть різні та активні для подальшого використання.
Чекліст інтеграції
- Привести сайт / додаток відповідно до вимог.
- Передати тех підтримці PSP Platon посилання для Callback.
- Повідомити тех підтримці PSP Platon ваші IP адреси серверів або про те, що буде використовуватись додаток (в цьому випадку обмеження по IP будуть зняті).
- Провести інтеграцію цього API.
- Відобразити клієнту форму вводу карткових даних.
- Відправити запит з вашого сервера / додатку відповідно до цього API.
- Отримати Response або Callback для редиректу платника на 3DS перевірку.
- Відправити клієнту на 3DS перевірку.
- Отримати Response або Callback зі статусом оплати від PSP Platon.
- Повідомити клієнту про успішну / невдалу оплату.
Вимоги
У вашого сайту має бути валідний SSL сертифікат.
Для перевірки валідності та терміну дії вашого SSL сертифіката рекомендуємо скористатися сервісом за посиланням.
Обов'язкова підтримка протоколу TLS не нижче версії 1.2
У футері вашого сайту необхідно розмістити логотипи платіжних систем та PSP Platon.
PSP Platon
Завантажити логотип PSP Platon
Visa
Завантажити логотип Verified by Visa
Mastercard
Завантажити логотип Mastercard
Завантажити логотип Mastercard SecureCode
Простір
Оплата частинами Monobank
Завантажити логотип, банери, "лапки" Monobank
Оплата частинами ПриватБанк
Завантажити логотип, банери оплати частинами ПриватБанк
PCI DSS
Apple Pay
Google Pay
Завантажити логотип Google Pay
Privat24
Повідомити платника про умови підписки та регулярних списань та отримати підтвердження про згоду з умовами
Розмістити договір публічної оферти та отримати підтвердження від платника про згоду з умовами
Надати платнику можливість відмінити підписку
Згідно правил МПС дозволена лише одна спроба списання коштів з платника за добу
API параметри
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post-unq/
Параметр | Значення | Опис | Особливості |
---|---|---|---|
|
| Код платіжного метода | |
| String | API ключ мерчанта | Ключ надається на пошту мерчанту |
|
| Ознака нульової верифікації | |
| String | ID оплати в системі мерчанта | Max 32 символи |
| Number | Сума оплати | Вірний варіант 0.40 Невалідні варіанти 0 |
|
| Валюта | Оплата можлива тільки в національній валюті гривні |
| String | Опис | Для кириличних символів необхідно використовувати формат UTF-8 Max 255 символів |
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ" IPv6 не підтримується |
| String | Посилання по якому буде відправлено клієнта після спроби оплати (успішної або невдалої) | Max 255 символів |
| Number | Повний номер картки | В форматі "ХХХХХХХХХХХХХХХХ" |
| Number | Місяць закінчення терміну дії картки | В форматі "ХХ" |
| Number | Рік закінчення терміну дії картки | В форматі "ХХХХ" |
| Number | CVV код | В форматі "ХХХ" |
| String | Пошта платника | Обов'язково валідна пошта Відсутність пробілів Max 255 символів |
| Number | Номер телефону платника | Обов'язковий формат телефону 380… |
|
| Створення токену картки | Для отримання |
|
| Створення токену картки | Для отримання |
| String | Контрольний підпис | md5( strtoupper( strrev($email). $client_pass. strrev( substr($card_number,0,6). substr($card_number,-4) ) ) ) |
|
| Стандартне значення | |
|
| Включити асинхронний режим | В асинхронном режиме обязательное использование коллбеков. |
| String | Ім'я платника | Max 32 символи без пробілів |
| String | Прізвище платника | Max 32 символи без пробілів |
| String | Адреса платника | Max 256 символів |
| String | Країна платника | Стандарт ISO 3166-1 alpha-2 |
| String | Штат платника | Стандарт ISO 3166-2 |
| String | Місто платника | Max 32 символи |
| String | Поштовий індекс платника | Max 32 символи |
| String | 10 додаткових полей |
Приклад запиту
<?php $client_pass = '***'; $data['action'] = 'SALE'; $data['client_key'] = '***'; $data['order_id'] = '546-4588'; $data['order_amount'] = '1.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 запит необхідно тестувати лише в бойовому режимі реальною карткою.
Перевірка оплат
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.
API запит статуса
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
не потрібно.
Асинхронний режим
Цей режим є опцією та активується при передачі додаткового параметру async = Y
. В цьому режимі обов'язково необхідно приймати callback на ваш callback url.
При оплаті з 3DS СИНХРОННИЙ РЕЖИМ
Проміжний редірект платника на 3DS СИНХРОННИЙ РЕЖИМ
{ "action":"SALE", "result":"REDIRECT", "status":"3DS", "trans_id":"03346-89225- 87891", "order_id":"ORDER-12345", "trans_date":"2012-04-03 16:02:02", "redirect_url":"https://server_3ds.com/3ds.php", "redirect_params": { "PaReq":"bc5865698ae46de4eba4c51f0359a714", "MD":"111111111111111111111", "TermUrl":"https://term_url.com/3ds/67c14e5?trans_id=03346-89225-87891&hash=8b98db60fb3c24c14a6d7075241da38b" }, "redirect_method":"POST" }
Параметри | Опис |
---|---|
|
|
|
|
|
|
| Ордер ID в системі мерчанта |
| Ордер ID в платіжній системі |
| Дата транзакції. Час в UTC |
| URL для редіректу на 3DS |
| Дані для 3DS |
| Метод відправки параметрів 3DS (POST/GET) |
array ( 'action' => 'SALE', 'result' => 'REDIRECT', 'status' => '3DS', 'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b', 'trans_id' => '28738-47774-55067', 'trans_date' => '2020-04-20 12:12:57', 'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp', 'redirect_params' => array ( 'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=', 'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=*************************************************** ), 'redirect_method' => 'POST', 'hash' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| URL для редіректу на 3DS |
| Дані для 3DS |
| Метод відправки параметрів 3DS (POST/GET) |
| Зашифрований підпис для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При успішній оплаті з 3DS СИНХРОННИЙ РЕЖИМ
Response про фінальний статус при оплаті з 3DS відсутній.
array ( 'action' => 'SALE', 'result' => 'SUCCESS', 'status' => 'SETTLED', 'order_id' => '1_691201', 'trans_id' => '31176-65336-00444', 'trans_date' => '2021-01-27 16:55:33', 'descriptor' => NULL, 'auth_code' => '990647', 'hash' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Опис |
| Код авторизації |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При невдалій оплаті з 3DS СИНХРОННИЙ РЕЖИМ
Response про фінальний статус при оплаті з 3DS відсутній.
array ( 'action' => 'SALE', 'result' => 'DECLINED', 'status' => 'DECLINED', 'order_id' => '1_691201', 'trans_id' => '31176-65336-00444', 'trans_date' => '2021-01-27 16:55:33', 'decline_reason' => 'Declined by processing', 'hash' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Причина відмови в оплаті |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При оплаті з 3DS АСИНХРОННИЙ РЕЖИМ
Проміжна відповідь АСИНХРОННИЙ РЕЖИМ
{ "action":"SALE", "result":"ACCEPTED", "trans_id":"03346-89211- 86461", "order_id":"ORDER-12345", "trans_date":"2012-04-03 16:02:01" }
Параметри | Опис |
---|---|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
Проміжний редірект платника на 3DS АСИНХРОННИЙ РЕЖИМ
array ( 'action' => 'SALE', 'result' => 'REDIRECT', 'status' => '3DS', 'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b', 'trans_id' => '28738-47774-55067', 'trans_date' => '2020-04-20 12:12:57', 'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp', 'redirect_params' => array (), 'redirect_method' => 'GET', 'hash' => '********************************', )
Параметры | Описание |
---|---|
|
|
|
|
|
|
| ID транзакции в системе мерчанта |
| ID транзакции в платежной системе |
| Дата транзакции в платежной системе. Время UTC |
| URL, на который должен быть перенаправлен плательщик |
| Строка параметров |
|
Метод передачи параметров |
| Зашифрованная подпись для проверки достоверности коллбека md5( strtoupper( strrev(email). CLIENT_PASS. strrev(payment_token) ) ) Внимание! Если при запросе на оплату не был указан |
array ( 2 'action' => 'SALE', 3 'result' => 'REDIRECT', 4 'status' => '3DS', 5 'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b', 6 'trans_id' => '28738-47774-55067', 7 'trans_date' => '2020-04-20 12:12:57', 8 'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp', 9 'redirect_params' => 10 array ( 11 'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=', 12 'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=*************************************************** 13 ), 14 'redirect_method' => 'POST', 15 'hash' => '********************************', 16)
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| URL для редіректу на 3DS |
| Дані для 3DS |
| Метод відправки параметрів 3DS (POST/GET) |
| Зашифрований підпис для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При успішній оплаті з 3DS АСИНХРОННИЙ РЕЖИМ
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, 'recurring_token' => '01e00c2b39bb3b933723307c442efd02', 'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2', 'hash' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Опис |
| Код авторизації |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При невдалій оплаті з 3DS АСИНХРОННИЙ РЕЖИМ
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' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Причина відмови в оплаті |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При помилці в запиті
{ "result":"ERROR", "error_message":"Error description" }
При оплаті без 3DS СИНХРОННИЙ РЕЖИМ
При успішній оплаті без 3DS СИНХРОННИЙ РЕЖИМ
{ "action":"SALE", "result":"SUCCESS", "status":"SETTLED", "order_id":"ORDER-12345", "trans_id":"03346-89217- 70541", "descriptor":"test", "trans_date":"2012-04-03 16:02:01" }
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Опис |
| 10 додаткових полів |
array ( 'action' => 'SALE', 'result' => 'SUCCESS', 'status' => 'SETTLED', 'order_id' => '1_691201', 'trans_id' => '31176-65336-00444', 'trans_date' => '2021-01-27 16:55:33', 'descriptor' => NULL, 'auth_code' => '990647', 'hash' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Опис |
| Код авторизації |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При невдалій оплаті без 3DS СИНХРОННИЙ РЕЖИМ
{ "action":"SALE", "result":"DECLINED", "status":"DECLINED", "order_id":"ORDER-12345", "trans_id":"03346- 89214-54141", "trans_date":"2012-04-03 16:02:01", "decline_reason":"Declined by processing" }
Параметри | Опис |
---|---|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Опис |
| Причина відмови |
array ( 'action' => 'SALE', 'result' => 'DECLINED', 'status' => 'DECLINED', 'order_id' => '1_691201', 'trans_id' => '31176-65336-00444', 'trans_date' => '2021-01-27 16:55:33', 'decline_reason' => 'Declined by processing', 'hash' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Причина відмови в оплаті |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При оплаті без 3DS АСИНХРОННИЙ РЕЖИМ
Проміжна відповідь АСИНХРОННИЙ РЕЖИМ
{ "action":"SALE", "result":"ACCEPTED", "trans_id":"03346-89211- 86461", "order_id":"ORDER-12345", "trans_date":"2012-04-03 16:02:01" }
Параметри | Опис |
---|---|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
При успішній оплаті з 3DS АСИНХРОННИЙ РЕЖИМ
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, 'recurring_token' => '01e00c2b39bb3b933723307c442efd02', 'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2', 'hash' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Опис |
| Код авторизації |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При невдалій оплаті з 3DS АСИНХРОННИЙ РЕЖИМ
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' => '********************************', )
Параметри | Опис |
---|---|
|
|
|
|
|
|
| ID транзакції в системі мерчанта |
| ID транзакції в платіжній системі |
| Дата транзакції. Час в UTC |
| Сума |
| 10 додаткових полів |
| Унікальний ідентифікатор термінала в платіжній системі. |
| Маска картки в форматі ХХХХХХ****ХХХХ |
| Унікальне зашифроване значення номера картки, яке повертатиметься в колбеку під час оплати, верифікації, погашення та виплати коштів на картку. Цей параметр дозволить вам в вашій системі:
|
|
|
| Ознака як буде списуватись комісія з мерчанта:
|
| Сума комісії з мерчанта в ГРН |
| Валюта |
| Причина відмови в оплаті |
| Зашифрований підписк для перевірки достовірності коллбека md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card,0,6). substr(card,-4) ) ) ) Увага! Якщо в запиті на оплату не було вказано |
При помилці в запиті
{ "result":"ERROR", "error_message":"Error description" }
Помилки запитів
Response: {"result":"ERROR","error_message":"Incorrect sign"}
Варіант 1
Невірно сформований зашифрований підпис.
Перевірте вірність сформованого підпису. Якщо помилку не знайшли зверніться до тих підтримки.
Варіант 2
Додані параметри, які не входять до цього запиту.
Перевірте список параметрів, що передаються. Якщо помилку не знайшли зверніться до тих підтримки.
Варіант 3
Неправильно зашифрована data
.
Перевірити чи ви використовуєте UTF-8 і правильний формат параметрів.
Response: {"result":"ERROR","error_message":"Empty action"}
Варіант 1
Параметр action заповнений неправильно, порожній, чи не першому місці у списку параметрів запиту.
Перевірте список параметрів, що передаються. Якщо помилку не знайшли зверніться до тих підтримки.
Варіант 2
Запит надсилається методом GET, а не POST.
Надіслати запит методом POST.
Response: {"result":"ERROR","error_message":"Order already exists"}
Значення order_id має бути унікальним. Ця помилка говорить про те, що у вас вже була успішна транзакція з таким order_id.
Замінити значення order_id на новий унікальний.
Response: {"result":"ERROR","error_message":"Service error"}
Ситуація потребує уваги співробітників Platon.
Рекомендуємо звернутися до тех підтримки Platon для перевірки причини.
Response: {"result":"ERROR","error_message":"Previous transaction not completed"}
Ситуація потребує уваги співробітників Platon.
Рекомендуємо звернутися до тех підтримки Platon для перевірки причини.
Response: {"result":"ERROR","error_message":"Recurring not supported"}
rc_token
заблокований, докладніше про причини можна дізнатися у розділі /wiki/spaces/docs/pages/1323303006
Рекомендуємо видалити цей rc_token
з вашої бази даних та повторити верифікацію карти для отримання rc_token
та можливості проведення транзакцій за новим токеном.
Response: {"result":"ERROR","error_message":"Initial transaction too old"}
card_token
заблокований, докладніше про причини можна дізнатися у розділі /wiki/spaces/docs/pages/1323303006
Рекомендуємо видалити цей card_token
з вашої бази даних та повторити верифікацію карти для отримання card_token
та можливості проведення транзакцій за новим токеном.
Response: {"result":"ERROR","error_message":"Account error"}
Варіант 1
Ваша IP адреса не додана до нашого білого списку.
Зверніться до підтримки для додавання вашого IP в білий список.
Варіант 2
Цей функціонал вам не підключений.
Зверніться до підтримки для активації функціоналу.
Варіант 3
Запит надіслано не на те посилання.
Рекомендуємо звірити посилання для надсилання запиту із зазначеною у потрібному розділі документації.
Варіант 4
У запиті вказано неправильне або неіснуюче значення параметра channel_id
.
Перевірте значення channel_id
на достовірність або уточніть у тех підтримки доступні у вас значення.
Response: {"result":"ERROR","error_message":"Card token not found for current client"}
Надсилання запиту по цьому card_token
відключена для цього API ключа так як card_token
був отриманий на іншому API ключі.
Зверніться до тих підтримки для вирішення цієї ситуації.
Response: {"result":"ERROR","error_message":"Incorrect hash"}
Варіант 1
Неправильно сформовано зашифрований підпис.
Перевірте вірність сформованого підпису. Якщо помилка не знайдена зверніться до тех підтримки.
Варіант 2
Додані параметри, які не входять до цього запиту.
Перевірте список параметрів, що передаються. Якщо помилка не знайдена зверніться до тех підтримки.
Варіант 3
Запит був відправлений не з того API ключа, за яким був отриманий rc_token
.
Рекомендуємо замінити API ключ на той, яким було отримано rc_token
.
Response: {"result":"ERROR","error_message":"Duplicate request"}
За одну хвилину в систему було відправлено кілька однакових запитів.
Рекомендуємо перевірити ваш механізм надсилання запитів на наявність задвоєння.
Response: {"result":"ERROR","error_message":"Incorrect card_token value"}
Варіант 1
Запит було надіслано менш ніж через 10 хвилин після отримання токена.
Рекомендуємо налаштувати надсилання запитів щонайменше через 10 хвилин після отримання токена. Запит, за яким отримана ця помилка, необхідно повторити.
Варіант 2
В параметр card_token
внесено неправильне значення.
Рекомендуємо перевірити вірність внесених даних у поле card_token
отриманого з колбека раніше. Запит, за яким отримана ця помилка, необхідно повторити.
Response: {"result":"ERROR","error_message":"Not found card token"}
Варіант 1
Запит було надіслано менш ніж через 10 хвилин після отримання токена.
Рекомендуємо налаштувати надсилання запитів щонайменше через 10 хвилин після отримання токена. Запит, за яким отримана ця помилка, необхідно повторити.
Варіант 2
В параметр card_token
внесено неправильне значення.
Рекомендуємо перевірити вірність внесених даних у поле card_token
отриманого з колбека раніше. Запит, за яким отримана ця помилка, необхідно повторити.
'decline_reason' => '102: Token is not active'
rc_token
заблокований, докладніше про причини можна дізнатися у розділі /wiki/spaces/docs/pages/1323303006
Рекомендуємо видалити цей rc_token
з вашої бази даних та повторити верифікацію карти для отримання rc_token
та можливості проведення транзакцій за новим токеном.
'error_message' => 'Wrong credit_date'
credit_date
введено не відповідно до формату YYYY-MM-DD або вказано майбутню дату.
Рекомендуємо вказати в credit_date
минулу дату чи поточну у форматі YYYY-MM-DD.
'error_message' => 'Invalid pan'
Invalid pan
введено неправильний номер картки.
Звірте номер картки. Рекомендуємо перевіряти номер картки на дійсність перед відправкою у запиті використовуючи алгоритм Луна.
- No labels