Этот функционал будет активирован после вашего запроса в групповом чате.
Данный метод позволит разместить на вашем сайте или в приложении отдельную кнопку для оплаты Google Pay.
SSL сертификат
У вашего сайта должен быть SSL сертификат.
Для проверки валидности и срока действия вашего SSL сертификата рекомендуем воспользоваться сервисом по ссылке .
Логотипы платежных систем и PSP Platon
В футере вашего сайта необходимо разместить логотипы платежных систем и PSP Platon.
Скачайте подходящие под стиль вашего сайта варианты логотипов.
TLS 1.2
Необходима поддержка протокола TLS не ниже версии 1.2
Браузеры
На данный момент Google Pay работает в таких браузерах:
Chrome
Safari
UC Browser
Firefox
Opera
Microsoft Edge
Android
WebView
Google запрещает использовать Google Pay в WebView, необходимо использовать прямую интеграцию по 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)
Пример конфиг файла
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"apiVersion": 2,
"apiVersionMinor": 0,
"allowedPaymentMethods": [
{
"type": "CARD",
"parameters": {
"allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
"allowedCardNetworks": ["VISA", "MASTERCARD"]
},
"tokenizationSpecification": {
"type": "PAYMENT_GATEWAY",
"parameters": {
"gateway": "platon",
"gatewayMerchantId": "RJ9AE5Y7GX"
}
}
}
],
"merchantInfo": {
"merchantId": "00986993593073708917",
"merchantName": "Name"
},
"transactionInfo": {
"totalPriceStatus": "FINAL",
"totalPriceLabel": "Total",
"totalPrice": "5.00",
"currencyCode": "UAH",
"countryCode": "UA"
}
}
Если все сделано правильно - на своем сайте/приложении вы получите кнопку Google Pay и после выбора карты вам вернется набор данных с PaymentData.
Пример набора данных, которые возвращаются от Google Pay
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"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 можете ознакомиться ниже:
Пример набора данных, которые возвращаются от Google Pay
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"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 разработчика.
Callback url должен быть обязателен если вы работаете в асинхронном режиме и не должен превышать 255 символов.
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
action
Обязательно
GOOGLEPAY
Код платежного метода
client_key
Обязательно
String
API ключ мерчанта
Ключ предоставляется на почту мерчанту
order_id
Обязательно
String
ID платежа в системе мерчанта
Max 255 символа
order_amount
Обязательно
Number
Сумма платежа
Неверные варианты
1000 1000.0 1,000.0 1,000.00
order_currency
Обязательно
UAH
Валюта платежа
Оплата возможна только в национальной валюте гривне
order_description
Обязательно
String
Описание платежа
Для кириллических символов необходимо использовать формат UTF-8
Max 255 символов
payment_token
Обязательно
String
Токен полученный от Google
payer_ip
Обязательно
Number
IP-адрес плательщика
В формате "ХХХ.ХХХ.ХХХ.ХХХ"
IPv6 на данный момент не поддерживается
payer_email
обязательно
String
E-mail плательщика
Обязательно валидная почта.
Max 256 символа
payer_phone
обязательно
Number
Номер телефона плательщика
Обязательный формат телефона 380…
term_url_3ds
Обязательно
String
Ссылка по которой будет отправлен клиент после успешного или не успешного прохождении 3DS
Max 255 символов
hash
Обязательно
String
Контрольная подпись
1
2
3
4
5
6
7
md5(
strtoupper(
strrev($payer_email).
$CLIENT_PASS.
strrev($payment_token)
)
)
payer_first_name
не обязательно
String
Имя плательщика
Max 32 символа без пробелов
payer_last_name
не обязательно
String
Фамилия плательщика
Max 32 символа без пробелов
payer_middle_name
не обязательно
String
Отчество плательщика
Max 32 символа без пробелов
payer_birth_date
не обязательно
String
Дата рождения плательщика
В формате “YYYY-MM-DD”
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
, если нет данных
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
не обязательно
String
10 дополнительных полей
Max 1024 символа в каждом ext поле
channel_id
не обязательно
String
Дополнительный платежный канал
Позволяет отправить платежи на другой банковский терминал
async
не обязательно
Y
N
Включить асинхронный режим
В асинхронном режиме обязательное использование коллбеков.
По умолчанию значение N
.
auth
не обязательно
Y
N
Холдирование средств на карте плательщика
По умолчанию N
req_token
не обязательно
Y
N
Для получения card_token
По умолчанию N
Пример запроса на PHP
Content-Type: form-data
или x-www-form-urlencoded
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?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.
Параметр environment в режим 'TEST’ оставить до указаний со стороны тех саппорта PSP Platon.
Полный список методов получения результата транзакции Особенности работы с Callback Синхронный режим: Данный режим работает по умолчанию. Передавать async = N
не нужно.
Промежуточный редирект плательщика на 3DS (синхронный режим): Промежуточный Response при наличии 3DS проверки
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"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
Обязательно
SALE
result
Обязательно
REDIRECT
status
Обязательно
3DS
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
redirect_url
Обязательно
URL, на который должен быть перенаправлен плательщик
redirect_params
Обязательно
Массив определенных параметров 3DS
redirect_method
Обязательно
POST
Метод передачи параметров
Промежуточный Callback при наличии проверки 3DS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
Обязательно
SALE
result
Обязательно
REDIRECT
status
Обязательно
3DS
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
redirect_url
Обязательно
URL, на который должен быть перенаправлен плательщик
redirect_params
Обязательно
Строка параметров
redirect_method
Обязательно
POST
Метод передачи параметров
hash
Обязательно
Зашифрованная подпись для проверки достоверности коллбека
1
2
3
4
5
6
7
md5(
strtoupper(
strrev(email).
CLIENT_PASS.
strrev(payment_token)
)
)
Внимание! Если при запросе на оплату не был указан email
, то при проверке hash
в подписи Callback следует указать пустое значение для email
.
При успешной оплате (синхронный режим): Response при успешном списании
1
2
3
4
5
6
7
8
9
{
"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
Обязательно
SALE
result
Обязательно
SUCCESS
status
Обязательно
SETTLED
PENDING
только когда было указано auth
= Y
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
descriptor
Обязательно
Это строка, которую владелец кредитной карты увидит в выписка из банка.
В большинстве случаев это веб-сайт поддержки клиентов.
amount
опционально
Сумма транзакции
Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
опционально
10 дополнительных полей
Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.
MID
ОПЦИОНАЛЬНО
Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card
ОПЦИОНАЛЬНО
Маска карты в формате ХХХХХХ****ХХХХ
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card_hash
ОПЦИОНАЛЬНО
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
brand
ОПЦИОНАЛЬНО
'brand' => 'VISA'
'brand' => 'MASTER'
'brand" => 'PROSTIR'
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee_type
ОПЦИОНАЛЬНО
Признак каким образом взимается комиссия:
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee
ОПЦИОНАЛЬНО
Сумма комиссии с мерчанта по транзакции в ГРН
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
currency
опционально
Валюта операции
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
Callback при успешном списании
1
2
3
4
5
6
7
8
9
10
11
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
Обязательно
SALE
result
Обязательно
SUCCESS
status
Обязательно
SETTLED
PENDING
только когда было указано auth
= Y
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
descriptor
Обязательно
Это строка, которую владелец кредитной карты увидит в выписка из банка.
В большинстве случаев это веб-сайт поддержки клиентов.
auth_code
Обязательно
Код авторизации от банка
amount
опционально
Сумма транзакции
Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
опционально
10 дополнительных полей
Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.
MID
ОПЦИОНАЛЬНО
Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card
ОПЦИОНАЛЬНО
Маска карты в формате ХХХХХХ****ХХХХ
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card_hash
ОПЦИОНАЛЬНО
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
brand
ОПЦИОНАЛЬНО
'brand' => 'VISA'
'brand' => 'MASTER'
'brand" => 'PROSTIR'
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee_type
ОПЦИОНАЛЬНО
Признак каким образом взимается комиссия:
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee
ОПЦИОНАЛЬНО
Сумма комиссии с мерчанта по транзакции в ГРН
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
currency
опционально
Валюта операции
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
hash
Обязательно
Зашифрованная подпись для проверки достоверности коллбека
1
2
3
4
5
6
7
8
9
10
11
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
Внимание! Если при запросе на оплату не был указан email
, то при проверке hash
в подписи Callback следует указать пустое значение для email
.
При неуспешной оплате (синхронный режим): Response при неуспешном списании
1
2
3
4
5
6
7
8
9
{
"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
Обязательно
SALE
result
Обязательно
DECLINED
status
Обязательно
DECLINED
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
amount
опционально
Сумма транзакции
Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
опционально
10 дополнительных полей
Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.
MID
ОПЦИОНАЛЬНО
Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card
ОПЦИОНАЛЬНО
Маска карты в формате ХХХХХХ****ХХХХ
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card_hash
ОПЦИОНАЛЬНО
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
brand
ОПЦИОНАЛЬНО
'brand' => 'VISA'
'brand' => 'MASTER'
'brand" => 'PROSTIR'
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee_type
ОПЦИОНАЛЬНО
Признак каким образом взимается комиссия:
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee
ОПЦИОНАЛЬНО
Сумма комиссии с мерчанта по транзакции в ГРН
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
currency
опционально
Валюта операции
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
decline_reason
Обязательно
Причина, по которой транзакция была отклонена
Callback при неуспешном списании
1
2
3
4
5
6
7
8
9
10
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
Обязательно
SALE
result
Обязательно
DECLINED
status
Обязательно
DECLINED
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
amount
опционально
Сумма транзакции
Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
опционально
10 дополнительных полей
Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.
MID
ОПЦИОНАЛЬНО
Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card
ОПЦИОНАЛЬНО
Маска карты в формате ХХХХХХ****ХХХХ
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card_hash
ОПЦИОНАЛЬНО
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
brand
ОПЦИОНАЛЬНО
'brand' => 'VISA'
'brand' => 'MASTER'
'brand" => 'PROSTIR'
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee_type
ОПЦИОНАЛЬНО
Признак каким образом взимается комиссия:
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee
ОПЦИОНАЛЬНО
Сумма комиссии с мерчанта по транзакции в ГРН
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
currency
опционально
Валюта операции
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
decline_reason
Обязательно
Причина, по которой транзакция была отклонена
hash
Обязательно
Зашифрованная подпись для проверки достоверности коллбека
1
2
3
4
5
6
7
8
9
10
11
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
Внимание! Если при запросе на оплату не был указан email
, то при проверке hash
в подписи Callback следует указать пустое значение для email
.
При ошибке в запросе (синхронный режим): Response в случая ошибки в запросе
1
2
3
4
{
"result": "ERROR",
"error_message": "Error description"
}
Асинхронный режим: Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Промежуточный ответ (асинхронный режим): Response о принятии запроса в обработку
1
2
3
4
5
6
7
{
"action": "SALE",
"result": "ACCEPTED",
"trans_id": "03346-89211-86461",
"order_id": "ORDER-12345",
"trans_date": "2012-04-03 16:02:01"
}
action
Обязательно
SALE
result
Обязательно
ACCEPTED
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
Промежуточный редирект плательщика на 3DS (асинхронный режим): Промежуточный Callback при наличии проверки 3DS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
Обязательно
SALE
result
Обязательно
REDIRECT
status
Обязательно
3DS
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
redirect_url
Обязательно
URL, на который должен быть перенаправлен плательщик
redirect_params
Обязательно
Строка параметров
redirect_method
Обязательно
POST
Метод передачи параметров
hash
Обязательно
Зашифрованная подпись для проверки достоверности коллбека
1
2
3
4
5
6
7
md5(
strtoupper(
strrev(email).
CLIENT_PASS.
strrev(payment_token)
)
)
Внимание! Если при запросе на оплату не был указан email
, то при проверке hash
в подписи Callback следует указать пустое значение для email
.
При успешной оплате (асинхронный режим): Callback при успешном списании
1
2
3
4
5
6
7
8
9
10
11
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
Обязательно
SALE
result
Обязательно
SUCCESS
status
Обязательно
SETTLED
PENDING
только когда было указано auth
= Y
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
descriptor
Обязательно
Это строка, которую владелец кредитной карты увидит в выписка из банка.
В большинстве случаев это веб-сайт поддержки клиентов.
auth_code
Обязательно
Код авторизации от банка
amount
опционально
Сумма транзакции
Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
опционально
10 дополнительных полей
Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.
MID
ОПЦИОНАЛЬНО
Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card
ОПЦИОНАЛЬНО
Маска карты в формате ХХХХХХ****ХХХХ
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card_hash
ОПЦИОНАЛЬНО
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
brand
ОПЦИОНАЛЬНО
'brand' => 'VISA'
'brand' => 'MASTER'
'brand" => 'PROSTIR'
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee_type
ОПЦИОНАЛЬНО
Признак каким образом взимается комиссия:
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee
ОПЦИОНАЛЬНО
Сумма комиссии с мерчанта по транзакции в ГРН
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
currency
опционально
Валюта операции
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
hash
Обязательно
Зашифрованная подпись для проверки достоверности коллбека
1
2
3
4
5
6
7
8
9
10
11
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
Внимание! Если при запросе на оплату не был указан email
, то при проверке hash
в подписи Callback следует указать пустое значение для email
.
При неуспешной оплате (асинхронный режим): Callback при неуспешном списании
1
2
3
4
5
6
7
8
9
10
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
Обязательно
SALE
result
Обязательно
DECLINED
status
Обязательно
DECLINED
order_id
Обязательно
ID транзакции в системе мерчанта
trans_id
Обязательно
ID транзакции в платежной системе
trans_date
Обязательно
Дата транзакции в платежной системе. Время UTC
amount
опционально
Сумма транзакции
Поле опционально и по умолчанию выключено. Для включения просьба написать запрос в ваш групповой чат.
ext1
, ext2
, ext3
, ext4
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
опционально
10 дополнительных полей
Поля опционально и по умолчанию выключены. Для включения просьба написать запрос в ваш групповой чат.
MID
ОПЦИОНАЛЬНО
Уникальный идентификатор банковского терминала PSP Paton. Под каждый платежный метод и мерчанта свой идентификатор.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card
ОПЦИОНАЛЬНО
Маска карты в формате ХХХХХХ****ХХХХ
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
card_hash
ОПЦИОНАЛЬНО
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
brand
ОПЦИОНАЛЬНО
'brand' => 'VISA'
'brand' => 'MASTER'
'brand" => 'PROSTIR'
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee_type
ОПЦИОНАЛЬНО
Признак каким образом взимается комиссия:
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
fee
ОПЦИОНАЛЬНО
Сумма комиссии с мерчанта по транзакции в ГРН
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
currency
опционально
Валюта операции
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.
decline_reason
Обязательно
Причина, по которой транзакция была отклонена
hash
Обязательно
Зашифрованная подпись для проверки достоверности коллбека
1
2
3
4
5
6
7
8
9
10
11
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
Внимание! Если при запросе на оплату не был указан email
, то при проверке hash
в подписи Callback следует указать пустое значение для email
.
При ошибке в запросе (асинхронный режим): Response в случая ошибки в запросе
1
2
3
4
{
"result": "ERROR",
"error_message": "Error description"
}
Список ошибок, их причин и возможных решений. Пройдите контрольный список интеграции: После добавления кнопки на ваш сайт/мобильное приложение необходимо пройти контрольный список интеграции для проверки корректности работы 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 скринов процесса заказа и оплаты.
Сразу можете подавать заявку и для получения доступа с продовым доменом.
Просьба обратить внимание, что в прод режиме Google Pay будет работать только на проаппрувленых гуглом доменах.
https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access
Получение доступа занимает 2-3 дня. Если у сотрудников Google будут замечания - они отправят письмо на мейл, под которым вы зарегистируетесь.
После этого с вашей стороны необходимо переключиться на Production в интеграции с GooglePay:
Для этого: https://developers.google.com/pay/api/web/guides/test-and-deploy/deploy-production-environment
Установить environment: ‘PRODUCTION' вместо 'TEST’
Указать значение 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
Дополнения к оплате картой: Последующие транзакции: