- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- UpiDetails
- TokenizedInstrumentDetails
- AsynchronousCaptureResultCode
Attiva l'inizio di un'operazione di trasferimento di denaro tra l'account di un cliente e l'integratore. L'integratore deve confermare la richiesta ed eseguire tutte le azioni necessarie per completare l'acquisizione (ad esempio, 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
Una richiesta di esempio ha il seguente aspetto:
{
"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: questo è l'identificatore dell'account dell'integratore dei pagamenti che identifica i vincoli contrattuali relativi a questa transazione. |
transactionDescription |
REQUIRED: questa è la descrizione della transazione che può essere inserita nell'estratto conto del cliente. Localizzazione nella userLocale trovata in |
currencyCode |
OBBLIGATORIO: codice valuta ISO 4217 di tre lettere |
amount |
OBBLIGATORIO: l'importo dell'acquisto, in micro dell'unità di valuta. |
Campo di unione
|
|
upiDetails |
FACOLTATIVO: dettagli di pagamento specifici per gli strumenti UPI. |
tokenizedInstrumentDetails |
FACOLTATIVO: dettagli di pagamento specifici per gli strumenti tokenizzati. |
Corpo della risposta
Oggetto 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 da quest'ultimo. Si tratta dell'identificatore con cui l'integratore conosce la 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 acquisire l'immagine.
Rappresentazione JSON |
---|
{ "vpa": string } |
Campi | |
---|---|
vpa |
OBBLIGATORIO: l'indirizzo virtuale per i pagamenti (VPA) dell'utente utilizzato per trasferire denaro tramite il protocollo UPI. ad esempio foo@icici. |
TokenizedInstrumentDetails
Dettagli sull'account da cui acquisire l'immagine.
Rappresentazione JSON |
---|
{ "googlePaymentToken": string } |
Campi | |
---|---|
googlePaymentToken |
OBBLIGATORIO: si tratta del token che entrambe le aziende utilizzeranno per identificare l'account per gli acquisti tra loro. |
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 è a conoscenza del risultato dell'acquisizione, comunicherà a Google il risultato chiamando l'API captureResultNotification . |
ACCOUNT_CLOSED |
L'account dell'utente mantenuto presso l'integratore è stato chiuso. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente dovrà aggiungere un nuovo strumento ripetendo la procedura di associazione. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
L'account dell'utente con l'integratore è stato chiuso, sospetta violazione dell'account. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente dovrà aggiungere un nuovo strumento ripetendo la procedura di associazione. |
ACCOUNT_ON_HOLD |
L'account è sospeso. |
ACCOUNT_CLOSED_FRAUD |
L'account dell'utente mantenuto presso l'integratore è stato chiuso a causa di attività fraudolenta. Se restituisci questo valore, lo strumento dell'utente verrà chiuso con Google. L'utente dovrà aggiungere un nuovo strumento ripetendo la procedura di associazione. |