Versions Compared

Key

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

Этот функционал будет активирован после вашего запроса в групповом чате.

Содержание

Цей функціонал буде активовано після вашого запиту в груповому чаті.


Зміст

Table of Contents
maxLevel2
indent0px
absoluteUrltrue
stylecircle


Описание

Опис

Данный Цей метод позволит разместить на вашем сайте или в приложении отдельную кнопку для оплаты дозволить розмістити на вашому сайті або додатку окрему кнопку оплати Google Pay.


Демо

Iframe
scrollingno
srchttps://devplaton.com.ua/invoices/demo_buttons/payment_Gpay_API.html
width570
frameborderhide
height65


Чеклист интеграции

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

  •  Привести сайт / приложение к соответствию требованиямдодаток до відповідності вимогам.
  •  Интегрировать Інтегрувати API Google Pay.
  •  Указать Вказати environment в режим режимі TEST.
  •  Передать Передати тех поддержке підтримці PSP Platon ссылку посилання для Callback.
  •  Сообщить в Повідомити тех поддержке підтримці PSP Platon ваши ваші IP адреса сервера сайта или о том, что будет использоваться приложение (в этом случае ограничения по IP будут снятыадреси серверів сайта або про те, що буде використовуватить додаток (в цьому випадку обмеження по IP будуть зняті).
  •  Провести запрос для получения зашифрованных данных согласно API запит по API Google Pay для отримання кнопки Google Pay.
  •  После авторизации пользователя и выбора реальной карты в кошельке Google Pay вернет зашифрованные данные. Провести запрос согласно API PSP Platon используя зашифрованные данные от Після авторизації користувача та вибору реальної картки в гаманці Google Pay вам повернуться зашифровані дані PaymentData.
  •  З отриманих шифрованих даних PaymentData необхідно витянути token та відформатувати його відповідно до вимогам і прикладу вказаному в цій документації.
  •  Провести запит відповідно API методу PSP Platon використовуючи відформатований токен Google Pay.
  •  Получить Отримати Response или або Callback для редиректа плательщика платника на 3DS проверкуперевірку.
  •  Отправить клиента Відправити кліента на 3DS проверкуперевірку.
  •  Получить Отримати Response или або Callback со зі статусом платежа оплати DECLINED от від PSP Platon.
  •  Отправить запрос Відправити запит в Google Business Console для активации аккаунтаактивації акаунта.
  •  Сообщить в Повідомити тех поддержке підтримці PSP Platon об активации аккаунтапро активацію акаунта.
  •  Указать Вказати environment в режим режимі PRODUCTION.
  •  Провести запрос с получение успешного запит з отриманням Response или Callback со зі статусом платежа оплати SUCCESS от від PSP Platon.
  •  Уведомить клиента об успешной / не успешной оплате.
Требования
  • Відобразити клиенту інформаію про успішну / невдалу оплату.

Вимоги

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

Обмеження

Expand
Expand
titleБраузеры

На данный момент Google Pay работает в таких браузерах:

  • Chrome

  • Safari

  • UC Browser

  • Firefox

  • Opera

  • Microsoft Edge

  • Android

Google запрещает использовать Google Pay в WebView, необходимо использовать прямую интеграцию по API.

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

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

Expand
titleWebView
titleSSL сертификат

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

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

Expand
titleЛоготипы платежных систем и PSP Platon
Include Page
Логотипы для размещенияЛоготипы для размещения
Expand
titleTLS 1.2

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

Ограничения

Браузери

На даний момент Google Pay працює в таких браузерах:

  • Chrome

  • Safari

  • UC Browser

  • Firefox

  • Opera

  • Microsoft Edge

  • Android

Expand
titleWebView

Google забороняє використовувати Google Pay в WebView.


Google Business Console

Активація Google Pay в Business Console

Expand
titleІнструкція по активація Google Pay в Business Console
Include Page
Активація Google Pay в Business Console
Активація Google Pay в Business Console

Google Pay API

Для сайта:

Для Android приложениядодатку:


Интегрируйте Інтегруйте Google Pay API следуя документации выше для получения слідуючи документації вище для отримання PaymentData.

ПараметрыПараметри:

  • allowPaymentMethods : CARD

  • tokenizationSpecification = { "type": "PAYMENT_GATEWAY"}

  • allowedCardNetworks = ['MASTERCARD', 'VISA'];

  • allowedCardAuthMethods = ['PAN_ONLY', 'CRYPTOGRAM_3DS'];

  • gateway = platon

  • gatewayMerchantId = CLIENT_KEY (API ключ выдается сотрудником компании PSP Platon)

Expand
titleПример конфиг Приклад конфіг файла
Code Block
languagejson
{
    "apiVersion": 2,
    "apiVersionMinor": 0,
    "allowedPaymentMethods": [
        {
            "type": "CARD",
            "parameters": {
                "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
                "allowedCardNetworks": ["VISA", "MASTERCARD"]
            },
            "tokenizationSpecification": {
                "type": "PAYMENT_GATEWAY",
                "parameters": {
                    "gateway": "platon", //фіксований ідентифікатор PSP Platon
                    "gatewayMerchantId": "RJ9AE5Y7GX" //API ключ PSP Platon
                }
            }
        }
    ],
    "merchantInfo": {
        "merchantId": "00986993593073708917", //ваші дані з Google Business Console
        "merchantName": "Name" //ваші дані з Google Business Console
    },
    "transactionInfo": {
        "totalPriceStatus": "FINAL",
        "totalPriceLabel": "Total",
        "totalPrice": "5.00",
        "currencyCode": "UAH",
        "countryCode": "UA"
    }
}

Если Якщо все сделано зробити правильно - на своем сайте/приложении вы получите кнопку Google Pay и после выбора карты вам вернется набор данных с вашому сайті / додатку відобразиться кнопка Google Pay та після вибору картки вам повернеться набір даних з PaymentData.

Expand
titleПример набора данных, которые возвращаются от Приклад набору даних PaymentData, які повертаються від Google Pay
Code Block
languagejson
{
  "apiVersionMinor": 0,
  "apiVersion": 2,
  "paymentMethodData": {
    "description": "Mastercard •••• 5179",
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": {
        "signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur",
        "intermediateSigningKey": {
          "signedKey": "{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",\"keyExpiration\":\"1571208568000\"}",
          "signatures": [
            "MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI="
          ]
        },
        "protocolVersion": "ECv2",
        "signedMessage": "{\"encryptedMessage\":\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0/FSspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkU/kT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKd/NuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZ/yVKCwfpY9u2XyCjKdp7I\\u003d\",\"ephemeralPublicKey\":\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGn+Ew\\u003d\",\"tag\":\"T/qhZ/XY5/3Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrA\\u003d\"}"
      }
    },
    "type": "CARD",
    "info": {
      "cardNetwork": "MASTERCARD",
      "cardDetails": "5179"
    }
  }
}

