C2A оплата карткою (Server - Server)

Зміст

 

 


Опис

 

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

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


 


 

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

Сума оплати

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

UAH

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

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

String

Опис оплати

Max 255 символов

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

String

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

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

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

String

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

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

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

String

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

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

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

String

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

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

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

String

Штат платника

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

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

String

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

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

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

String

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

Max 32 символи

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

String

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

Max 255 символа

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

String

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

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

Number

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

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

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

Number

Повний номер картки

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

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

Number

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

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

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

Number

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

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

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

Number

CVV код

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

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

Y
N

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

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

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

String

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

Max 255 символів

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

String

ІПН платника

 

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

 

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

Параметр

Значення

Опис

Особливості

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

DEBIT_RUN

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

 

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

String

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

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

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

String

ID оплати в системі PSP Platon

 

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

Number

CVV код

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

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

String

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

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

 

 

<?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']); ?>