- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- UpiDetails
- TokenizedInstrumentDetails
- AsynchronousCaptureResultCode
Attiva l'avvio di un'operazione di movimento di denaro tra l'account di un cliente e l'integratore. L'integratore deve confermare la richiesta ed eseguire le azioni necessarie per completare l'acquisizione (ad es. raccogliere un PIN dall'utente). L'integratore comunicherà a Google il risultato finale dell'acquisizione chiamando l'API CaptureResultNotification.
La combinazione di requestId
nell'intestazione e paymentIntegratorAccountId
è la chiave di idempotenza e identifica in modo univoco questa transazione. Tutte le mutazioni di questa transazione (rimborsi) completano il valore requestId
nel campo captureRequestId
.
Se l'endpoint rileva un errore durante l'elaborazione della richiesta, il corpo della risposta da questo endpoint deve essere di tipo
.ErrorResponse
Ecco un esempio di richiesta:
{
"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"
}
Ecco un esempio di risposta:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "ACKNOWLEDGED",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
Richiesta HTTP
POST https://www.integratorhost.example.com/v1/asynchronousCapture
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "requestHeader": { object ( |
Campi | |
---|---|
requestHeader |
REQUIRED: intestazione comune per tutte le richieste. |
paymentIntegratorAccountId |
REQUIRED: si tratta dell'identificatore dell'account dell'integratore pagamenti che identifica i vincoli contrattuali relativi a questa transazione. |
transactionDescription |
OBBLIGATORIO: questa è la descrizione della transazione che può essere inserita nell'estratto conto del cliente. Localizzato in userLocale trovato in |
currencyCode |
OBBLIGATORIO: codice valuta ISO 4217 di tre lettere |
amount |
OBBLIGATORIO: importo dell'acquisto, in micro dell'unità di valuta. |
Campo unione
|
|
upiDetails |
FACOLTATIVO: dettagli di pagamento specifici per gli strumenti UPI. |
tokenizedInstrumentDetails |
FACOLTATIVO: dettagli sul pagamento specifici per gli strumenti tokenizzati. |
Corpo della risposta
Oggetto di risposta per il metodo di acquisizione.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "responseHeader": { object ( |
Campi | |
---|---|
responseHeader |
REQUIRED: intestazione comune per tutte le risposte. |
paymentIntegratorTransactionId |
REQUIRED: questo identificatore è specifico per l'integratore e viene generato dall'integratore. Si tratta dell'identificatore da cui l'integratore conosce questa transazione. Per praticità, questo identificatore è incluso nei dettagli del versamento |
result |
REQUIRED: il risultato della chiamata di acquisizione asincrona. |
UpiDetails
Dettagli sull'account UPI da cui eseguire l'acquisizione.
Rappresentazione JSON |
---|
{ "vpa": string } |
Campi | |
---|---|
vpa |
OBBLIGATORIO: l'indirizzo per i pagamenti virtuali (VPA) dell'utente utilizzato per trasferire denaro con il protocollo UPI. Ad esempio foo@icici. |
TokenizedInstrumentDetails
Dettagli sull'account da cui eseguire l'acquisizione.
Rappresentazione JSON |
---|
{ "googlePaymentToken": string } |
Campi | |
---|---|
googlePaymentToken |
REQUIRED: si tratta del token che entrambe le società utilizzeranno per identificare l'account per gli acquisti reciproci. |
AsynchronousCaptureResultCode
Codici risultato per asincrono Capture.
Enum | |
---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
ACKNOWLEDGED |
L'acquisizione è stata richiesta e l'integratore eseguirà passaggi aggiuntivi per determinare se l'acquisizione è riuscita o rifiutata. Una volta che l'integratore conosce il risultato dell'acquisizione, informerà Google di questo risultato chiamando l'API captureResultNotification . |
ACCOUNT_CLOSED |
L'account dell'utente presso l'integratore è stato chiuso. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente sarà costretto ad aggiungere un nuovo strumento ripetendo il flusso di associazione. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
L'account dell'utente con l'integratore è stato chiuso e si è verificata una presenza di presunte violazioni dell'account. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente sarà costretto ad aggiungere un nuovo strumento ripetendo il flusso di associazione. |
ACCOUNT_ON_HOLD |
L'account è sospeso. |
ACCOUNT_CLOSED_FRAUD |
L'account dell'utente presso l'integratore è stato chiuso a causa di attività fraudolente. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente sarà costretto ad aggiungere un nuovo strumento ripetendo il flusso di associazione. |