С примером PaymentData можете ознакомиться нижеОзнайомтесь з прикладом token з PaymentData нижче:

Expand
titleПример набора данных, которые возвращаются от Приклад token з набору даних PaymentData, які повертаються від Google Pay
Code Block
languagejson
{
  "signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur",
  "intermediateSigningKey": 
    {
    "signedKey": "{
        \"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwhRrvGB0kZ1248MEJAPwX0YfrQInhyyRM7nyGFjQuzGSViZG3QC9NMvXR9Zd6uVcVzAz+6K/+NEGIWbX8zbk6A\\u003d\\u003d\",
        \"keyExpiration\":\"1571208568000\"
      }",
      "signatures": [
        "MEUCIQCR6vIEiyHB8qmlho4/tLd7W8CIGrZDJlCI48CBHeFPvQIgLZJIe4cZv6pYtYYa56QCI/vvg1GqXTP3bTBjO49r5mI="
      ]
    },
    "protocolVersion": "ECv2",
    "signedMessage": "{
      \"encryptedMessage\":\"k85CGUMmd5PaGmQlHFqHc0HrDZmjM1yG82rFB/p31ZyUleN5nihzjOZif/BKXwg3XA2oLXqBSSWcAdfZwXxCEOqvAQE+kpTC7qVO4wTPip6RruraT6vO9M9FtIf0kcqzYSAN7pl1SUA5jC9rHrqucPoh0/FSspup78SWBt8TnmVKC9O3sQhIZ3SMoGOG4mdjtIrgCwWH2cbrxUH0dHAqOe5ANGOY/mII4nTEp7xaKu41hK/kFE15zVyqgPJXP9bPxzMVk/ozEZSfhSzVTS+9stjkU/kT5EibKB3O1bbxyybKcGQ5vxBOtNOBKKd/NuqNmN2eEK3UbSKb1M3gv45gT9cCeEvlzO7Wg0N100vUBp9RPDN9TH4tj4w578sWFKfTi6FsSrZB27SGWcU0EaKHO9buo94mRBY5yqffF3bKg5mAMPzjDhyHSujqWKAs9C5fBzMEuEr2z7A23kfLqBceH5uS9LJMiZ/yVKCwfpY9u2XyCjKdp7I\\u003d\",
      \"ephemeralPublicKey\":\"BAMDAtfgcPNuzItrwGLigGj3rtxmyHhZLwx1B4RJZ2oo11jpFf3SA6a3utryCMmlCEcqLfLn6WDH2ArrNBGn+Ew\\u003d\",
      \"tag\":\"T/qhZ/XY5/3Fe4QBKafm6NqS6EzwVeiKXhRlp8NeWrA\\u003d\"
    }"
  }
}

Настройте отправку полученного значения параметра "token" POST запросом по API Platon, в параметре payment_token.

Предусловия:

Прежде чем вы получите доступ к платежной платформе, вы должны предоставить следующее данные администратору платежной платформы:

  • список ваших IP-адресов, с которых будут направляться запросы на платежную платформу;

  • callback URL - URL-адрес, на который будет отправляться уведомления о результатах обработки Вашего запроса через платежную платформу;

  • контактный E-mail разработчика.

Note

Callback url должен быть обязателен если вы работаете в асинхронном режиме и не должен превышать 255 символов.

API параметры

HTTP METHOD: POST

API ENDPOINT: https://secure.platononline.com/post/

Параметр

Значение

Описание

Особенности

action

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

GOOGLEPAY

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

client_key

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

String

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

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

order_id

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

String

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

Max 255 символа

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 символов

payment_token

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

String

Токен полученный от Google

payer_ip

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

Number

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

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

Note

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

payer_email

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

String

E-mail плательщика

Info

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

Info

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

Max 256 символа

payer_phone

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

Number

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

Info

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

term_url_3ds

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

String

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

Max 255 символов

hash

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

String

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

Code Block
languagephp
md5(
  strtoupper(
    strrev($payer_email).
    $CLIENT_PASS.
    strrev($payment_token)
  )
)

payer_first_name

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

String

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

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

payer_last_name

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

String

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

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

payer_middle_name

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

String

Отчество плательщика

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

payer_birth_date

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

String

Дата рождения плательщика

В формате “YYYY-MM-DD”

payer_address

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

String

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

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

payer_country

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

String

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

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

payer_state

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

String

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

Note

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

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

payer_city

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

String

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

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

payer_zip

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

String

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

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

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

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

String

10 дополнительных полей

Max 1024 символа в каждом ext поле

channel_id

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

String

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

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

async

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

Y
N

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

Note

В асинхронном режиме обязательное использование коллбеков.

По умолчанию значение N.

auth

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

Y
N

Холдирование средств на карте плательщика

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

req_token

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

Y
N

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

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

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

Expand
titleПример запроса на PHP
Info

Content-Type: form-data или x-www-form-urlencoded

