Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Содержание

Зміст

Table of Contents
minLevel1
maxLevel2
indent0px
absoluteUrltrue
stylecircle

Описание

Данный функционал позволяет вам разместить платежную форму на вашей стороне, с вашим уникальным дизайном, и без перехода плательщика на нашу форму ввода карточных данных.

Также, получить преимущество при погашении клиентами кредитных организаций используя пониженный тариф по Дебету


Опис

Оплата по технології C2A дебет з обробкою карткових даних.

Info

Обов'язкова наявність у мерчанта PCI DSS.

Tip

Внимание! Данный запрос выполняется в несколько этапов:

Инициализация (API запрос

Увага! Цей запит виконується в декілька етапів:

  1. Ініциалізація (API запит №1)

Подтверждение
  1. Підтвердження (API

запрос
  1. запит №2)

Редирект плательщика
  1. Редірект платника на 3DS


Требования к сайту

Вимоги

Expand
titlePCI DSS или PCI Compliance

Наличие у мерчанта PCI DSS сертификата или PCI Compliance (сканирования).

Note

Согласуйте первоначально с вашим менеджером PSP Platon.

Expand
titleSSL сертификат

У вашего сайта должен быть SSL сертификат.

Для проверки валидности и срока действия вашего SSL сертификата рекомендуем воспользоваться сервисом по ссылке.

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

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

Скачайте подходящие под стиль вашего сайта варианты логотипов.

Include PageЛоготипы для размещенияЛоготипы для размещения
Expand
titleTLS 1.2

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

API параметры №1

HTTP METHOD: POST

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

Параметр

Значение

Описание

Особенности

action

Status
colourGreen
titleОБЯЗАТЕЛЬНО

DEBIT_PREPARE

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

 

async

Status
colourYellow
titleне ОБЯЗАТЕЛЬНО

Y
N

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

В асинхронном режиме обязательное использование коллбеков.
По умолчанию значение "N"

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

API параметри №1

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action

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

DEBIT_PREPARE

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

 

async

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

Y
N

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

Стандартне значення "N" можна не передавати

channel_id

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

String

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

Відправка коштів на окремий платіжний термінал

client_key

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

String

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

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

order_id

Status
colour

Yellow

Green
title

не ОБЯЗАТЕЛЬНОclient_key

Обов'язковий

String

Дополнительный платежный канал

Позволяет отправить платежи на другой банковский терминал

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

Max 32 символи

order_amount

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

order_id

Status
colourGreen
titleОБЯЗАТЕЛЬНО

String

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

Max 32 символа

order_amount

Обов'язковий

String

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

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

Number

Сума оплати

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

order_currency

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Number

UAH

Сумма платежа

order_currency

Status
colourGreen
titleОБЯЗАТЕЛЬНО

UAH

Валюта платежа

Info

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

order_description

Валюта оплати

Tip

Верный вариант

1000.00

Warning

Неверные варианты

1000
1000.0
1,000.0
1,000.00

Info

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

order_description

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

String

Опис оплати

Note

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

Max 255 символов

payer_first_name

Status
colourGreen
title

ОБЯЗАТЕЛЬНОpayer_first

Обов'язковий

String

Описание платежа

Note

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

Max 255 символов

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

Max 32 символів без пробілів
Вкажіть "NA" якщо немає даних

payer_last_name

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

String

Имя плательщика

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

Max 32

символа

символів без

пробелов

пробілів

Укажите

Вкажіть "NA"

, если нет данных

якщо немає даних

payer_

last_name

address

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

payer_address

Status
colourGreen
titleОБЯЗАТЕЛЬНО

String

Адрес плательщика

Max 256 символа
Укажите "NA", если нет данных

Обов'язковий

String

Фамилия плательщика

Max 32 символа без пробелов
Укажите "NA", если нет данных

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

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

payer_country

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

String

Страна плательщика

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

Стандарт ISO 3166-1 alpha-2
В

формате

форматі "ХХ"
2 символа

Укажите "NA", если нет данных

payer_state

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

String

Штат

плательщика
Note

Обязательный параметр для стран US, CA, AU

платника

Стандарт ISO 3166-2
В

формате

форматі "ХХ"
2 символа


Укажите "NA", если нет данных

payer_city

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

String

Город плательщика

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

Max 32

символа

символи

Укажите

Вкажіть "NA"

, если нет данных

якщо немає даних

payer_zip

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

String

Почтовый индекс плательщика

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

Max 32

символа
Укажите "NA", если нет данных

символи

payer_email

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

String

Почта плательщика

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

Info
Обязательно валидная почта.

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

Info
Отсутствие пробелов

Без пробілів.

Max 255 символа

payer_phone

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Number

String

Номер

телефона плательщика

телефону платника

Info
Обязательный

Обов'язковий формат

телефона

телефону 380…

payer_ip

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Number

IP-

адрес плательщика

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

В

формате

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

Note

IPv6 на

данный

даний момент не

поддерживается

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

card_number

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Number

Полный

Повний номер

карты

картки

В

формате

форматі "ХХХХХХХХХХХХХХХХ"
16

символов

символів

card_exp_month

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Number

Месяц окончания срока действия карты

Місяць терміну дії картки

В

формате

форматі "ХХ"
2 символа

card_exp_year

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Number

Год окончания срока действия карты

Рік терміну дії картки

В

формате

форматі "ХХХХ"
4 символа

card_cvv2

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Number

Проверочный

CVV код

на карте

В

формате

форматі "ХХХ"
3 символа

req_token

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

Y
N

Для

получения

формування card_token

По умолчанию

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

term_url_3ds

Status
colourGreen
title

ОБЯЗАТЕЛЬНО

Обов'язковий

String

Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении

Посилання по якому буде відправлено платника після успішної / невдалої спроби оплати після 3DS

Max 255

символов

символів

signature

itn

Status
colour

Green

Yellow
title

ОБЯЗАТЕЛЬНО

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

String

Контрольная подпись

ІПН платника

code

signature

languagesha1

Status

php

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

String

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

Code Block
languagephp
sha1(
  $pass.
  strtolower(
    implode(
      '',
      $action.
      $client_key.
      $order_id.
      $order_amount.
      $order_currency.
      $order_description.
      $card_number.
      $card_exp_month.
      $card_exp_year.
      $card_cvv2.
      $payer_first_name.
      $payer_last_name.
      $payer_phone.
      $payer_address.
      $payer_country.
      $payer_state.
      $payer_city.
      $payer_zip.
      $payer_email.
      $payer_ip.
      $term_url_3ds.
    )
  )
)
Note

Значення в hash мають відповідати послідовності полів в самому запиті.


API

параметры

параметри №2

HTTP METHOD: POST

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

Параметр

Значение

Значення

Описание

Опис

Особенности

Особливості

action

Status
colourGreen
title

Обязательно

Обов'язковий

DEBIT_RUN

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

метода

методу

 

client_key

Status
colourGreen
title

Обязательно

Обов'язковий

String

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

Ключ

предоставляется

надається на

почту мерчанту

пошту мерчанта

trans_id

Status
colourGreen
title

Обязательно

Обов'язковий

String

ID

платежа

оплати в

системе

системі PSP Platon

Уникальный ордер ID транзакции в Platon

card_cvv2

Status
colourGreen
title

Обязательно

Обов'язковий

Number

Проверочный

CVV код

на карте

В

формате

форматі "ХХХ"
3

символа

символи

signature

Status
colourGreen
title

Обязательно

Обов'язковий

String

Контрольная подпись

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

Code Block
languagephp
sha1(
  $pass.
  strtolower(
    implode(
      '',
      $action,
      $client_key,
      $trans_id,
      $card_cvv2
    )
  )
)

Примеры запроса

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

Expand
titleПример запроса Приклад запиту на PHP
Code Block
languagephp
<?php
  $pass='***************'; //Client's password
  $params['action']='DEBIT_PREPARE';
  $params['client_key']='******';
//Client's KEY    $params['order_id']='Platon_test_37254'.rand(100, 999);
  $params['order_amount']='10.00';
  $params['order_currency']='UAH';
  $params['order_description']='test_by_Platon';
  $params['card_number'] = '1111111111111111';
  $params['card_exp_month'] = '11';
  $params['card_exp_year'] = '1111';
  $params['card_cvv2'] = '111';
  $params['payer_first_name']='Jack';
  $params['payer_last_name']='Anderson';
  $params['payer_phone']='380962111111';
  $params['payer_address']='NA';
  $params['payer_country']='UA';
  $params['payer_state']='NA';
  $params['payer_city']='NA';
  $params['payer_zip']='01001';
  $params['payer_email']='test@test.com';
  $params['payer_ip']='111.111.111.111';
  $params['term_url_3ds']='https://google.com';
  $params['signature'] = sha1($pass . strtolower(implode('', $params)));
  
  $url = 'https://secure.platononline.com/p2p-debit/';
  
  $tempData = array();
    foreach ($params as $key => $value) {
      $tempData[] = $key.'='.urlencode($value);
    }
    
  $crq = curl_init();
    curl_setopt($crq, CURLOPT_URL, $url);
    curl_setopt($crq, CURLOPT_HEADER, 0);
    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, implode('&', $tempData));
    $result = curl_exec($crq);
    if (curl_errno($crq)) {
      echo 'ERROR: '.curl_error($crq);
    }
    curl_close($crq);

  echo $result;
  $moda = json_decode($result, true);

  $pars['action']='DEBIT_RUN';
  $pars['client_key']='*******';
  $pars['trans_id']=$moda['trans_id'];
  $pars['card_cvv2']='111';
  $pars['signature']= sha1($pass . strtolower(implode('', $pars)));
  
  $temp = array();
    foreach ($pars as $key => $value) {
      $temp[] = $key.'='.urlencode($value);
    }
  $crq = curl_init();
    curl_setopt($crq, CURLOPT_URL, $url);
    curl_setopt($crq, CURLOPT_HEADER, 0);
    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, implode('&', $temp));
    $res = curl_exec($crq);
    if (curl_errno($crq)) {
      echo 'ERROR: '.curl_error($crq);
    }
    curl_close($crq);
  
  echo $res;
  $respRedirect = json_decode($res, true);
  echo $respRedirect['redirect_url'];
  
  header('Location: '.$respRedirect['redirect_url']);
  
