Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 65 Current »

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


Зміст


Опис

Цей метод дозволить розмістити на вашому сайті або додатку окрему кнопку оплати Apple Pay.


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

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

Вимоги

 SSL сертифікат

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

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

 TLS 1.2

Обов'язкова підтримка протоколу TLS не нижче версії 1.2

 У випадку регулярних списань без участі платника
  • Повідомити платника про умови підписки та регулярних списань та отримати підтвердження про згоду з умовами

  • Розмістити договір публічної оферти та отримати підтвердження від платника про згоду з умовами

  • Надати платнику можливість відмінити підписку

  • Згідно правил МПС дозволена лише одна спроба списання коштів з платника за добу


Обмеження

 Apple Pay

Згідно обмежень Apple - Apple Pay працює:


Apple Pay API

Apple Pay API

Відповідно офіційної документації Apple Pay для генерації payment_token необхідно виконати наступні кроки:

  1. Перевірити можливість клієнтом оплати за допомогою Apple Pay 

if (window.ApplePaySession) {
 // The Apple Pay JS API is available.
}

2. Відобразити кнопку Apple Pay 

3. Створити сесію Apple Pay

4. Пройти валідацію сесії Apple Pay

5. Отримати платіжну авторизацію та платіжний об'єкт (токен) Apple Pay. Приклад:

 Приклад токену отриманого від Apple Pay
{
  "paymentData":{
    "version":"EC_v1",
    "data":"yI4XAA4JeMDgKB6gxENZ2XwXjFDuPR5a6QHjES6mRqqhExHaL9qhFCiTWB0GDfeNTZS/3rOKVAzunOZcZ/EeKYHpgjKL07IiNmtYMrUj1CIwlUh7A49XX5CWMIbvhHfT6QEObZBqMEdIrx58IWxs2172TNmvEjy+kSF/D2+I4q7+DuztDY34L+vfwZ1wFTel5vneoYkaSteAkXth1K99T7GEqQ+UHVquKfY2/4v5nSBordFspxHUUgZp3gap4r40wp68Kg/CEpr3MCdz42zJwZxIcvvGkGy5c/knrOhNZNFTnZZuyNO8uDWEBWZKPCLv8Wj4Ki83yf26DNzSPAQCxgs6K4s1VNA/VDItFyuwmWUlIdRe2QA1Y+CPuxMIaaA6QG33PahqbltxnSf6VZEhdOeKYgR0x8BrtVpmxxl5aI17j0UPNVuYA4zEh3XXsW0IkxTt2upTbKEezAMHUlZ26STUIQnLxfP4IoVKeXTdbjxiLqIDKce9ZKsvB4xA3ptfCC9PvkPDX3c+FDGHSJmh6V9Vo7f6mHV0aPqafNNnNhaRVLWnEKBexvYUjg==",
    "signature":"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",
    "header":{
      "ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+pI1hNoCM9bW8vSmYRpNaSpBuNzuQMVLFs0DMMrN7JgKzlRxv7i+JzCkFnqcmdluDq2HPtTuSx3GJY9LL9upkA==",
      "publicKeyHash":"zfJ71ggZ3N330/bdjh41DeAfazJlpkqHM8kLjdUUEJc=",
      "transactionId":"68e8200b7b44b551ce01c067bcf1b55b595a0e43885ea3a41cf22d7f93e5a6a1"
    }
  },
  "paymentMethod":{
    "displayName":"MasterCard 1750",
    "network":"MasterCard",
    "type":"debit"
  },
  "transactionIdentifier":"68E8200B7B44B551CE01C067BCF1B55B595A0E43885EA3A41CF22D7F93E5A6A1"
}

Налаштуйте відправку отриманого значення токену в параметрі payment_token у відповідному форматі вказаному нижче:

 Приклад формату для передачі токена по API методу Apple Pay

'payment_token' => '{"paymentData":{"data":"9bT/4ZvtUwhVZNYYJzHy5q0fdYt+qOuH+tn14wuAg6f3THs0Dt0iUu6Vgpek1rJBAvRqQ/y1MxdKBecnf0WrTyXWSa1gbEq/3wp3HyJTRQLgWVXbGZjyH4SIhYJhi7cfL4h4VkhxfVpnZU36F0B8W0Q21i8tQmeIOY4pPfNQm61FVr3+LLjCAHM89yIsb3NWPX5pFNEdpP1PddoGAf02mnHC2ccU4ebCa/zWbDOIiNu5MmQoeQZ9SlQO6Qiz2PkmaJnIwDGT5ZeogCKKvS1DOlwcW4Yy6eHGgQ9lmRwsr+NzMy740a+sjA8j/9rGTDB+qHkNu/7VqXN7b9wZNZHZVnTMfd7iP0WlWzBbzu8wz3zAxzCBn4taV79+/NVCLnRuKBddbV/RqOEz4kH0GKHI","signature":"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","header":{"publicKeyHash":"IbqvPL2hlWbWg5+wo7bqyXKyFEo9aX6EtD7MMJBEC1o=","ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBk/ncmFdP2TAa3I3gYEOEfA4OXEgJGMmSg1b2ZEhpwhQmKyWMl1eiFrevDUY/lq6Brl1o5H/vVkLiBGq5Dp2Aw==","transactionId":"2779960e7aed8a5157bf17104112d86640fcb91cdf0c99a7496b8c0951ee8c45"},"version":"EC_v1"},"paymentMethod":{"displayName":"MasterCard 2351","network":"MasterCard","type":"credit"},"transactionIdentifier":"2779960e7aed8a5157bf17104112d86640fcb91cdf0c99a7496b8c0951ee8c45"}'

Також рекомендуємо ознайомитись з демо наданого Apple для Apple Pay: 

https://applepaydemo.apple.com/


Приклад інтеграції

API параметри

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

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

APPLEPAY

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

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

String

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

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

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

String

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

Max 255 символів

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

Number

Сума оплати

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

1000.00

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

1000
1000.0
1,000.0
1,000.00

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

UAH

Валюта

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

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

String

Опис

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

Max 1024 символів

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

String

Токен від Apple Pay

Відформатований по прикладу вище токен отриманий від Apple Pay

Приклад вказано вище у звернутому списку.

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

String

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

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

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

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

String

E-mail платника

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

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

Max 256 символів

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

String

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

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

Мах 32 символи

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

String

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

Мах 1024 символів

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

String

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

md5(
  strtoupper(
    strrev($email).
    $client_pass.
    strrev($payment_token)
  )
)

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

String

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

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

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

String

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

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

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

String

По батькові платника

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

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

String

Дата народження платника 

В форматі “YYYY-MM-DD”

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

String

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

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

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

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 символи

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
НЕ ОБОВ'ЯЗКОВИЙ

String

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

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

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

String

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

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

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

Y
N

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

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

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

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

Y
N

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

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


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

 Приклад запиту на PHP
<?php
  $client_pass='****************';
  $data['action']='APPLEPAY';
  $data['client_key']='***';
  $data['order_id']='Test_006';
  $data['order_amount']='100.00';
  $data['order_currency']='UAH';
  $data['order_description']='test';
  $data['payer_email']='test@gmail.com';
  $data['payer_phone']='380962111111';
  $data['payer_ip']='11.195.75.204';
  $data['term_url_3ds']= 'https://www.google.com/';
  $data['payment_token']='{"paymentData":{"data":"9bT/4ZvtUwhVZNYYJzHy5q0fdYt+qOuH+tn14wuAg6f3THs0Dt0iUu6Vgpek1rJBAvRqQ/y1MxdKBecnf0WrTyXWSa1gbEq/3wp3HyJTRQLgWVXbGZjyH4SIhYJhi7cfL4h4VkhxfVpnZU36F0B8W0Q21i8tQmeIOY4pPfNQm61FVr3+LLjCAHM89yIsb3NWPX5pFNEdpP1PddoGAf02mnHC2ccU4ebCa/zWbDOIiNu5MmQoeQZ9SlQO6Qiz2PkmaJnIwDGT5ZeogCKKvS1DOlwcW4Yy6eHGgQ9lmRwsr+NzMy740a+sjA8j/9rGTDB+qHkNu/7VqXN7b9wZNZHZVnTMfd7iP0WlWzBbzu8wz3zAxzCBn4taV79+/NVCLnRuKBddbV/RqOEz4kH0GKHI","signature":"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","header":{"publicKeyHash":"IbqvPL2hlWbWg5+wo7bqyXKyFEo9aX6EtD7MMJBEC1o=","ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBk/ncmFdP2TAa3I3gYEOEfA4OXEgJGMmSg1b2ZEhpwhQmKyWMl1eiFrevDUY/lq6Brl1o5H/vVkLiBGq5Dp2Aw==","transactionId":"2779960e7aed8a5157bf17104112d86640fcb91cdf0c99a7496b8c0951ee8c45"},"version":"EC_v1"},"paymentMethod":{"displayName":"MasterCard 2351","network":"MasterCard","type":"credit"},"transactionIdentifier":"2779960e7aed8a5157bf17104112d86640fcb91cdf0c99a7496b8c0951ee8c45"}';
  $data['hash'] = md5(
            strtoupper(
              strrev(
              $data['payer_email']
              ).
              ($client_pass).
              strrev(
                $data['payment_token']
              )
            )
          );
          