Code Block
languagephp
<?php
  $CLIENT_PASS='***';
  $data['action']='GOOGLEPAY';
  $data['CLIENT_KEY']='***';
  $data['order_id']='Test_006';
  $data['order_amount']='0.51';
  $data['order_currency']='UAH';
  $data['order_description']='test';
  $data['payment_token']='{"signature":"MEUCIQD+9/PnFvB+Lo6d/eHpgqQrMvmRDZdW1AcjQKavHrcPmQIgeVjR1hXqH7hkCn+VZqx/kjdofMIYbyL15Xp52mR9+2s\u003d","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBOHyOhwWk6SK5nqhFBBI1hSvWHAaOO0Ukbrl56zx7fPNttFFKs2U10f6EWbdhULrv4QT4qMNbyVAq8ig1jdsYA\\u003d\\u003d\",\"keyExpiration\":\"1570945959000\"}","signatures":["MEYCIQCe6t42U5OemtGGdYC6npBNbVxe1HbTF8pUkSD7mO+CWAIhAI/0M/XQuW6i8reT0LCNHKoNfgWYwOWHBoj2wpZdgKHh"]},"protocolVersion":"ECv2","signedMessage":{\"encryptedMessage\":\"U9ChAIukmQ85TdZKAU/26mJUwUt3cVpJmx/JtFi350F/KiRNiIEGi1CmkgVe+ohzikkKLo37Ty3YQjyjVHNTHmF3AyNVTIJCL7qYybt+aFNI1XFlpv3ArWU+fH8Bi190tl7lLyyeNjWx8L402spsLpuUe9OLLjazIq0Vfjw3wRZ2B2+ybUrnoz5Iydapn8B7c/QqR7w53n6svIK58q7eL159Ano0GyfLpUOLLQ949MhP1ze***UzapUGtMd0k0c/4Nnkfs2TnN6ETEtP8y9J29hYKGVOCo79rRSN2xLsYXGNawIiPc6082HWB82JyuW2bfWAL1R0W+2iql2dBWY\\u003d\",\"ephemeralPublicKey\":\"BPYYpVT5INyXSwoNbP/HuGkjQnfnUwUPMH2bCp6Od3EoihnegFZObjP0IVvDA5YfNlLDJjHutBDj30GW5Fei8xw\\u003d\",\"tag\":\"qt4FcCGO4rp969CBBTPJ0nhAeQeR+rOM0FmXk8DdGLQ\\u003d\"}"}';
  $data['payer_email']='sale@gmail.com';
  $data['term_url_3ds']='http://google.com';
  $hash = md5(
            strtoupper(
              strrev(
              $data['payer_email']
              ).
              ($CLIENT_PASS).
              strrev(
                $data['payment_token']
              )
            )
          );
?>

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Payment</title>
  </head>
  <body onload="javascript:document.forms[0].submit()">
    <form action="https://secure.platononline.com/post/" method="post">
      <input type="hidden" name="action" value="<?=$data['action']?>" />
      <input type="hidden" name="client_key" value="<?=$data['CLIENT_KEY']?>" />
      <input type="hidden" name="order_id" value="<?=$data['order_id']?>" />
      <input type="hidden" name="order_amount" value="<?=$data['order_amount']?>" />
      <input type="hidden" name="order_currency" value="<?=$data['order_currency']?>" />
      <input type="hidden" name="order_description" value="<?=$data['order_description']?>" />
      <input type="hidden" name="payment_token" value="<?=$data['payment_token']?>" />
      <input type="hidden" name="payer_email" value="<?=$data['payer_email']?>" />
      <input type="hidden" name="term_url_3ds" value="<?=$data['term_url_3ds']?>" />
      <input type="hidden" name="hash" value="<?=$hash?>" />
    </form>
  </body>
</html>

Тестирование

Переведите environment в режим 'TEST’.

Используйте реальную карту подвязанную в Google Pay для оплаты.

При успешном тесте вы получите ответ о неуспешной транзакции (особенности тестового режима) и 'decline_reason' => 'Declined by processing'

Сообщите тех саппорту об успешном тесте и только после этого перейдите к активации бизнес-аккаунта Google.

Warning

Параметр environment в режим 'TEST’ оставить до указаний со стороны тех саппорта PSP Platon.

Проверка платежей

Expand
titleПолный список методов получения результата транзакции
Include PageПолучение результата транзакцииПолучение результата транзакции

Callback и Response

Expand
titleОсобенности работы с Callback
Include PageРабота с CallbackРабота с Callback Expand
titleБезопасность
Include PageБезопасностьБезопасность

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

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

Промежуточный редирект плательщика на 3DS (синхронный режим):

Expand
titleПромежуточный Response при наличии 3DS проверки
Code Block
languagejson
{
  "action": "SALE",
  "result": "REDIRECT",
  "status": "3DS",
  "trans_id": "03346-89225-87891",
  "order_id": "ORDER-12345",
  "trans_date": "2012-04-0316:02:02",
  "redirect_url": "https://server_3ds.com/3ds.php",
  "redirect_params": {
    "PaReq": "bc5865698ae46de4eba4c51f0359a714",
    "MD": "111111111111111111111",
    "TermUrl": "https://term_url.com/3ds/67c14e5?trans_id=03346-89225-87891&hash=8b98db60fb3c24c14a6d7075241da38b"
  },
  "redirect_method": "POST"
}

Параметры

Описание

action

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

SALE

result

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

REDIRECT

status

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

3DS

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

redirect_url

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

URL, на который должен быть перенаправлен плательщик

redirect_params

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

Массив определенных параметров 3DS

redirect_method

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

POST

Метод передачи параметров

Expand
titleПромежуточный Callback при наличии проверки 3DS
Code Block
languagephp
array (
  'action' => 'SALE',
  'result' => 'REDIRECT',
  'status' => '3DS',
  'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b',
  'trans_id' => '28738-47774-55067',
  'trans_date' => '2020-04-20 12:12:57',
  'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp',
  'redirect_params' => 
    array (
      'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=',
      'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=***************************************************
    ),
  'redirect_method' => 'POST',
  'hash' => '********************************',
)

