- HTTP-запрос
- Тело запроса
- Тело ответа
- UpiДетали
- Подробности о токенизированном инструменте
- Асинхронныйкаптурересулткоде
Инициирует начало операции движения денег между счетом клиента и интегратором. Интегратор должен подтвердить запрос и выполнить все действия, необходимые для завершения захвата (например, получить PIN-код от пользователя). Интегратор проинформирует Google об окончательном результате захвата, вызвав API CaptureResultNotification.
Комбинация requestId
в заголовке и paymentIntegratorAccountId
является ключом идемпотентности и уникально идентифицирует эту транзакцию. Все изменения в этой транзакции (возвраты) заполняют значение requestId
в поле captureRequestId
.
Если конечная точка обнаруживает ошибку при обработке запроса, тело ответа от этой конечной точки должно иметь тип
.ErrorResponse
Пример запроса выглядит так:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashIN_INR",
"upiDetails": {
"vpa": "foo@icici"
},
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000"
}
Пример ответа выглядит так:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "ACKNOWLEDGED",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
HTTP-запрос
POST https://www.integratorhost.example.com/v1/asynchronousCapture
Тело запроса
Тело запроса содержит данные следующей структуры:
JSON-представление |
---|
{ "requestHeader": { object ( |
Поля | |
---|---|
requestHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех запросов. |
paymentIntegratorAccountId | ОБЯЗАТЕЛЬНО : это идентификатор учетной записи платежного интегратора, который определяет договорные ограничения, связанные с этой транзакцией. |
transactionDescription | ОБЯЗАТЕЛЬНО : это описание транзакции, которое можно указать в выписке клиента. Локализовано для userLocale, найденного в |
currencyCode | ТРЕБУЕТСЯ : трехбуквенный код валюты ISO 4217. |
amount | ОБЯЗАТЕЛЬНО : Сумма покупки в микро валютной единице. |
Поле объединения | |
upiDetails | НЕОБЯЗАТЕЛЬНО : платежные реквизиты, специфичные для инструментов UPI. |
tokenizedInstrumentDetails | НЕОБЯЗАТЕЛЬНО : платежные реквизиты, относящиеся к токенизированным инструментам. |
Тело ответа
Объект ответа для метода захвата.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{ "responseHeader": { object ( |
Поля | |
---|---|
responseHeader | ОБЯЗАТЕЛЬНО : общий заголовок для всех ответов. |
paymentIntegratorTransactionId | ОБЯЗАТЕЛЬНО : этот идентификатор специфичен для интегратора и генерируется интегратором. Это идентификатор, по которому интегратор знает эту транзакцию. Для удобства этот идентификатор включен в детали денежного перевода. |
result | ОБЯЗАТЕЛЬНО : результат асинхронного вызова захвата. |
UpiДетали
Подробная информация об учетной записи UPI, из которой осуществляется захват.
JSON-представление |
---|
{ "vpa": string } |
Поля | |
---|---|
vpa | ОБЯЗАТЕЛЬНО : виртуальный платежный адрес пользователя (VPA), используемый для перевода денег с использованием протокола UPI. Например , foo@icici . |
Подробности о токенизированном инструменте
Подробная информация об учетной записи, с которой осуществляется захват.
JSON-представление |
---|
{ "googlePaymentToken": string } |
Поля | |
---|---|
googlePaymentToken | ОБЯЗАТЕЛЬНО : это токен, который обе компании будут использовать для идентификации учетной записи для покупок между собой. |
Асинхронныйкаптурересулткоде
Коды результатов для asynchronousCapture.
Перечисления | |
---|---|
UNKNOWN_RESULT | Никогда не устанавливайте это значение по умолчанию! |
ACKNOWLEDGED | Запрос был запрошен, и интегратор выполнит дополнительные действия, чтобы определить, был ли захват успешным или отклоненным. Как только интегратор узнает результат захвата, он сообщит о нем Google, вызвав API captureResultNotification . |
ACCOUNT_CLOSED | Учетная запись пользователя у интегратора закрыта. Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, повторно пройдя процедуру связывания. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER | Аккаунт пользователя у интегратора закрыт, подозрение на захват аккаунта. Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, повторно пройдя процедуру связывания. |
ACCOUNT_ON_HOLD | Счет заблокирован. |
ACCOUNT_CLOSED_FRAUD | Аккаунт пользователя у интегратора закрыт из-за мошенничества. Возврат этого значения приведет к закрытию инструмента пользователя в Google. Пользователь будет вынужден добавить новый инструмент, повторно пройдя процедуру связывания. |