- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- UpiDetails
- TokenizedInstrumentDetails
- AsynchronousCaptureResultCode
Aciona o início de uma operação de movimentação de dinheiro entre a conta de um cliente e o integrador. O integrador precisa confirmar a solicitação e realizar as ações necessárias para concluir a captura (por exemplo, coletar um PIN do usuário). O integrador informará o Google sobre o resultado final da captura chamando a API CaptureResultNotification.
A combinação de requestId no cabeçalho e paymentIntegratorAccountId é a chave de idempotência e identifica essa transação de maneira exclusiva. Todas as mutações nesta transação (reembolsos) preenchem o valor requestId no campo captureRequestId.
Se o endpoint encontrar um erro ao processar a solicitação, o corpo da resposta dele precisará ser do tipo .ErrorResponse
Um exemplo de solicitação é semelhante a este:
{
"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"
}
Veja um exemplo de resposta:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "ACKNOWLEDGED",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
Solicitação HTTP
POST https://www.integratorhost.example.com/v1/asynchronousCapture
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
| Representação JSON |
|---|
{ "requestHeader": { object ( |
| Campos | |
|---|---|
requestHeader |
OBRIGATÓRIO: cabeçalho comum para todas as solicitações. |
paymentIntegratorAccountId |
OBRIGATÓRIO: o identificador da conta do integrador de pagamentos que identifica as restrições contratuais relacionadas à transação. |
transactionDescription |
OBRIGATÓRIO: é a descrição da transação que pode ser incluída na fatura do cliente. Localizado para a userLocale encontrada no |
currencyCode |
OBRIGATÓRIO: código de moeda ISO 4217 de três letras |
amount |
OBRIGATÓRIO: o valor da compra, em micros da unidade monetária. |
Campo de união
|
|
upiDetails |
OPCIONAL: detalhes de pagamento específicos para instrumentos da UPI. |
tokenizedInstrumentDetails |
OPCIONAL: detalhes de pagamento específicos para instrumentos tokenizados. |
Corpo da resposta
Objeto de resposta para o método de captura.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
| Representação JSON |
|---|
{ "responseHeader": { object ( |
| Campos | |
|---|---|
responseHeader |
OBRIGATÓRIO: cabeçalho comum para todas as respostas. |
paymentIntegratorTransactionId |
OBRIGATÓRIO: esse identificador é específico e gerado pelo integrador. O integrador conhece essa transação pelo identificador. Para facilitar, esse identificador é incluído nos detalhes da remessa. |
result |
REQUIRED: o resultado da chamada de captura assíncrona. |
UpiDetails
Detalhes sobre a conta da UPI a ser usada.
| Representação JSON |
|---|
{ "vpa": string } |
| Campos | |
|---|---|
vpa |
OBRIGATÓRIO: o endereço de pagamento virtual (VPA, na sigla em inglês) do usuário usado para transferir dinheiro usando o protocolo da UPI. Por exemplo, foo@icici. |
TokenizedInstrumentDetails
Detalhes sobre a conta que será usada para a captura
| Representação JSON |
|---|
{ "googlePaymentToken": string } |
| Campos | |
|---|---|
googlePaymentToken |
OBRIGATÓRIO: o token que as duas empresas usarão para identificar a conta para compras entre si. |
AsynchronousCaptureResultCode
Códigos de resultado para assíncronoCapture.
| Enums | |
|---|---|
UNKNOWN_RESULT |
Nunca defina esse valor padrão. |
ACKNOWLEDGED |
A captura foi solicitada, e o integrador realizará outras etapas para determinar se ela foi concluída ou recusada. Depois que o integrador souber o resultado da captura, ele vai informar o resultado ao Google chamando a API captureResultNotification. |
ACCOUNT_CLOSED |
A conta do usuário mantida no integrador foi encerrada. Se esse valor for retornado, o instrumento do usuário será fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
A conta do usuário com o integrador foi encerrada e há suspeita de que a conta esteja assumida. Se esse valor for retornado, o instrumento do usuário será fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente. |
ACCOUNT_ON_HOLD |
A conta está em espera. |
ACCOUNT_CLOSED_FRAUD |
A conta do usuário mantida no integrador foi encerrada devido a uma fraude. Se esse valor for retornado, o instrumento do usuário será fechado com o Google. O usuário será forçado a adicionar um novo instrumento passando pelo fluxo de associação novamente. |