Параметры

Описание

action

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

SALE

result

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

REDIRECT

status

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

3DS

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

redirect_url

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

URL, на который должен быть перенаправлен плательщик

redirect_params

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

Строка параметров

redirect_method

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

POST

Метод передачи параметров

hash

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

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

Code Block
languagephp
md5(
  strtoupper(
    strrev(email).
    CLIENT_PASS.
    strrev(payment_token)
  )
)
Info

Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

При успешной оплате (синхронный режим):

Expand
titleResponse при успешном списании
Code Block
languagejson
{
  "action": "SALE",
  "result": "SUCCESS",
  "status": "SETTLED",
  "trans_id": "03346-89217-70541",
  "order_id": "ORDER-12345",
  "descriptor": "test",
  "trans_date": "2012-04-03 16:02:01"
}

Параметры

Описание

action

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

SALE

result

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

SUCCESS

status

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

SETTLED

PENDING только когда было указано auth = Y

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

descriptor

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

Это строка, которую владелец кредитной карты увидит в выписка из банка.

В большинстве случаев это веб-сайт поддержки клиентов.

amount

Status
colourYellow
titleопционально

Сумма транзакции

Info

Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

Status
colourYellow
titleопционально

10 дополнительных полей

Info

Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.

MID

Status
colourYellow
titleОПЦИОНАЛЬНО

Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.

Info

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

card

Status
colourYellow
titleОПЦИОНАЛЬНО

Маска карты в формате ХХХХХХ****ХХХХ

Info

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

card_hash

Status
colourYellow
titleОПЦИОНАЛЬНО

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

Этот параметр даст вам возможность в вашей системе:

  • Привязать карту под клиента.

  • Проверить не использовал ли другой клиент эту же карту.

  • Проверить какие кредиты, товары и услуги погашаются данной картой.

  • Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.

Info

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

brand

Status
colourYellow
titleОПЦИОНАЛЬНО

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

Info

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

fee_type

Status
colourYellow
titleОПЦИОНАЛЬНО

Признак каким образом взимается комиссия:

  • ACT - по актам.

  • TRANSACTION - потранзакционно.

Info

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

fee

Status
colourYellow
titleОПЦИОНАЛЬНО

Сумма комиссии с мерчанта по транзакции в ГРН

Info

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

currency

Status
colourYellow
titleопционально

Валюта операции

Info

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

Expand
titleCallback при успешном списании
Code Block
languagephp
array (
  'action' => 'SALE',
  'result' => 'SUCCESS',
  'status' => 'SETTLED',
  'order_id' => '1_691201',
  'trans_id' => '31176-65336-00444',
  'trans_date' => '2021-01-27 16:55:33',
  'descriptor' => NULL,
  'auth_code' => '990647',
  'hash' => '********************************',
)

Параметры

Описание

action

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

SALE

result

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

SUCCESS

status

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

SETTLED

PENDING только когда было указано auth = Y

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

descriptor

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

Это строка, которую владелец кредитной карты увидит в выписка из банка.

В большинстве случаев это веб-сайт поддержки клиентов.

auth_code

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

Код авторизации от банка

amount

Status
colourYellow
titleопционально

Сумма транзакции

Info

Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

Status
colourYellow
titleопционально

10 дополнительных полей

Info

Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.

MID

Status
colourYellow
titleОПЦИОНАЛЬНО

Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.

Info

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

card

Status
colourYellow
titleОПЦИОНАЛЬНО

Маска карты в формате ХХХХХХ****ХХХХ

Info

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

card_hash

Status
colourYellow
titleОПЦИОНАЛЬНО

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

Этот параметр даст вам возможность в вашей системе:

  • Привязать карту под клиента.

  • Проверить не использовал ли другой клиент эту же карту.

  • Проверить какие кредиты, товары и услуги погашаются данной картой.

  • Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.

Info

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

brand

Status
colourYellow
titleОПЦИОНАЛЬНО

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

Info

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

fee_type

Status
colourYellow
titleОПЦИОНАЛЬНО

Признак каким образом взимается комиссия:

  • ACT - по актам.

  • TRANSACTION - потранзакционно.

Info

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

fee

Status
colourYellow
titleОПЦИОНАЛЬНО

Сумма комиссии с мерчанта по транзакции в ГРН

Info

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

currency

Status
colourYellow
titleопционально

Валюта операции

Info

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

hash

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

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

Code Block
languagephp
md5(
  strtoupper(
    strrev($payer_email).
    $CLIENT_PASS.
    strrev($payment_token)
  )
)
Info

Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

При неуспешной оплате (синхронный режим):

Expand
titleResponse при неуспешном списании
Code Block
languagejson
{
  "action": "SALE",
  "result": "DECLINED",
  "status": "DECLINED",
  "trans_id": "03346-89214-54141",
  "order_id": "ORDER-12345",
  "trans_date": "2012-04-0316:02:01",
  "decline_reason": "Declined by processing"
}

Параметры

Описание

action

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

SALE

result

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

DECLINED

status

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

DECLINED

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

amount

Status
colourYellow
titleопционально

Сумма транзакции

Info

Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

Status
colourYellow
titleопционально

10 дополнительных полей

Info

Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.

MID

Status
colourYellow
titleОПЦИОНАЛЬНО

Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.

Info

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

card

Status
colourYellow
titleОПЦИОНАЛЬНО

Маска карты в формате ХХХХХХ****ХХХХ

Info

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

card_hash

Status
colourYellow
titleОПЦИОНАЛЬНО

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

Этот параметр даст вам возможность в вашей системе:

  • Привязать карту под клиента.

  • Проверить не использовал ли другой клиент эту же карту.

  • Проверить какие кредиты, товары и услуги погашаются данной картой.

  • Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.

Info

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

brand

Status
colourYellow
titleОПЦИОНАЛЬНО

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

Info

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

fee_type

