Versions Compared

Key

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

Зміст

Table of ContentsminLevel1maxLevel2indent

Зміст

Table of Contents
minLevel1
maxLevel2
indent0px
absoluteUrltrue
stylecircle


Опис

Оплата Apple Pay по технології C2A дебет.

Tip

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

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

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

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


Чекліст інтеграції

  •  Привести сайт/ приложение к соответствию требованиямдодаток до відповідності вимогам.
  •  Интегрировать Інтегрувати API Apple Pay.
  •  Создать вместе с тех поддержкой Створити разом з підтримкою PSP Platon сертификатысертифікати.
  •  Передать тех поддержке Надіслати цю підтримку PSP Platon ссылку посилання для Callback.
  •  Сообщить Повідомити в тех поддержке тих підтримці PSP Platon ваши ваші IP адреса сервера сайта или о том, что будет использоваться приложение (в этом случае ограничения по IP будут снятыадреси сервера сайту або про те, що буде використовуватись програма (у цьому випадку обмеження IP будуть зняті).
  •  Провести запрос для получения зашифрованных данных согласно запит для отримання зашифрованих даних згідно з API Apple Pay.
  •  После авторизации пользователя и выбора реальной карты в кошельке Apple Pay вернет зашифрованные данные. Провести запрос согласно API PSP Platon используя зашифрованные данные от Після авторизації користувача та вибору реальної карти в гаманці Apple Pay поверне зашифровані дані.
  •  Провести запит згідно API PSP Platon, використовуючи зашифровані дані від Apple Pay.
  •  Получить Отримати Response или або Callback для редиректа плательщика редагування платника на 3DS проверкуперевірку.
  •  Отправить клиента Надіслати клієнта на 3DS проверкуперевірку.
  •  Провести запрос с получение успешного Response или Callback со статусом платежа SUCCESS от запит на отримання успішного Response або Callback зі статусом платежу SUCCESS від PSP Platon.
  •  Уведомить клиента об успешной Повідомити клієнта про успішну/не успешной оплатеуспішну оплату.

Вимоги

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

офіційної

Сертифікати Apple Pay

API
Відповідно

Apple Pay API

Відповідно офіційної документації Apple Pay для генерації payment_token необхідно виконати наступні кроки:

  1. Перевірити можливість клієнтом оплати за допомогою Apple Pay 

Code Block
languagejs
if (window.ApplePaySession) {
 // The Apple Pay JS API is available.
}
  1. Відобразити кнопку Apple Pay 

  2. Створити сесію Apple Pay

  3. Пройти валідацію сесії Apple Pay

  4. Отримати платіжну авторизацію та платіжний об'єкт (токен) Apple Pay. Приклад:

Expand
titleПриклад токену отриманого від Apple Pay
Code Block
languagejson
{
  "paymentData":{
    "version":"EC_v1",
    "data":"yI4XAA4JeMDgKB6gxENZ2XwXjFDuPR5a6QHjES6mRqqhExHaL9qhFCiTWB0GDfeNTZS/3rOKVAzunOZcZ/EeKYHpgjKL07IiNmtYMrUj1CIwlUh7A49XX5CWMIbvhHfT6QEObZBqMEdIrx58IWxs2172TNmvEjy+kSF/D2+I4q7+DuztDY34L+vfwZ1wFTel5vneoYkaSteAkXth1K99T7GEqQ+UHVquKfY2/4v5nSBordFspxHUUgZp3gap4r40wp68Kg/CEpr3MCdz42zJwZxIcvvGkGy5c/knrOhNZNFTnZZuyNO8uDWEBWZKPCLv8Wj4Ki83yf26DNzSPAQCxgs6K4s1VNA/VDItFyuwmWUlIdRe2QA1Y+CPuxMIaaA6QG33PahqbltxnSf6VZEhdOeKYgR0x8BrtVpmxxl5aI17j0UPNVuYA4zEh3XXsW0IkxTt2upTbKEezAMHUlZ26STUIQnLxfP4IoVKeXTdbjxiLqIDKce9ZKsvB4xA3ptfCC9PvkPDX3c+FDGHSJmh6V9Vo7f6mHV0aPqafNNnNhaRVLWnEKBexvYUjg==",
    "signature":"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",
    "header":{
      "ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+pI1hNoCM9bW8vSmYRpNaSpBuNzuQMVLFs0DMMrN7JgKzlRxv7i+JzCkFnqcmdluDq2HPtTuSx3GJY9LL9upkA==",
      "publicKeyHash":"zfJ71ggZ3N330/bdjh41DeAfazJlpkqHM8kLjdUUEJc=",
      "transactionId":"68e8200b7b44b551ce01c067bcf1b55b595a0e43885ea3a41cf22d7f93e5a6a1"
    }
  },
  "paymentMethod":{
    "displayName":"MasterCard 1750",
    "network":"MasterCard",
    "type":"debit"
  },
  "transactionIdentifier":"68E8200B7B44B551CE01C067BCF1B55B595A0E43885EA3A41CF22D7F93E5A6A1"
}

Налаштуйте відправку отриманого значення токену в параметрі payment_token у відповідному форматі вказаному нижче:

Expand
titleПриклад формату для передачі токена по API методу Apple Pay

'payment_token' => '{"paymentData":{"data":"9bT/4ZvtUwhVZNYYJzHy5q0fdYt+qOuH+tn14wuAg6f3THs0Dt0iUu6Vgpek1rJBAvRqQ/y1MxdKBecnf0WrTyXWSa1gbEq/3wp3HyJTRQLgWVXbGZjyH4SIhYJhi7cfL4h4VkhxfVpnZU36F0B8W0Q21i8tQmeIOY4pPfNQm61FVr3+LLjCAHM89yIsb3NWPX5pFNEdpP1PddoGAf02mnHC2ccU4ebCa/zWbDOIiNu5MmQoeQZ9SlQO6Qiz2PkmaJnIwDGT5ZeogCKKvS1DOlwcW4Yy6eHGgQ9lmRwsr+NzMy740a+sjA8j/9rGTDB+qHkNu/7VqXN7b9wZNZHZVnTMfd7iP0WlWzBbzu8wz3zAxzCBn4taV79+/NVCLnRuKBddbV/RqOEz4kH0GKHI","signature":"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","header":{"publicKeyHash":"IbqvPL2hlWbWg5+wo7bqyXKyFEo9aX6EtD7MMJBEC1o=","ephemeralPublicKey":"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBk/ncmFdP2TAa3I3gYEOEfA4OXEgJGMmSg1b2ZEhpwhQmKyWMl1eiFrevDUY/lq6Brl1o5H/vVkLiBGq5Dp2Aw==","transactionId":"2779960e7aed8a5157bf17104112d86640fcb91cdf0c99a7496b8c0951ee8c45"},"version":"EC_v1"},"paymentMethod":{"displayName":"MasterCard 2351","network":"MasterCard","type":"credit"},"transactionIdentifier":"2779960e7aed8a5157bf17104112d86640fcb91cdf0c99a7496b8c0951ee8c45"}'

Також рекомендуємо ознайомитись з демо наданого Apple для Apple Pay: 

https://applepaydemo.apple.com/


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

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action

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

DEBIT_PREPARE_APPLE_PAY

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

 

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

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

Стандарт 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…

payer_ip

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

Number

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

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

Note

IPv6 на даний момент не підтримується

payment_token

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

String

Токен Apple Pay

Відформатований по прикладу вище токен отриманий від Apple Pay

req_token

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

Y
N

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

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

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.
      $payment_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.
      $itn
    )
  )
)
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

signature

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

String

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

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

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

Expand
titleПриклад запиту на PHP
Code Block
languagephp
<?php
  $pass='***************'; //Client's password
  $params['action']='DEBIT_PREPARE_APPLE_PAY';
  $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['payment_token'] = *****;
  $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['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
Безпека
Безпека

Проміжна ініциалізація по 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"
}

Параметр

Опис

action

DEBIT_RUN

result

SUCCESS

status

SETTLED

order_id

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

trans_id

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

trans_date

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

card_token

Зашифрований токен картки

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 транзакції в системі PSP Platon

trans_date

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

card_token

Зашифрований токен картки

hash

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

При невдалій оплаті:

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"
}

Параметр

Опис

action

DEBIT_RUN

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

decline_reason

Опис помилки

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',
  "decline_reason":"Declined by processing"
  'hash' => '********************************',
)

Параметр

Опис

action

DEBIT_RUN

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

decline_reason

Опис помилки

hash

Зашифрований підпис для перевірки достовірності коллбеку
Include Page
Callback / Response - DEBIT APPLE PAY
Callback / Response - DEBIT APPLE PAY