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 Google Pay .
  •  После авторизации пользователя и выбора реальной карты в кошельке Google Pay вернет зашифрованные данные.
  •  Провести запрос согласно 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.
  •  Уведомить клиента об успешной / не успешной оплате.

Требования

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

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

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

Expand
titleЛоготипы платежных систем и PSP Platon

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

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

Include PageЛоготипы для размещенияЛоготипы для размещения
Expand
titleTLS 1.2

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

Ограничения

Expand
titleБраузеры

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

  • Chrome

  • Safari

  • UC Browser

  • Firefox

  • Opera

  • Microsoft Edge

  • Android

Expand
titleWebView

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

Google Pay API

Для сайта: https://developers.google.com/pay/api/web

Для мобильных приложений: https://developers.google.com/pay/api/android

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

Параметры
  • для отримання кнопки 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"
          "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 32 символа

order_amount

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

Number

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

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

order_currency

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

UAH

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

Info

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

order_description

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

Expand
titleПример запроса на PHP
Code Block
languagephp
<?php $CLIENT_PASS='***'; $data['action']='GOOGLEPAY'; $data['CLIENT_KEY']

Параметр

Значення

Опис

Особливості

action

Status
colourGreen
title

Обязательноpayment_token

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

String

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

Note

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

Max 255 символов

GOOGLEPAY

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

client_key

Status
colourGreen
title

Обязательно

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

String

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

payer_ip

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

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

order_id

Status
colourGreen
title

Обязательноterm_url_3ds

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

Number

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

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

Note

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

String

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

Max 255 символи

order_amount

Status
colourGreen
title

Обязательно

hash

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

String

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

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

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

String

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

Max 255 символов

Number

Сума оплати

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

order_currency

Status
colour

Yellowpayer_last_name

Green
title

не обязательно

String

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

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

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

UAH

Валюта

Info

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

order_description

Status
colour

Yellow

Green
title

не обязательноpayer_middle_name

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

String

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

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

Опис

Note

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

Max 255 символів

payment_token

Status
colour

Yellow

Green
title

не обязательноMax 32 символа без пробелов

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

String

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

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

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

payer_

birth_date

ip

Status
colour

Yellow

Green
title

не обязательно

String

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

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

payer_address

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

Number

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

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

Note

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

payer_email

Status
colour

Yellow

Green
title

не обязательно

String

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

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

String

E-mail платника

Info

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

Info

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

Max 256

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

символів

payer_

country

phone

Status
colour

Yellow

Green
title

не обязательно

String

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

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

payer_state

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

Number

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

Info

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

term_url_3ds

Status
colour

Yellow

Green
title

не обязательноpayer_city

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

String

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

Note

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

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

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

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

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

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

payer_

zip

last_name

Status
colourYellow
titleне

обязательно

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

String

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

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

Max 32

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

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

payer_middle_name

Status
colourYellow
titleне

обязательно

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

String

E-mail

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

Max

256 символа

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

payer_birth_

phone

date

Status
colourYellow
titleне

обязательноext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10

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

Number

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

Note

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

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

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

String

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

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

payer_address

Status
colourYellow
titleне

обязательноchannel_id

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

String

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

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

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

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

payer_country

Status
colourYellow
titleне

обязательноasync

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

String

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

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

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

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

payer_state

Status
colourYellow
titleне

обязательно

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

Y

String

N

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

Note

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

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

auth
status

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

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

payer_city

Status
colourYellow
titleне

обязательно

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

Y

String

N

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

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

req_token

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

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

payer_zip

Status
colourYellow
titleне

обязательно

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

Y

String