Status
colourYellow
titleОПЦИОНАЛЬНО

Признак каким образом взимается комиссия:

  • ACT - по актам.

  • TRANSACTION - потранзакционно.

Info

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

fee

Status
colourYellow
titleОПЦИОНАЛЬНО

Сумма комиссии с мерчанта по транзакции в ГРН

Info

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

currency

Status
colourYellow
titleопционально

Валюта операции

Info

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

trans_date

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

Дата транзакции в платежной системе. Время UTC

decline_reason

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

Причина, по которой транзакция была отклонена

Expand
titleCallback при неуспешном списании
Code Block
languagephp
array (
  'action' => 'SALE',
  'result' => 'DECLINED',
  'status' => 'DECLINED',
  'order_id' => '1_691201',
  'trans_id' => '31176-65336-00444',
  'trans_date' => '2021-01-27 16:55:33',
  'decline_reason' => 'Declined by processing',
  'hash' => '********************************',
)

Параметры

Описание

action

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

SALE

result

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

DECLINED

status

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

DECLINED

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

amount

Status
colourYellow
titleопционально

Сумма транзакции

Info

Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

Status
colourYellow
titleопционально

10 дополнительных полей

Info

Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.

MID

Status
colourYellow
titleОПЦИОНАЛЬНО

Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.

Info

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

card

Status
colourYellow
titleОПЦИОНАЛЬНО

Маска карты в формате ХХХХХХ****ХХХХ

Info

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

card_hash

Status
colourYellow
titleОПЦИОНАЛЬНО

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

Этот параметр даст вам возможность в вашей системе:

  • Привязать карту под клиента.

  • Проверить не использовал ли другой клиент эту же карту.

  • Проверить какие кредиты, товары и услуги погашаются данной картой.

  • Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.

Info

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

brand

Status
colourYellow
titleОПЦИОНАЛЬНО

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

Info

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

fee_type

Status
colourYellow
titleОПЦИОНАЛЬНО

Признак каким образом взимается комиссия:

  • ACT - по актам.

  • TRANSACTION - потранзакционно.

Info

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

fee

Status
colourYellow
titleОПЦИОНАЛЬНО

Сумма комиссии с мерчанта по транзакции в ГРН

Info

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

currency

Status
colourYellow
titleопционально

Валюта операции

Info

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

decline_reason

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

Причина, по которой транзакция была отклонена

hash

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

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

Code Block
languagephp
md5(
  strtoupper(
    strrev(email).
    CLIENT_PASS.
    strrev(payment_token)
  )
)
Info

Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

При ошибке в запросе (синхронный режим):

Expand
titleResponse в случая ошибки в запросе
Code Block
languagejson
{
  "result": "ERROR",
  "error_message": "Error description"
}

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

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

Промежуточный ответ (асинхронный режим):

Expand
titleResponse о принятии запроса в обработку
Code Block
languagejson
{
  "action": "SALE",
  "result": "ACCEPTED",
  "trans_id": "03346-89211-86461",
  "order_id": "ORDER-12345",
  "trans_date": "2012-04-03 16:02:01"
}

Параметры

Описание

action

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

SALE

result

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

ACCEPTED

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

Промежуточный редирект плательщика на 3DS (асинхронный режим):

Expand
titleПромежуточный Callback при наличии проверки 3DS
Code Block
languagephp
array ( 'action' => 'SALE', 'result' => 'REDIRECT', 'status' => '3DS', 'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b', 'trans_id' => '28738-47774-55067', 'trans_date' => '2020-04-20 12:12:57', 'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp', 'redirect_params' => array ( 'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=', 'TermUrl' => '

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

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

'payment_token' => '{"signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur","intermediateSigningKey":{"signedKey":"{\\"keyValue\\":\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENGvh+0txlndYyWnenquCGqEXnG77IWDPuk6HiMvg6XXwBWGDItHJuXadYnnEtX5g20xo8DBP5LSWORqRqjI2vA\\\\u003d\\\\u003d\\",\\"keyExpiration\\":\\"1683710430000\\"}","signatures":["MEYCIQDovFtcqE7q4ahpEXBbKzbnxlCzn3lF+oeFKn4UbWT25QIhAN6KdqmVyobBKM9V4j2GPmDKs15nzo/r/ZrKd8+7d0SL"]},"protocolVersion":"ECv2","signedMessage":"{\\"encryptedMessage\\":\\"8AYy2FFX0mm+6w8gJZUr57PjQ5txXNaosVFUPHuo06ZhykABc4do4Lvrc5RxdSrGJNSqq6a9KGEnP2tLHdjecVxTn5oL2sSerxTmVLa99TqBW65cGBLV0bIX6sdNht2XBuWn7jFIzSxMO/ZmcdoNYc6w/MI1CFLNfINTkTNjVxszATDBmNfdMi+s2V3NpjM5xmEIZs3FFWZ401/1XeoDHnJfbjMO7GY3GHrMKEsOOQsnDGUBnvB4q9pf/0rsQ8X4VlHB2UMfUAwErgyLOb6gpGtVKESh59tyewKn14fkfSYsETUiVlUsu62PoP+gY141AFYexgAB8K7ygTX/hxwau2DEd+vb1Y9rR9cYXBZDgYlhBWoR1tCeZcMLjDKk8A0vUEzlKbI7fgsKLIa4GvqmPx79bTSrJJ2dZo1fq14ShI9fFk2Jitu6aoHMKwGcyKnC+UOGox/ArlojtHRCdKzu65vjn0M4yMZDmuww9A\\\\u003d\\\\u003d\\",\\"ephemeralPublicKey\\":\\"BMPEPyCUSrSIlz2lZHh9nmbjtobXwoTnMq/PFDDItLpHDDd0PsPoy1VP1XQSpqFUEvxiXXxL2BQ8FhUCzpR6yDQ\\\\u003d\\",\\"tag\\":\\"LG5PWsVF7lDLfEI3pwEi47OHKRGIz/f2FasGq64JlK8\\\\u003d\\"}"}',


API параметри

HTTP METHOD: POST

API ENDPOINT: https://secure.platononline.com/

3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=*************************************************** ), 'redirect_method' => 'POST', 'hash' => '********************************', )

