Versions Compared

Key

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

Зміст

Table of Contents

...

Описание:

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

Cо стороны плательщика проводится обычная оплата с вводом всех карточных данных

Обязательные требования к сайту:

API Endpoint (cсылка для отправки запросов):

Описание параметров запроса:

...

Параметр

...

Значение

...

Описание

...

Особенности

...

Обязательно

...

minLevel1
maxLevel2
indent0px
absoluteUrltrue
stylecircle


Опис

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

Info

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

Tip

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

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

  2. Підтвердження (API запит №2)

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


Вимоги

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

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

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action

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

DEBIT_PREPARE

Код

...

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

 

...

Да

...

async

...

"Y" или "N"

...

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

...

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

...

async

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

Y
N

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

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

channel_id

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

String

...

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

...

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

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

client_key

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

String

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

Ключ

...

надається на

...

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

...

order_id

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

String

ID

...

оплати в

...

системі мерчанта

Max 32

...

символи

order_amount

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

Number

...

Сума оплати

Tip

...

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

1000.00

Warning

...

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

1000
1000.0
1,000.0
1,000.00

...

order_currency

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

UAH

Валюта

...

оплати

Info

Оплата

...

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

order_description

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

String

...

Опис оплати

Note

Для

...

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

Max 255 символов

...

payer_first_name

...

String

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

String

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

Max 32

...

символів без

...

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

payer_last_name

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

String

...

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

Max 32

...

символів без

...

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

payer_address

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

String

...

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

Max 256

...

символів

...

Вкажіть "NA"

...

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

payer_country

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

String

...

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

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

...

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

...

payer_state

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

String

Штат

...

платника

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

...

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

...

payer_city

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

String

...

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

Max 32

...

символи

...

Вкажіть "NA"

...

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

payer_zip

...

String

...

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

...

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

...

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

String

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

Max 32 символи

payer_email

Status
colourGreen
title

...

String

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

String

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

Info

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

Info

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

Max 255 символа

...

Да

...

payer_phone

...

Number

...

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

...

Note

Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то:

  1. обязательный формат телефона 380…

  1. номер телефона должен соответствовать финансовому номеру привязанному к карте

...

Да


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

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
colour

...

Number

...

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

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

Number

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

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

...

card_cvv2

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

Number

...

CVV код

...

В

...

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

...

req_token

...

"Y" или "N"

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

Y
N

Для формування card_token

...

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

...

Да

...

hash

...

String

...

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

...

languagephp

...

Да

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

Для просмотра примера раскройте список

Получение статуса транзакции в Callback и Response:

Tip

Ответы будут поступать с наших IP:
78.140.172.231
62.113.223.114
78.140.135.130
167.99.253.235

Info

Для получения коллбеков отправьте ссылку на ваш обработчик в ваш групповой чат. Ссылка для коллбеков прописывается на стороне Platon.

После отправки коллбека в ответ Platon должен получить код HTTP 200 OK. Если коллбек не удалось доставить будет произведено до 5 попыток повторной отправки в течение 60 секунд.

Опциональные варианты активация которых происходит по вашему обращению в групповом чате:

  • Коллбеки в формате JSON

  • Basic Authorization

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

Для просмотра примера раскройте список

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

Данный режим активируется при передаче ‘async’='Y'. В этом режиме обязательно необходимо принимать callback на ваш callback url.

Для просмотра примера раскройте список

Дополнительная проверка оплаты:

...

term_url_3ds

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

String

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

Max 255 символів

itn

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

String

ІПН платника

signature

Status
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

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='***************';
  $params['action']='DEBIT_PREPARE';
  $params['client_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Безпека
Include Page
Безпека
Безпека
Include Page
Callback / Response - DEBIT
Callback / Response - DEBIT