N

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

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

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

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

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['order_idaction']='Test_006GOOGLEPAY';
  $data['orderclient_amountkey']='0.51***';
  $data['order_currencyid']='UAHTest_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": "MEUCIQDMEYCIQC+9IHxUu9Wwra2Vu6tBa2wJPCMT3pWtN1VphLGYtNVLLwIhAOkdbNje/PnFvB+Lo6d/eHpgqQrMvmRDZdW1AcjQKavHrcPmQIgeVjR1hXqH7hkCneLrXVc+VZqx/kjdofMIYbyL15Xp52mR9+2s\u003dn6LOlc4PqxWOUcqwrmki/CNA1ur","intermediateSigningKey":{"signedKey":"{\\\\"keyValue\\\\":\\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBOHyOhwWk6SK5nqhFBBI1hSvWHAaOO0Ukbrl56zx7fPNttFFKs2U10f6EWbdhULrv4QT4qMNbyVAq8ig1jdsYAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73Pk51MSGFgZ3Ul2K7rPNXNZDY886ybbDotCRXfNqaqyu3j4UAxu3rTPn6u9s2h+6eQfLWtQzZ+2IdA32zYUIw\\\\\\\\u003d\\\\\\\\u003d\\\\",\\\\"keyExpiration\\\\":\"1570945959000\\\"1683886728000\\\\"}","signatures":["MEYCIQCe6t42U5OemtGGdYC6npBNbVxe1HbTF8pUkSD7mO+CWAIhAI/0M/XQuW6i8reT0LCNHKoNfgWYwOWHBoj2wpZdgKHhMEYCIQChYMsPP6iE0EBWjN4yCaYutxJsXJwbQ241w21YZ1iI6AIhAI5u97+CSg04TTcZwGolxbcjs3I8J4srgIuXdbc7wKET"]},"protocolVersion":"ECv2","signedMessage":"{\\\\"encryptedMessage\\\\":\\\\"U9ChAIukmQ85TdZKAUP/26mJUwUt3cVpJmxeXUyfiFgOFkvyBecknRUBbZEHZfLp59RViFryhOjz6Fx9AJ4VpsdstPI9/JtFi350FHFYeLiWMXw8kCXeoiJ0UQiUYmd/KiRNiIEGi1CmkgVe+ohzikkKLo37Ty3YQjyjVHNTHmF3AyNVTIJCL7qYybt+aFNI1XFlpv3ArWU+fH8Bi190tl7lLyyeNjWx8L402spsLpuUe9OLLjazIq0Vfjw3wRZ2B2+ybUrnoz5Iydapn8B7c/QqR7w53n6svIK58q7eL159Ano0GyfLpUOLLQ949MhP1ze***UzapUGtMd0k0c/4Nnkfs2TnN6ETEtP8y9J29hYKGVOCo79rRSN2xLsYXGNawIiPc6082HWB82JyuW2bfWAL1R0W+2iql2dBWY\\u003dMklZt4LH6LySi3kLRxRp0Dbmh2OLpgfGBtbKzUOhlDAD4025OVfsG8Hwlrsvc3yCdFYiA3+w6rc12uAu9EBlAQv2nTJj6FHCIrOrwJ0FYjdk2hqXNKN/4CSBhxHoqITlYh8wX5EIqpHbnS73zp4aOvPgV8iPicnOxD1Cbr7OPZRqB2hUmWNeLv8ZSyQXLsVXLb5cQ5ZFLTcEdRWQrvwvZ43Fz5RHrBZGcVZmvCagLLh9euII4aVMVAfHepjmcWF1kOJdpvmygZnTfGx1MweSn8LEl8NM9mQh5eUy0yP/5R4/Egv8btC7uKxwmBuxuVoNd0DCeiShaUzx+AVVhdIHUytRIqllFFkbvf491ljpa6cWOQReuh3pYOCQ/cWSRNWXR2WiVtSOo0q47iH1AYGCsTyxpKq1Jcoq7ws1FJQEKy5ofZAcktdsmdDFtCnA6V/Pdzl7XWMIWbRrVXS2U\\\\",\\\\"ephemeralPublicKey\\\\":\"BPYYpVT5INyXSwoNbP/HuGkjQnfnUwUPMH2bCp6Od3EoihnegFZObjP0IVvDA5YfNlLDJjHutBDj30GW5Fei8xw\\\"BLD5aoQeQ1M51wRDphfxHNBuDa1i0hcbO+9rIeX8kfWGfM7Bm0Uzu1V6/jRWGttY6lq6c8Gqi4a4DvU1oE7zbw8\\\\\\\\u003d\\\\",\\\\"tag\\\\":\\"qt4FcCGO4rp969CBBTPJ0nhAeQeR+rOM0FmXk8DdGLQ\\"pP9Fo/JfuRGJw0gR7NbrqcRNx7TDvmnKj7Gq42FJmDA\\\\\\\\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

GOOGLEPAY

result

REDIRECT

status

3DS

order_id

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

trans_id

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

trans_date

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

redirect_url

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

redirect_params

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

redirect_method

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

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

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.

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

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

GOOGLEPAY

result

SUCCESS

status

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

order_id

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

trans_id

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

trans_date

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

descriptor

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

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

amount

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

Info

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

ext1 - ext10

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

Info

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

currency

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

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

SALE

result

SUCCESS

status

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

order_id

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

trans_id

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

trans_date

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

descriptor

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

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

auth_code

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

amount

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

Info

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

ext1 - ext10

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

Info

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

hash

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

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

GOOGLEPAY

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

amount

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

Info

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

ext1 - ext10

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

Info

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

trans_date

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

decline_reason

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

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

SALE

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

amount

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

Info

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

ext1 - ext10

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

Info

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

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

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

Данный режим активируется при передаче 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

GOOGLEPAY

result

ACCEPTED

order_id

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

trans_id

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

trans_date

Дата транзакции в платежной системе. Время 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' => '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.

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

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

SALE

result

SUCCESS

status

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

order_id

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

trans_id

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

trans_date

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

descriptor

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

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

auth_code

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

amount

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

Info

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

ext1 - ext10

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

Info

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

hash

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

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

SALE

result

DECLINED

status

DECLINED

order_id

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

trans_id

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

trans_date

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

amount

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

Info

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

ext1 - ext10

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

Info

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

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

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

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

Боевой режим

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

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

Для сайтов
\\\\"}"}';
  $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

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

доменом.

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/androidweb/guides/test-and-deploy/request-prod-access

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

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

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