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 6 Next »

Содержание


Описание

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

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


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

 PCI DSS или PCI Compliance

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

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

 SSL сертификат

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

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

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

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

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

Unable to render {include} The included page could not be found.
 TLS 1.2

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


API параметры

HTTP METHOD: POST

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

Параметр

Значение

Описание

Особенности

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

DEBIT_PREPARE

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

 

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

Y
N

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

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

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

String

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

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

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

String

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

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

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

String

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

Max 32 символа

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

Number

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

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

1000.00

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

1000
1000.0
1,000.0
1,000.00

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

UAH

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

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

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

String

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

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

Max 255 символов

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

String

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

Max 32 символа без пробелов

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

String

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

Max 32 символа без пробелов

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

String

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

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

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

String

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

Стандарт ISO 3166-1 alpha-2
В формате "ХХ"
2 символа
Укажите "NA", если нет данных

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

String

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

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

Стандарт ISO 3166-2
В формате "ХХ"
2 символа
Укажите "NA", если нет данных

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

String

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

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

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

String

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

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

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

String

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

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

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

Max 255 символа

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

Number

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

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

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

Number

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

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

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

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

Number

Полный номер карты

В формате "ХХХХХХХХХХХХХХХХ"
16 символов

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

Number

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

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

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

Number

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

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

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

Number

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

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

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

Y
N

Для получения card_token

По умолчанию "N"

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

String

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

Max 255 символов

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

String

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

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.
    )
  )
)

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

 Пример запроса на PHP
<?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']='7Y0Y8RCGG5';
  $pars['trans_id']=$moda['trans_id'];
  $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

 Особенности работы с Callback
Unable to render {include} The included page could not be found.
 Безопасность
Unable to render {include} The included page could not be found.

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

Данный режим работает по умолчанию. Передавать async = N не нужно.

 Callback при успешном списании
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

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

  • No labels