Перейти к основному содержимому

Google Pay™

Этот сценарий описывает отправку платежа на банковскую карту через Google Pay. Чтобы использовать данный способ, интегрируйте Google Pay в ваше приложение Android или сайт.

Шаг 1. Получите платежный токен в Google Pay

  1. Пользователь формирует заказ на вашем сайте или в приложении Android.
  2. Пользователь выбирает способ оплаты Google Pay.
  3. Пользователь выбирает одну из сохраненных карт или вводит данные новой карты.
  4. Пользователь нажимает Оплатить.
  5. Google передает платежный токен.

Шаг 2. Начните платежную сессию

Отправьте запрос на проведение платежа с помощью метода session/init/payment. В поле payment_details.type передайте значение secured_card. В объекте secured_card передайте данные, необходимые для оплаты.

Подробнее о сессиях

В заголовках запроса следует передать идентификатор вашего проекта и подпись запроса.

Подробнее о формате запросов

Пример запроса на создание сессии с одновременным стартом платежа

curl -X POST \
https://proxy-playground.bank131.ru/api/v1/session/init/payment' \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "secured_card",
"secured_card": {
"type": "google_pay",
"google_pay": {
"token": "{\"signature\":
\"MEgKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwbcg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"118716\\\"}\",\"signatures\":[\"MEQCIw\\u003d\\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"wkJmz3OvO4\\\\u003d\\\"}\"}"
}
}
},
"amount_details": {
"amount": 100,
"currency": "rub"
},
"metadata": {
"key": "value"
},
"customer": {
"reference": "lucky"
}
}'

Шаг 3. 3D Secure

Если карта пользователя требует 3D Secure, Банк 131 пришлет вам вебхук action_required с данными для редиректа. Перенаправьте пользователя на адрес, который придет в поле customer_interaction.redirect.url.

Шаг 4. Узнайте результат оплаты

Дождитесь вебхука payment_finished или запросите статус платежа с помощью метода session/status.

Результат платежа приходит в поле status объекта acquiring_payments/payment_list.

Если статус succeeded, значит, оплата прошла успешно. Если статус failed — оплата не прошла из-за ошибки.

Подробнее о статусах платежа

Готово, платеж отправлен.





ИИ-помощник