Versions Compared

Key

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

Ограничения

Note

Ваш сайт должен работать по схеме HTTPS и поддерживать протокол TLS 1.2.

Note

Google Pay работает в: Chrome, Safari, UC Browser, Firefox, Opera, Microsoft Edge, Android.

Note

Для работы в webview необходимо следовать инструкциям: https://developer.android.com/guide/webapps/webview?hl=ru#BindingJavaScript

Демо

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

Требования к брендированию

Документация по интеграции Google Pay API

Инструкция

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

Параметры:

  • allowPaymentMethods : CARD

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

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

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

  • gateway = platon

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

Если все сделано правильно - на своем сайте/приложении вы получите кнопку GooglePay и после выбора карты вам вернется набор данных с PaymentData.

Для просмотра примера раскройте список

Expand
titleПример набора данных, которые возвращаются от 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"
    }
  }
}

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

Предусловия

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

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

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

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

Note

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

Краткое описание взаимодействия с платежной платформой

Для транзакций вы должны отправлять POST-запрос сервер на сервер HTTPS с помощью полей, перечисленные ниже, на PAYMENT_URL.

Если мерчант поддерживает 3D-Secure тогда платежная платформа вернет ссылку на сервер управления безопасностью для выполнения 3D-Secure проверки. В этом случае вам необходимо перенаправить держателя карты на эту ссылку. Если есть иные параметры, которые отдаются ссылкой необходимо перенаправить владельца карты по этой ссылке вместе с параметрами, используя метод передачи данных, указанный в том же самом результате.

В случае 3D-Secure после проверки на стороне сервера 3D-Secure Владелец кредитной карты вернется на ваш сайт, используя ссылку, указанную в запросе и платежная система вернет результат обработки транзакции на указанный CALLBACK URL.

API параметры запроса

HTTP METHOD:

Status
colourGreen
titlePOST

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

...

Параметр

...

Значение

...

Описание

...

Особенности

...

Обязательно

...

action

...

GOOGLEPAY

...

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

...

Status
colourGreen
titleДа

...

async

...

Y
N

...

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

...

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

...

Status
colourYellow
titleнет

...

client_key

...

String

...

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

...

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

...

Status
colourGreen
titleДа

...

channel_id

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

order_id

...

String

...

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

...

Max 32 символа

...

Status
colourGreen
titleДа

...

order_amount

...

Number

...

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

...

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

...

Status
colourGreen
titleДа

...

order_currency

...

UAH

...

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

...

Info

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

...

Status
colourGreen
titleДа

...

order_description

...

String

...

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

...

Note

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

Max 255 символов

...

Status
colourGreen
titleДа

...

payment_token

...

String

...

Токен, полученный мерчантом от Google

...

Status
colourGreen
titleДа

...

payer_first_name

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_last_name

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_middle_name

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_birth_date

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_address

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_country

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_state

...

String

...

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

...

Note

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

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

...

Status
colourYellow
titleнет

...

payer_city

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_zip

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

payer_email

...

String

...

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

...

Max 256 символа

...

Status
colourYellow
titleнет

...

payer_phone

...

Number

...

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

...

Note

Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то:

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

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

...

Status
colourYellow
titleнет

...

payer_ip

...

Number

...

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

...

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

Note

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

...

Status
colourYellow
titleнет

...

term_url_3ds

...

String

...

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

...

Max 255 символов

...

Status
colourYellow
titleнет

...

ext1-ext10

...

String

...

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

...

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

...

Status
colourYellow
titleнет

...

auth

...

Y
N

...

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

...

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

...

Status
colourYellow
titleнет

...

req_token

...

Y
N

...

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

...

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

...

Status
colourYellow
titleнет

...

hash

...

String

...

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

...

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

...

Status
colourGreen
titleДа

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

Для просмотра примера раскройте список

...

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

...

languagephp

...

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 будуть зняті).
  •  Провести запит по API Google Pay для отримання кнопки Google Pay.
  •  Після авторизації користувача та вибору реальної картки в гаманці 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
titleБраузери

На даний момент 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 та після вибору картки вам повернеться набір даних з 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"
    }
  

...

}
}

Ознайомтесь з прикладом 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\"
 

...

 

...

  

...

}"

...

 

...

 

...

Работа с Callback

Info

Рекомендуем ознакомиться с разделами:

Callback и Response (Синхронный режим)

Для просмотра примера раскройте список

...

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

...

GOOGLEPAY

...

result

...

REDIRECT

...

status

...

3DS

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

redirect_url

...

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

...

redirect_params

...

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

...

redirect_method

...

Метод передачи параметров (POST/GET)

...

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

...

SALE

...

result

...

REDIRECT

...

status

...

3DS

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

redirect_url

...

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

...

redirect_params

...

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

...

redirect_method

...

Метод передачи параметров (POST/GET)

...

hash

...

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

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

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

...

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

...

GOOGLEPAY

...

result

...

SUCCESS

...

status

...

PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

descriptor

...

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

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

...

amount

...

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

...

currency

...

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

...

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

...

SALE

...

result

...

SUCCESS

...

status

...

PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

descriptor

...

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

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

...

auth_code

...

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

...

ext1-ext10

...

Дополнительные поля от 1 до 10

Info

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

...

hash

...

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

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

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

...

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

...

GOOGLEPAY

...

result

...

DECLINED

...

status

...

DECLINED

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

decline_reason

...

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

...

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

...

SALE

...

result

...

DECLINED

...

status

...

DECLINED

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

decline_reason

...

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

...

hash

...

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

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

Callback и Response (Асинхронный режим)

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

Для просмотра примера раскройте список

...

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

...

GOOGLEPAY

...

result

...

ACCEPTED

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

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

...

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

...

SALE

...

result

...

SUCCESS

...

status

...

PENDING/SETTLED; статус PENDING только когда было указано "auth=Y"

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

descriptor

...

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

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

...

auth_code

...

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

...

ext1-ext10

...

Дополнительные поля от 1 до 10

Info

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

...

hash

...

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

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

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

...

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

...

SALE

...

result

...

DECLINED

...

status

...

DECLINED

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

decline_reason

...

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

...

hash

...

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

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

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

...

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

...

SALE

...

result

...

REDIRECT

...

status

...

3DS

...

order_id

...

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

...

trans_id

...

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

...

trans_date

...

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

...

redirect_url

...

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

...

redirect_params

...

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

...

redirect_method

...

Метод передачи параметров (POST/GET)

...

hash

...

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

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

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

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

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

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

...

}
}

Налаштуйте відправку отриманого значення 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/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

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

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не обов'язковий

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

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

Стандартне значення 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']='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/deploy-production-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/

...

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

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

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

Подпишите ваше приложение:

Если вы интегрируете Google Pay в свое моибльное приложение - необходимо дополнительно его подписать, следуя инструкциям:

...

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

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
Помилки та рішення при запитах
Помилки та рішення при запитах