$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, http_build_query($data));
$result = curl_exec($crq);
  if (curl_errno($crq)) {
    echo 'ERROR: '.curl_error($crq);
  }else{
    echo $result;
  }
curl_close($crq);

Тестування

Тестування проводиться тільки в бойовому режимі використовуючи реальну картку прив'язану в Apple Pay.


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

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

Callback & Response

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

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



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

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

 Подробиці

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

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


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

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

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


CSV файл

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

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


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

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



Callback & Response

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

URL для Callback

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


IP адреси

Callback будуть надходити з IP:
78.140.172.231
78.140.135.130
167.99.253.235
62.113.223.114
62.113.223.116
212.83.61.161
185.172.90.66
185.172.90.74
185.172.90.75
185.172.90.115
185.172.90.119


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

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


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

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


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

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

 Безпека

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


Довірені IP

Для забезпечення додаткової безпеки рекомендуємо опціонально додати в білий список доступів POST запити тільки з наших довірених IP:
78.140.172.231
78.140.135.130
167.99.253.235
62.113.223.114
62.113.223.116
212.83.61.161
185.172.90.66
185.172.90.74
185.172.90.75
185.172.90.115
185.172.90.119


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

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


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

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


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

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


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

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


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

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


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

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


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

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


При оплаті з 3DS СИНХРОННИЙ РЕЖИМ

Проміжний редірект платника на 3DS СИНХРОННИЙ РЕЖИМ

 Response для редіректу платника на перевірку 3DS
{
  "action":"APPLEPAY",
  "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"
}

Параметри

Опис

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

APPLEPAY

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

REDIRECT

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

3DS

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

Ордер ID в системі мерчанта

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

Ордер ID в платіжній системі

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

Дата транзакції. Час в UTC

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

URL для редіректу на 3DS

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

Дані для 3DS

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

Метод відправки параметрів 3DS (POST/GET)

 Проміжний Callback при наявності 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 (
      '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' => '********************************',
)

Параметри

Опис

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

SALE

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

REDIRECT

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

3DS

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

URL для редіректу на 3DS

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

Дані для 3DS

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

Метод відправки параметрів 3DS (POST/GET)

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

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

md5(
  strtoupper(
    strrev(email).
    CLIENT_PASS.
    strrev(payment_token)
  )
)

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

При успішній оплаті з 3DS СИНХРОННИЙ РЕЖИМ

Response про фінальний статус при оплаті з 3DS відсутній.

 Callback при успішній оплаті
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' => '********************************',
)

Параметри

Опис

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

SALE

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

SUCCESS

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

SETTLED

PENDING якщо оплата в холді

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

Опис

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

Код авторизації

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

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

При невдалій оплаті з 3DS СИНХРОННИЙ РЕЖИМ

Response про фінальний статус при оплаті з 3DS відсутній.

 Callback при невдалій оплаті
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' => '********************************',
)

Параметри

Опис

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

SALE

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

DECLINED

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

DECLINED

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

Причина відмови в оплаті

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці hash вкажіть пусте значення email.Зашифрованная подпись для проверки достоверности коллбека


При оплаті з 3DS АСИНХРОННИЙ РЕЖИМ

Проміжна відповідь АСИНХРОННИЙ РЕЖИМ

 Response при успішній відправці запиту на оплату
{
  "action":"SALE",
  "result":"ACCEPTED",
  "trans_id":"03346-89211- 86461",
  "order_id":"ORDER-12345",
  "trans_date":"2012-04-03 16:02:01"
}

Параметри

Опис

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

SALE

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

ACCEPTED

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

Проміжний редірект платника на 3DS АСИНХРОННИЙ РЕЖИМ

 Callback для редіректу платника на перевірку 3DS
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)

Параметри

Опис

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

SALE

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

REDIRECT

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

3DS

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

URL для редіректу на 3DS

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

Дані для 3DS

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

Метод відправки параметрів 3DS (POST/GET)

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

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

md5(
  strtoupper(
    strrev(email).
    CLIENT_PASS.
    strrev(payment_token)
  )
)

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