Параметры

Описание

action

post/

Параметр

Значення

Опис

Особливості

action

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

GOOGLEPAY

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

client_key

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

String

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

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

order_id

Status
colourGreen
title

Обязательно

SALE

result

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

String

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

Max 255 символи

order_amount

Status
colourGreen
title

Обязательно

REDIRECT

status

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

3DS

order_idtrans_id

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

Number

Сума оплати

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

order_currency

Status
colourGreen
title

Обязательно

ID транзакции в системе мерчанта

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

UAH

Валюта

Info

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

order_description

Status
colourGreen
title

Обязательно

ID транзакции в платежной системе

trans_date

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

String

Опис

Note

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

Max 255 символів

payment_token

Status
colourGreen
title

Обязательно

Дата транзакции в платежной системе. Время UTC

redirect_url

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

String

Токен отриманий від Google

Токен необхідно відформатувати відповідно до прикладу вказаного вище.

payer_ip

Status
colourGreen
title

Обязательно

URL, на который должен быть перенаправлен плательщик

redirect_paramshash

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

Number

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

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

Note

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

payer_email

Status
colourGreen
title

Обязательно

Строка параметров

redirect_method

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

POST

Метод передачи параметров

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

String

E-mail платника

Info

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

Info

Відсутність пробілів.

Max 256 символів

payer_phone

Status
colourGreen
title

Обязательно

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

Code Block
languagephp
md5(
  strtoupper(
    strrev(email).
    CLIENT_PASS.
    strrev(payment_token)
  )
)
Info

Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

При успешной оплате (асинхронный режим):

Expand
titleCallback при успешном списании
Code Block
languagephp
array (
  'action' => 'SALE',
  'result' => 'SUCCESS',
  'status' => 'SETTLED',
  'order_id' => '1_691201',
  'trans_id' => '31176-65336-00444',
  'trans_date' => '2021-01-27 16:55:33',
  'descriptor' => NULL,
  'auth_code' => '990647',
  'hash' => '********************************',
)

Параметры

Описание

action

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

SALE

result

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

SUCCESS

status

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

SETTLED

PENDING только когда было указано auth = Y

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

descriptor

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

Это строка, которую владелец кредитной карты увидит в выписка из банка.

В большинстве случаев это веб-сайт поддержки клиентов.

auth_code

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

Код авторизации от банка

amount

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

Number

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

Info

Обов'язковий формат телефону 380…

term_url_3ds

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

String

Посилання куди буде відправлено платника після спроби оплати

Max 255 символів

hash

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

String

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

Code Block
languagephp
md5(
  strtoupper(
    strrev($payer_email).
    $CLIENT_PASS.
    strrev($payment_token)
  )
)

payer_first_name

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

String

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

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

payer_last_name

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

String

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

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

payer_middle_name

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

String

Отчество плательщика

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

payer_birth_date

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

String

Дата народження платника

В форматі “YYYY-MM-DD”

payer_address

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

String

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

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

payer_country

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

String

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

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

payer_state

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

String

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

Стандарт ISO 3166-2
В форматі "ХХ"
2 символа
Вкажіть NA, якщо немає даних

payer_city

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

String

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

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

payer_zip

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

опционально

Сумма транзакции

InfoПоле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.

String

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

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

ext1, ext2, ext3, ext4, ext5, ext6, ext7

, ext8, ext9, ext10
Status
colourYellow
titleопционально

10 дополнительных полей

Info

Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.

MIDcard

, ext8, ext9, ext10

Status
colourYellow
title

ОПЦИОНАЛЬНО

Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.

Info

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

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

String

10 додаткових полів

Max 1024 символи в кажному ext полі

channel_id

Status
colourYellow
title

ОПЦИОНАЛЬНО

Маска карты в формате ХХХХХХ****ХХХХ

Info

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

card_hash

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

String

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

Дозволяє перенаправляти платежі на інший банківський термінал

async

Status
colourYellow
title

ОПЦИОНАЛЬНО

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

Этот параметр даст вам возможность в вашей системе:

  • Привязать карту под клиента.

  • Проверить не использовал ли другой клиент эту же карту.

  • Проверить какие кредиты, товары и услуги погашаются данной картой.

  • Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.

Info

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

brand

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

Y
N

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

Note

В асинхронному режимі обов'язкове використання коллбеків.

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

auth

Status
colourYellow
title

ОПЦИОНАЛЬНО

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

Info

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

fee_type

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

Y
N

HOLD коштів на картці платника

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

req_token

Status
colourYellow
title

ОПЦИОНАЛЬНО

Признак каким образом взимается комиссия:

  • ACT - по актам.

  • TRANSACTION - потранзакционно.

Info

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

fee

Status
colourYellow
titleОПЦИОНАЛЬНО

Сумма комиссии с мерчанта по транзакции в ГРН

Info

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

currency

Status
colourYellow
titleопционально

Валюта операции

Info

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

hash

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

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

Code Block
languagephp
md5(
  strtoupper(
    strrev($payer_email).
    $CLIENT_PASS.
    strrev($payment_token)
  )
)
Info

Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

При неуспешной оплате (асинхронный режим):

Expand
titleCallback при неуспешном списании
Code Block
languagephp
array (
  'action' => 'SALE',
  'result' => 'DECLINED',
  'status' => 'DECLINED',
  'order_id' => '1_691201',
  'trans_id' => '31176-65336-00444',
  'trans_date' => '2021-01-27 16:55:33',
  'decline_reason' => 'Declined by processing',
  'hash' => '********************************',
)

Параметры

Описание

action

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

SALE

result

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

DECLINED

status

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

DECLINED

order_id

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

ID транзакции в системе мерчанта

trans_id

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

