...
доступные методы платежа
Code Block language js var allowedPaymentMethods = ['CARD', 'TOKENIZED_CARD'];
тип токенизации -
PAYMENT_GATEWAY
:Code Block language js tokenizationType: 'PAYMENT_GATEWAY'
для тестового окружения укажите значения
gateway
какrbkmoney
иgatewayMerchantId
какrbkmoney-test
:Code Block 'gateway': 'rbkmoney', 'gatewayMerchantId': 'rbkmoney-test'
...
Note |
---|
Встроенный в эту документацию скрипт логгирует данные Google Pay в консоль вашего браузера. Вы можете просмотреть их и использовать для тестовых нужд. Обратите внимание! В Google Pay отсутствует возможность привязать тестовую карту, поэтому интерфейс вам будет показывать вашу реальную карту. Однако в тестовой среде Google эта карта непрозрачно подменяется на тестовую и вам в скрипт возвращаются данные тестовой карты. Таким образом вы можете безопасно использовать вашу привязанную реальную карту, средства с нее списаны не будут. |
Интеграция Google Pay в
...
IntellectMoney API
Для проведения платежа с Google Pay необходимо выполнить следующие вызовы RBKmoney вызовы IntellectMoney API:
- создать в Платформе инвойс, вызвав метод createInvoice();
- либо, если инвойс уже был создан ранее, создать invoiceAccessToken;
- используя полученный
invoiceAccessToken
создать платежный токен RBKmoneyIntellectMoney, вызывав метод createPaymentResource(); - использовать полученный платежный токен RBKmoney токен IntellectMoney для запуска одно- или двустадийных платежей.
...
- в переменной
paymentToolType
укажите значениеTokenizedCardData
; - в переменной
provider
укажитеGooglePay
; - в переменной
gatewayMerchantID
:- для тестовой среды укажите
rbkmoney-test
; - для боевой среды укажите идентификатор вашего мерчанта, выданный вам RBKmoneyIntellectMoney.
- для тестовой среды укажите
- в структуру
paymentToken
передайте структуру, полученную из Google Pay.
Пример корректно заполненной структуры
Code Block | ||
---|---|---|
| ||
{ "paymentTool": { "paymentToolType": "TokenizedCardData", "provider": "GooglePay", "gatewayMerchantID": " |
...
intellectMoney-test", "paymentToken": { "cardInfo": { "cardNetwork": "MASTERCARD", "cardDetails": "4444", "cardImageUri": "https://lh6.ggpht.com/h6TBIVV7tlYGr1zkIA8CmCzINizzASbPIetpxh_5otBu3VkPEC5_Kk_wH5szy7gDhMkRhVVp", "cardDescription": "Mastercard •••• 4444", "cardClass": "CREDIT" }, "paymentMethodToken": { "tokenizationType": "PAYMENT_GATEWAY", "token": "{\"signature\":\"MEUCIZ29vZ2xlIHBheSBkZWNvZGVkIHNpZ25hdHVyZSBkYXRhIChiaW5hcnkpCg\\u003d\",\"protocolVersion\":\"ECv1\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwg//c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu//YSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0//aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuCg\\\",\\\"ephemeralPublicKey\\\":\\\"Z29vZ2xlIHBheSBlbXBoZXJhbCBwdWJsaWMga2V5IChkZWNvZGVkIGJpbmFyeSkK\\\\u003d\\\",\\\"tag\\\":\\\"Z29vZ2xlIHBheSB0YWcgKGRlY29kZWQgYmluYXJ5KQo\\\\u003d\\\"}\"}" } } }, "clientInfo": { "fingerprint": "aa32fec9f377e6fae19a6a8bcde41bd1" } } |
...
Собираем все вместе
Ниже приведена цепочка curl
вызовов к API RBKmoneyIntellectMoney, позволяющая провести платеж с использованием платежного метода Google Pay.
создаем в Платформе инвойс:
Code Block language js curl -X POST \ https://api.rbk.money/v2/processing/invoices \ -H 'Authorization: Bearer {YOUR_API_KEY}' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json; charset=utf-8' \ -H 'X-Request-ID: 1528470572' \ -d '{ "shopID": "TEST", "dueDate": "2018-06-08T14:56:31.416Z", "amount": 6000, "currency": "RUB", "product": "Order num 12345", "description": "Delicious meals", "cart": [ { "price": 5000, "product": "Sandwich", "quantity": 1, "taxMode": { "rate": "10%", "type": "InvoiceLineTaxVAT" } }, { "price": 1000, "product": "Cola", "quantity": 1, "taxMode": { "rate": "18%", "type": "InvoiceLineTaxVAT" } } ], "metadata": { "order_id": "Internal order num 13123298761" } }'
...
пример ответа Платформы:
Code Block language js { "invoice": { "amount": 6000, "cart": [ { "cost": 5000, "price": 5000, "product": "Sandwich", "quantity": 1, "taxMode": { "rate": "10%", "type": "InvoiceLineTaxVAT" } }, { "cost": 1000, "price": 1000, "product": "Cola", "quantity": 1, "taxMode": { "rate": "18%", "type": "InvoiceLineTaxVAT" } } ], "createdAt": "2018-06-08T13:56:31.188182Z", "currency": "RUB", "description": "Delicious meals", "dueDate": "2018-06-08T14:56:31.416000Z", "id": "10vLw0XY144", "metadata": { "order_id": "Internal order num 13123298761" }, "product": "Order num 12345", "shopID": "TEST", "status": "unpaid" }, "invoiceAccessToken": { "payload": "{INVOICE_ACCESS_TOKEN}" } }
...
- обрабатываем в UA плательщика бизнес-процесс Google Pay, передаем полученные данные себе на бекэнд и вызываем createPaymentResource():
...