?>

Callback

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

При неуспешной оплате:

Expand
titleResponce при неуспешном списании
Code Block
{
  "action":"DEBIT_RUN",
  "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"
}
Зашифрованная подпись для проверки достоверности коллбека
Expand
titleCallback при неуспешном списании
Code Block
languagephp
array (
  'action' => 'DEBIT_RUN',
  'result' => 'DECLINED',
  'status' => 'DECLINED',
  'order_id' => '4385323',
  'trans_id' => '28261-47789-28578',
  'trans_date' => '2020-02-25 07:12:58',
  'hash' => '********************************',
)

Параметр

Описание

action

DEBIT_RUN

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

hash

Include Page
БезопасностьБезпекаБезопасность

Промежуточная инициализация плательщикапо API запросу №1:

Expand
titleПромежуточный Responce инициализации транзакции по API запросу №1
Code Block
languagejson
{
  "action":"DEBIT_PREPARE",
  "result":"SUCCESS",
  "status":"INIT",
  "order_amount":"10.00",
  "order_commission":null,
  "order_currency":"UAH",
  "descriptor":null,
  "order_id":"Platon_test_37254615",
  "trans_id":"33999-98398-18623",
  "trans_date":"2021-12-20 11:30:39"
}

Промежуточный редирект плательщика на 3DS по API запросу №2:

