Google Pay в вашем мобильном приложении
Если вы хотите разместить кнопку GPay для приема платежей в вашем мобильном приложении, вам необходимо выполнить следующее:
1. Зарегистрироваться в Google.
Зарегистрируйте свое приложение в Google Pay Business Console.
Info
Ознакомьтесь и приведите свой сайт в соответствие с условиями и правилами использования Google Pay. Следуйте правилам фирменного оформления бренда при размещении кнопки Google Pay.
2. Получите платежный токен Google Pay.
Для обработки платежа системой 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. |
Info
Если необходимо, вы можете использовать пример реализации приема платежей через Google Pay.
Пример кода для параметров запроса токена 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"
}
}
}
3. Отправить запрос на проведение транзакции в систему {psp.name}}
Запрос
Отправьте запрос оплаты, авторизации или взимания платы, в котором необходимо передать зашифрованный токен 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 будет возвращен синхронно с его статусом и будет полностью соответствовать ответам операций оплаты или авторизации.