ID транзакции в платежной системе

trans_date

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

Дата транзакции в платежной системе. Время UTC

amount

Status
colourYellow
titleопционально

Сумма транзакции

Info

Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

Status
colourYellow
titleопционально

10 дополнительных полей

Info

Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.

MID

Status
colourYellow
titleОПЦИОНАЛЬНО

Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.

Info

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

card

Status
colourYellow
titleОПЦИОНАЛЬНО

Маска карты в формате ХХХХХХ****ХХХХ

Info

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

card_hash

Status
colourYellow
titleОПЦИОНАЛЬНО

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

Этот параметр даст вам возможность в вашей системе:

  • Привязать карту под клиента.

  • Проверить не использовал ли другой клиент эту же карту.

  • Проверить какие кредиты, товары и услуги погашаются данной картой.

  • Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.

Info

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

brand

Status
colourYellow
titleОПЦИОНАЛЬНО

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

Info

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

fee_type

Status
colourYellow
titleОПЦИОНАЛЬНО

Признак каким образом взимается комиссия:

  • ACT - по актам.

  • TRANSACTION - потранзакционно.

Info

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

fee

Status
colourYellow
titleОПЦИОНАЛЬНО

Сумма комиссии с мерчанта по транзакции в ГРН

Info

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

currency

Status
colourYellow
titleопционально

Валюта операции

Info

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

decline_reason

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

Причина, по которой транзакция была отклонена

hash

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

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

Code Block
languagephp
md5(
  strtoupper(
    strrev(email).
    CLIENT_PASS.
    strrev(payment_token)
  )
)
Info

Внимание! Если при запросе на оплату не был указан email, то при проверке hash в подписи Callback следует указать пустое значение для email.

При ошибке в запросе (асинхронный режим):

Expand
titleResponse в случая ошибки в запросе
Code Block
languagejson
{
  "result": "ERROR",
  "error_message": "Error description"
}

Ошибки запросов

Expand
titleСписок ошибок, их причин и возможных решений.
Include PageОшибки/решения при запросахОшибки/решения при запросах

Боевой режим

Пройдите контрольный список интеграции:

После добавления кнопки на ваш сайт/мобильное приложение необходимо пройти контрольный список интеграции для проверки корректности работы Google Pay API:

Для сайтов:

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

Y
N

Для отримання card_token

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


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

Expand
titleПриклад запиту на PHP
Info

Content-Type: form-data или x-www-form-urlencoded

Code Block
languagephp
<?php
  $client_pass='***';
  $data['action']='GOOGLEPAY';
  $data['client_key']='***';
  $data['order_id']='Test_006';
  $data['order_amount']='1.00';
  $data['order_currency']='UAH';
  $data['order_description']='test';
  $data['payer_ip']='11.195.75.204';
  $data['payer_phone']='380962111111';
  $data['payment_token']= '{"signature": "MEYCIQC+IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje//eLrXVc+n6LOlc4PqxWOUcqwrmki/CNA1ur","intermediateSigningKey":{"signedKey":"{\\\\"keyValue\\\\":\\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73Pk51MSGFgZ3Ul2K7rPNXNZDY886ybbDotCRXfNqaqyu3j4UAxu3rTPn6u9s2h+6eQfLWtQzZ+2IdA32zYUIw\\\\\\\\u003d\\\\\\\\u003d\\\\",\\\\"keyExpiration\\\\":\\\\"1683886728000\\\\"}","signatures":["MEYCIQChYMsPP6iE0EBWjN4yCaYutxJsXJwbQ241w21YZ1iI6AIhAI5u97+CSg04TTcZwGolxbcjs3I8J4srgIuXdbc7wKET"]},"protocolVersion":"ECv2","signedMessage":"{\\\\"encryptedMessage\\\\":\\\\"P/eXUyfiFgOFkvyBecknRUBbZEHZfLp59RViFryhOjz6Fx9AJ4VpsdstPI9/HFYeLiWMXw8kCXeoiJ0UQiUYmd/MklZt4LH6LySi3kLRxRp0Dbmh2OLpgfGBtbKzUOhlDAD4025OVfsG8Hwlrsvc3yCdFYiA3+w6rc12uAu9EBlAQv2nTJj6FHCIrOrwJ0FYjdk2hqXNKN/4CSBhxHoqITlYh8wX5EIqpHbnS73zp4aOvPgV8iPicnOxD1Cbr7OPZRqB2hUmWNeLv8ZSyQXLsVXLb5cQ5ZFLTcEdRWQrvwvZ43Fz5RHrBZGcVZmvCagLLh9euII4aVMVAfHepjmcWF1kOJdpvmygZnTfGx1MweSn8LEl8NM9mQh5eUy0yP/5R4/Egv8btC7uKxwmBuxuVoNd0DCeiShaUzx+AVVhdIHUytRIqllFFkbvf491ljpa6cWOQReuh3pYOCQ/cWSRNWXR2WiVtSOo0q47iH1AYGCsTyxpKq1Jcoq7ws1FJQEKy5ofZAcktdsmdDFtCnA6V/Pdzl7XWMIWbRrVXS2U\\\\",\\\\"ephemeralPublicKey\\\\":\\\\"BLD5aoQeQ1M51wRDphfxHNBuDa1i0hcbO+9rIeX8kfWGfM7Bm0Uzu1V6/jRWGttY6lq6c8Gqi4a4DvU1oE7zbw8\\\\\\\\u003d\\\\",\\\\"tag\\\\":\\\\"pP9Fo/JfuRGJw0gR7NbrqcRNx7TDvmnKj7Gq42FJmDA\\\\\\\\u003d\\\\"}"}';
  $data['payer_email']='sale@gmail.com';
  $data['term_url_3ds']='http://google.com';
  $data['hash'] = md5(
            strtoupper(
            strrev($data['payer_email']).
            $client_pass.
            strrev($data['payment_token'])
            )
          );

