Versions Compared

Key

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

Содержание

Table of Contents
minLevel1
maxLevel2
indent0px
absoluteUrltrue
stylecircle


Описание

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

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

Tip

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

  1. Инициализация (API запрос №1)

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

  3. Редирект плательщика на 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_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

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

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

Note

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

Стандарт ISO 3166-2
В формате "ХХ"
2 символа

payer_city

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

String

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

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

payer_zip

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

String

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

Max 32 символа

payer_email

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

String

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

Info

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

Info

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

Max 255 символа

payer_phone

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

String

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

Info

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

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

payer_ip

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

Number

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

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

Note

IPv6 на данный момент не поддерживается

card_token

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

String

card_token полученый из предыдущих транзакций

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_token.
      $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 платежа в системе Platon

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

card_cvv2

Status
colourGreen
titleОбязательно

Number

Проверочный код на карте

В формате "ХХХ"
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_token'] = '57a59ab9ec2c7cdaddf3d0d8846cb414c378ffbf1839c4cdd8faf359';
  $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