Expand
titleПромежуточный Responce для редиректа плательщика на 3DS по API запросу №2
Code Block
languagejson
{
  "action":"DEBIT_RUN",
  "result":"SUCCESS",
  "status":"3DS",
  "redirect_url":"https:\/\/www.liqpay.ua\/apipay\/3ds\/request\/1640462_33031267_eUjiyjdkjUoAFjE60CpfSmg6t0nbpEZ4vJMBfIUJ\/?return_to=https%3A%2F%2Fsecure.platononline.com%2F3ds%2F173b0c33%3Foperation_type%3Ddebit2card%26trans_id%3D34000-10530-30053%26hash%3D1430b568b390d9fdgdga7030e3c22e4f74894",
  "redirect_params":null,
  "redirect_method":"GET",
  "order_id":"Platon_test461",
  "trans_id":"34000-10530-30053",
  "trans_date":"2021-12-20 11:50:57"
}

При успешной оплате:

Expand
titleResponce при успешном списании
Code Block
{
  "action":"DEBIT_RUN",
  "result":"SUCCESS",
  "status":"SETTLED",
  "order_id":"4385302",
  "trans_id":"28261-34099-19648",
  "trans_date":"2020-02-25 06:50:09",
  "card_token":"8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2"
}
Expand
titleCallback при успешном списании
Code Block
languagephp
array (
  'action' => 'DEBIT_RUN',
  'result' => 'SUCCESS',
  'status' => 'SETTLED',
  'order_id' => '4385323',
  'trans_id' => '28261-47789-28578',
  'trans_date' => '2020-02-25 07:12:58',
  'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
  'hash' => '********************************',
)

Параметр

Описание

action

DEBIT_RUN

result

SUCCESS

status

SETTLED

order_id

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

trans_id

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

trans_date

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

card_token

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

hash

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

Безпека
Include Page
Callback / Response - DEBIT
Callback / Response - DEBIT