При успішній оплаті з 3DS АСИНХРОННИЙ РЕЖИМ

 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,
  'recurring_token' => '01e00c2b39bb3b933723307c442efd02',
  'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
  'hash' => '********************************',
)

Параметри

Опис

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

SALE

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

SUCCESS

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

SETTLED

PENDING якщо оплата в холді

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

Опис

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

Код авторизації

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

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

При невдалій оплаті з 3DS АСИНХРОННИЙ РЕЖИМ

 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 транзакції в платіжній системі

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

Дата транзакції. Час в UTC

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

Причина відмови в оплаті

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці hash вкажіть пусте значення email.Зашифрованная подпись для проверки достоверности коллбека


При помилці в запиті

 Response при помилці в запиті
{
  "result":"ERROR",
  "error_message":"Error description"
} 

При оплаті без 3DS СИНХРОННИЙ РЕЖИМ

При успішній оплаті без 3DS СИНХРОННИЙ РЕЖИМ

 Response при успішному списанні без 3DS
{
  "action":"APPLEPAY",
  "result":"SUCCESS",
  "status":"SETTLED",
  "order_id":"ORDER-12345",
  "trans_id":"03346-89217- 70541",
  "descriptor":"test",
  "trans_date":"2012-04-03 16:02:01"
} 

Параметри

Опис

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

APPLEPAY

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

SUCCESS

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

SETTLED

PENDING якщо оплата в холді

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

Опис

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

 Callback при успішному списанні
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' => '********************************',
)

Параметри

Опис

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

SALE

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

SUCCESS

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

SETTLED

PENDING якщо оплата в холді

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

Опис

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

Код авторизації

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

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

При невдалій оплаті без 3DS СИНХРОННИЙ РЕЖИМ

 Response при невдалому списанні без 3DS
{
  "action":"APPLEPAY",
  "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"
}

Параметри

Опис

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

APPLEPAY

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

DECLINED

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

Опис

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

Причина відмови

 Callback при невдалому списанні
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' => '********************************',
)

Параметри

Опис

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

SALE

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

DECLINED

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

DECLINED

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

Причина відмови в оплаті

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці hash вкажіть пусте значення email.Зашифрованная подпись для проверки достоверности коллбека


При оплаті без 3DS АСИНХРОННИЙ РЕЖИМ

Проміжна відповідь АСИНХРОННИЙ РЕЖИМ

 Response при успішній відправці запиту на обробку
{
  "action":"SALE",
  "result":"ACCEPTED",
  "trans_id":"03346-89211- 86461",
  "order_id":"ORDER-12345",
  "trans_date":"2012-04-03 16:02:01"
}

Параметри

Опис

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

SALE

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

ACCEPTED

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

При успішній оплаті з 3DS АСИНХРОННИЙ РЕЖИМ

 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,
  'recurring_token' => '01e00c2b39bb3b933723307c442efd02',
  'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
  'hash' => '********************************',
)

Параметри

Опис

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

SALE

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

SUCCESS

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

SETTLED

PENDING якщо оплата в холді

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

ID транзакції в системі мерчанта

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

ID транзакції в платіжній системі

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

Дата транзакції. Час в UTC

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

Опис

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

Код авторизації

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

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

При невдалій оплаті з 3DS АСИНХРОННИЙ РЕЖИМ

 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 транзакції в платіжній системі

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

Дата транзакції. Час в UTC

amount
ОПЦІЯ

Сума

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

MID
ОПЦІЯ

Унікальний ідентифікатор термінала в платіжній системі.

card
ОПЦІЯ

Маска картки в форматі ХХХХХХ****ХХХХ

card_hash
ОПЦІЯ

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

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

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

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

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

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

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

fee_type
ОПЦІЯ

Ознака як буде списуватись комісія з мерчанта:

  • ACT - по актам.

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

fee
ОПЦІЯ

Сума комісії з мерчанта в ГРН

currency
ОПЦІЯ

Валюта

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

Причина відмови в оплаті

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

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card,0,6).
      substr(card,-4)
    )
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці hash вкажіть пусте значення email.Зашифрованная подпись для проверки достоверности коллбека


При помилці в запиті

 Response при помилці в запиті
{
  "result":"ERROR",
  "error_message":"Error description"
} 

Помилки та рішення

 Список помилок та варіанти їх рішень
 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 прошедшую дату или текущую.

 Invalid pan

'error_message' => 'Invalid pan'

Invalid pan введен не верный номер карты.

Сверьте номер карты. Рекомендуем проверять номер карты на действительность перед отправкой в запросе используя алгоритм Луна.

  • No labels