$url = 'https://secure.platononline.com/post/';
$crq = curl_init();
curl_setopt($crq, CURLOPT_URL, $url);
curl_setopt($crq, CURLOPT_HEADER, 0);
curl_setopt($crq, CURLOPT_POST, 1);
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, http_build_query($data));
$result = curl_exec($crq);
  if (curl_errno($crq)) {
    echo 'ERROR: '.curl_error($crq);
  }else{
    echo $result;
  }
curl_close($crq);
Info

Postman Collection


Тестовий режим

Переведіть environment в режим 'TEST’.

Використайте реальну картку підв'язану в Google Pay для оплати.

При успішному тесті ви отримаєте відповідь про невдалу транзакцію (особливість тествого режиму) 'decline_reason' => 'Declined by processing'

Повідомте тех підтримці про успішний тест і тільки після цього можете переходити до активаціх в Google бізнес акаунті.

Warning

Параметр environment в режимі 'TEST’ залишити до вказівок з боку тех підтримки PSP Platon.


Боєвий режим

Пройдіть контрольний список інтеграції:

Після додавання кнопки на ваш сайт / мобільний додаток необхідно пройти контрольний список інтеграції для перевірки коректності роботи Google Pay API:

Для сайтів: https://developers.google.com/pay/api/web/guides/test-and-deploy/integration-checklist

Для мобільних додатків: https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist


Запросіть доступ до робочої версії Google Pay API:

Для можливості приймати реальні оплати необхідно запросити доступ до робочої версії:

https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access


Отримайте доступ на Production в Google Pay:

https://developers.google.com/pay/api/android/guides

Для цього необхідно створити акаунт в https://pay.google.com/business/console/  (використовуйте загальний корпоративний акаунт)

Заповніть інформацію про компанію.

В інтеграції вкажіть В интеграциях выбрать Сайт, заполнить домен (пока домен тестового сайта), указать тип PaymentGateway и вложить 5 скринов процесса заказа и оплаты.

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

Note

Зверніть увагу, що в прод режимі буде працювали лише проапрувлений домен.

https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access

Отримання доступу займає 2-3 дні. Якщо у співробітників Google будуть зауваження - вони відправлять вам лист під яким ви реєструвались.

Після цього вам треба переключитись на Production в інтеграції з Google Pay:

Для цього: https://developers.google.com/pay/api/web/guides/test-and-deploy/integrationdeploy-production-checklist

Для мобильных приложений: https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist

Запросите доступ к рабочей версии Google Pay API:

Для возможности начать принимать реальные платежи необходимо запросить доступ в рабочей версии:

https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access

Получите доступ на Production в Google Pay:

https://developers.google.com/pay/api/android/guides

Для этого необходимо создать учетную запись в https://pay.google.com/business/console/  (используя гугл аккаунт, желательно корпоративный и общий)

Заполните информацию о компании.

В интеграциях выбрать Сайт, заполнить домен (пока домен тестового сайта), указать тип PaymentGateway и вложить 5 скринов процесса заказа и оплаты.

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

Note

Просьба обратить внимание, что в прод режиме Google Pay будет работать только на проаппрувленых гуглом доменах.

environment

  1. Встановіть environment: ‘PRODUCTION' замість 'TEST’

  2. Вкажіть значення merchantId з бізнес акаунта Google Pay (правий верхній куток)

І повідомте по готовності про переключення налаштувань з вашого боку.


Додатково для мобільного додатку на Android:

Рекомендуємо подавати заявку в бізнес консоль з того ж акаунта під яким ви зареєстровані в Google Play і з якого викладали додаток.

Якщо подавати заявку з іншого акаунта - додатково треба буде зв'язати акаунти. Інструкція як зв'язати акаунти https://support.google.com/googleplay/android-developer/answer/2528691

Для інтеграції з мобільним додатком необхідно буде підписати додаток релізними ключами коли отримаєте доступ в прод і будете переключатися https://developers.google.com/pay/api/android/guides/test-and-deploy/requestdeploy-prod-access

Получение доступа занимает 2-3 дня. Если у сотрудников Google будут замечания - они отправят письмо на мейл, под которым вы зарегистируетесь.

После этого с вашей стороны необходимо переключиться на Production в интеграции с GooglePay:

Для этого: https://developers.google.com/pay/api/web/guides/test-and-deploy/deploy-production-environment

  1. Установить environment: ‘PRODUCTION' вместо 'TEST’

  2. Указать значение merchantId из бизнес аккаунта GooglePay (правый верхний угол)

И сообщить нам по готовности для переключения настроек с нашей стороны. 

Дополнительно для мобильного приложения Android:

Рекомендуем подавать заявку в бизнес консоли с Google аккаунта, под которым вы зарегистрированы в Google Play и выкладываете приложения.

Если будете подавать заявку с другого аккаунта - дополнительно нужно будет связать аккаунты. Инструкция как связать https://support.google.com/googleplay/android-developer/answer/2528691

Для интеграции в моб приложении необходимо будет подписать приложение релизными ключами когда получите доступ на прод и будете преключаться https://developers.google.com/pay/api/android/guides/test-and-deploy/deploy-your-application

Связанные разделы

Перевірка оплат

Expand
titleСписок методів перевірки статусів оплат
Include Page
Отримання результату транзакції
Отримання результату транзакції

Callback & Response

Expand
titleОсобливості роботи з Callback
Include Page
Робота з Callback
Робота з Callback
Expand
titleБезпека
Include Page
Безпека
Безпека

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

Стандартний режим роботи. Передавати async = N не потрібно.


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

Цей режим активується при передачі async = Y.


Include Page
Callback / Response - GOOGLEPAY з 3DS
Callback / Response - GOOGLEPAY з 3DS

Include Page
Callback / Response - GOOGLEPAY без 3DS
Callback / Response - GOOGLEPAY без 3DS

Помилки запитів

Expand
titleСписок помилок та варіантів рішень
Include Page
Помилки та рішення при запитах
Помилки та рішення при запитах