Google Pay на собственной платежной странице
Если вы хотите разместить кнопку Google Pay для приема платежей через собственную платежную страницу на своем сайте, вам необходимо выполнить следующее:
-
Зарегиcтрироваться в Google Pay Business Console. Ознакомиться и привести свой сайт в соответствие с условиями и правилами использования Google Pay, следовать правилам использования бренда при размещении кнопки Google Pay.
-
Выбрать и использовать подходящий способ интеграции:
Регистрация в Google Pay Business Console
Перед началом приема платежей Google Pay в рабочем режиме вам следует зарегистрировать ваш сайт в Google Pay Business Console и получить одобрение процесса покупки от Google.
Для этого необходимо:
- Авторизоваться в Google Pay Business Console.
- Нажать Google Pay API на боковой панели.
- Нажать Add website в блоке Integrate with your website.
- Заполнить форму регистрации. Требуется загрузить скриншоты процесса оплаты через Google Pay.
Google Pay для вебсайтов с использованием библиотеки bePaid
Для приема платежей Google Pay на сайте Вы можете воспользоваться библиотекой, разработанной bePaid. Она совместима по параметрам и поведению с библиотекой платежного виджета.
1. Установите скрипт для подключения библиотеки к сайту:
<script type="text/javascript" src="https://js.bepaid.by/widget/google_pay.js"></script>
2. Разместите блок на веб-странице для отображения кнопки Google Pay:
<div id="google-pay-button">
<div id="google-pay" onclick="pay()" class="google-pay-button-with-text" lang="ru-RU"></div>
</div>
3. Добавьте следующий JavaScript-код для осуществления платежа через Google Pay. Запрос на обработку платежа будет совершаться автоматически.
<script>
var params = {
checkout_url: 'https://checkout.bepaid.by',
google_pay: {
google_pay_merchant_id: 'IDFROMGOOGLECONSOLE',
},
googlePayContainerId: 'google-pay-button',
supportedNetworks: ['visa', 'masterCard'],
token: '3241e439f8c87d941d92621a4bdc030d4c9a69c67f3b0cfe12de4a13cc34aa51'
}
const googlePay = new GooglePay(params);
this.pay = googlePay.pay;
</script>
Параметр | Тип | Описание |
---|---|---|
checkout_url * обязательный |
string | https://checkout.bepaid.by |
google_pay_merchant_id * обязательный |
string | Идентификатор торговца Google, полученный при регистрации в Google Pay Business Console. |
googlePayContainerId * обязательный |
string | ID контейнера, к которому будет добавлена кнопка Google Pay |
supportedNetworks * обязательный |
array | visa , masterCard |
token * обязательный |
string | Для получения токена выполнить запрос, описание которого размещено на странице Токен платежа |
public_key * условно обязательный |
string | Публичный ключ магазина. Обязателен, если не прислан параметр token . |
Google Pay для вебсайтов с использованием Google Pay API
При собственной реализации интеграции для приема платежей Google Pay на сайте вам необходимо:
1. Получить платежный токен Google Pay, используя Google Pay API интеграцию.
Для обработки платежа системой bePaid при запросе токена у Google (шаги 2 - 4 Руководства Google Pay API) вам необходимо использовать следующие параметры:
Параметр | Тип | Описание |
---|---|---|
type * обязательный |
string | payment_gateway |
gateway * обязательный |
string | {psp.google_pay.gateway_id} |
gatewayMerchantId * обязательный |
integer | ID магазина в системе bePaid |
supported Networks * обязательный |
array | visa , masterCard |
supported authorization methods | array | PAN_ONLY , CRYPTOGRAM_3DS |
BillingAddressParameters | object | Параметры billing address не являются обязательными для процессинга через bePaid Gateway API. |
Пример кода для параметров запроса токена Google Pay
const baseRequest = {
apiVersion: 2,
apiVersionMinor: 0
};
const tokenizationSpecification = {
type: 'payment_gateway',
parameters: {
'gateway': '{psp.google_pay.gateway_id}',
'gatewayMerchantId': 'exampleGatewayMerchantId'
}
};
const allowedCardNetworks = ["MASTERCARD", "VISA"];
const allowedCardAuthMethods = ["PAN_ONLY", "CRYPTOGRAM_3DS"];
Пример ответа Google Pay API version 2.0 при оплате картой
{
"apiVersion": 2,
"apiVersionMinor": 0,
"paymentMethodData": {
"type": "CARD",
"description": "Visa •••• 1234",
"info": {
"cardNetwork": "VISA",
"cardDetails": "1234"
},
"tokenizationData": {
"type": "PAYMENT_GATEWAY",
"token": "examplePaymentMethodToken"
}
}
}
2. Отправить запрос оплаты, авторизации или взимания платы, в котором необходимо передать зашифрованный токен Google Pay как значение параметра request.credit_card.token
в формате, описанном ниже.
Формат зашифрованного токена Google Pay при передаче его в качестве токена карты
Передавайте зашифрованный токен Google Pay в запросах в качестве токена карты в формате $begateway_google_pay_1_0_0$<base64_PaymentToken_here>
, где:
$begateway_google_pay_1_0_0$
- обязательный префикс при передаче зашифрованного токена Google Pay;<base64_PaymentToken_here>
- это полученный от Google Pay токен (paymentMethodData.tokenizationData.token
для Google Pay API version 2.0) в формате JSON, сконвертированный в формат Base64-strict.
Для рекуррентных платежей или платежей по сохраненной карте, передайте параметр request.additional_data.contract
в запросе оплаты, авторизации или взимания платы, чтобы получить в ответ токен карты для последующих операций оплаты без участия пользователя.
Пример запроса оплаты с зашифрованным токеном Google Pay
{
"request": {
"amount": 100,
"currency": "USD",
"description": "Google Pay test transaction",
"tracking_id": "your_uniq_number",
"credit_card": {
"token": "$begateway_google_pay_1_0_0$eyJzaWduYXR1cmUiOiJNRVlDSVFES2R2dFlEVFdNemh1MVhNanNTdlgxZzJFek1hdFN5Z3J3QVU0cFpyd2tnUUloQUlEMzRtUGdMa1pRU1ZvbUptSjNyM3NKZ1ZveFc5eVpIUnR6QkVjOVZiTHIiLCJpbnRlcm1lZGlhdGVTaWduaW5nS2V5Ijp7InNpZ25lZEtleSI6IntcImtleVZhbHVlXCI6XCJNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUV5cUdEYUxLN3lvVWJGWVRFWnQzaHhPTTlPckZacFUyenJJTXJ3WWhuV25HbksraDkvWWFHNllnczBUcWp0eGhFcExDUVl1RVpuTFM5S3RlN0xWRlJaUVxcdTAwM2RcXHUwMDNkXCIsXCJrZXlFeHBpcmF0aW9uXCI6XCIxNTk4NDg4NzUxMTg5XCJ9Iiwic2lnbmF0dXJlcyI6WyJNRVFDSUJmRWdXVmtxN0FtSlp2WmhpQ3hKazBPNUV6Z042NWt4dXZmb2dSM3YxT1dBaUFnd1VnMXZuWGFlK2JXM0NtbWhvRFEvTFFIcG9leUZINFNGQk9jOXBVeS93XFx1MDAzZFxcdTAwM2QiXX0sInByb3RvY29sVmVyc2lvbiI6IkVDdjIiLCJzaWduZWRNZXNzYWdlIjoie1wiZW5jcnlwdGVkTWVzc2FnZVwiOlwiY1BkQmZwbjJpa3dSSThVYWIzQTIrM0lIVitQMEZSMlFzbjNwTG9FK2NYeTZiMnE4V2R4S1gyWi9QY3M4b3JMc0toL2FsT05HZmE1RzJmMkVTK0xjNWVEWnc0YlN5aXFUb09XK2NkQjVLNFNSUUVFSkV2WitoanVvUmVINU8zakZxUXhNYk44V3V5aXlrMzlUQnZyUmQ4MXptNEEvOVkrOEdFU1NDNVhSRUd1Skk1Y2VoRzZKUDZBVnArUnpmZVAzM09INTd1dWlVdldYamsvQXZUb0VmUXprTDM3ZUJKdFI0eWRTWnhNam9zcFN5cU5CenlKZDk3RDNydkZMRmdoZGdrQ1ozMEZRbDc4NGdBelpQVVhkVDBMNW5WZnFXNGxZMHU3VTdiRGxNekxYdWErcTdZU2JQOWFtN0Z0Y2F2LzFKUjBvM1Q2clYzR1ZDdjQ1Q3lQclI1NkN0aU4xZUdONmxsUlRuTDhVMVdZY2JOQWJLQlRkTnhKTlljN2FMQTZCaUYwc01LQWdid2ltK2U5UWR2UzV6ZDJwcVJ1ZTJiYkRsVnBsdSs3ZE1WMWlJTVpVQ3JYRHFROHE3RzQvK3lLWmp6dHk1RDlYS29aSVZzeXFOUFlQTnJaRDdJQ0w5QVxcdTAwM2RcXHUwMDNkIiwiZXBoZW1lcmFsUHVibGljS2V5IjoiQklpOTRmUUhGV0NVVWYrWms0cHdLWEJXTlc5a0d5WTlJQkJrb3ZqZS9kNkJULzZaMjdTeURueFFGS0xOTWRtaUZZcXhkRko3clNkeTRqMTMrNTM3cTRJXFx1MDAzZCIsInRhZyI6InpwZXQ1SHVmbk01WXJOWHdQSjRQQ1lBWU1MeG4vMzNZaDkzNzhLZU1Ba3dcXHUwMDNkIn0ifQ=="
}
}
}
Ответ
Ответ на запрос оплаты по токену Google Pay будет возвращен вместе с его статусом и будет полностью соответствовать ответам операций оплаты или авторизации.