- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- CaptureResult
- CaptureResultCode
- RawResult
- CaptureResultNotificationResultCode
Comunica a Google il risultato di un'acquisizione dopo aver effettuato una chiamata al metodo capture o asynchronousCapture.
Il valore captureResult è idempotente per questo captureRequestId, quindi il suo valore non può essere modificato da una chiamata successiva a questo metodo.
Se l'endpoint rileva un errore durante l'elaborazione della richiesta, la risposta da questo endpoint sarà di tipo .ErrorResponse
Le risposte a questa query potrebbero essere vuote se questo metodo non restituisce un HTTP 200. Il corpo della risposta è vuoto nelle situazioni in cui è possibile utilizzare un con una descrizione chiara per aiutare un utente malintenzionato a comprendere l'identificatore dell'account dell'integratore dei pagamenti di altri integratori. In queste situazioni, in cui la chiave di firma non corrisponde, l'identificatore dell'integratore dei pagamenti non è stato trovato o la chiave di crittografia era sconosciuta, questo metodo restituirà un errore HTTP 404 con un corpo vuoto. Se è possibile verificare la firma della richiesta, nel corpo della risposta verranno restituite ulteriori informazioni sull'errore.ErrorResponse
Ecco un esempio di richiesta:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "KcgwSKrV76eVNDUbsZ4UA3",
"requestTimestamp": "1481852928293"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "awNaC510cefae3IJdNEvW2",
"captureResult": {
"captureResultCode": "SUCCESS"
}
}
Ecco un esempio di risposta:
{
"responseHeader": {
"responseTimestamp": "1481852928324"
},
"result": "SUCCESS"
}
Richiesta HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/:PIAID
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: identificatore dell'account dell'integratore pagamenti in cui è avvenuta l'acquisizione. |
captureRequestId |
REQUIRED: un identificatore univoco per questa transazione. Questo è il valore È una stringa con una lunghezza massima di 100 caratteri e contiene solo i caratteri "a-z", "A-Z", "0-9", ":", "-" e "_". |
captureResult |
REQUIRED: il risultato di questa acquisizione. |
paymentIntegratorTransactionId |
FACOLTATIVO: 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 |
Corpo della risposta
Oggetto di risposta per il metodo captureResultNotification.
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. |
result |
REQUIRED: il risultato della chiamata. |
CaptureResult
Informazioni sul risultato finale di un'acquisizione.
| Rappresentazione JSON |
|---|
{ "captureResultCode": enum ( |
| Campi | |
|---|---|
captureResultCode |
REQUIRED: codice risultato di questo screenshot. |
rawResult |
FACOLTATIVO: risultato non elaborato di questa acquisizione. Utilizzato per fornire informazioni al motore di analisi e al motore di gestione dei rischi di Google. Nei casi in cui la mappatura del codice viene rifiutata, i dati a volte vanno persi. L'integratore può scegliere di fornire a Google un codice non elaborato. Ad esempio, un gateway della carta di credito (l'integratore) può utilizzare questo campo per comunicare a Google l'esatto codice di rifiuto ricevuto dalla rete VISA. In questo caso, il Questo valore è obbligatorio se |
Campo unione
|
|
transactionMaxLimit |
FACOLTATIVO: se Questo importo è pari a micros dello stesso |
transactionMinLimit |
FACOLTATIVO: se Questo importo è pari a micros dello stesso |
currentBalance |
FACOLTATIVO: se Risultato è Questo valore deve essere nella stessa valuta di |
CaptureResultCode
Codici risultato per un'acquisizione.
| Enum | |
|---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
SUCCESS |
Acquisizione riuscita. |
CHARGE_UNDER_TRANSACTION_LIMIT |
L'importo di acquisizione richiesto non soddisfa la quantità minima per transazione dell'integratore. Se viene utilizzato questo codice, compila il campo transactionMinLimit con l'importo minimo della transazione ai fini della messaggistica per gli utenti. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
L'importo di acquisizione richiesto supera il limite massimo per transazione dell'integratore. Se viene usato questo codice, compila il campo transactionMaxLimit con il limite di transazioni per la messaggistica per gli utenti. |
CHARGE_EXCEEDS_DAILY_LIMIT |
Al momento l'account dell'utente non può essere utilizzato per gli acquisti perché ha superato il limite giornaliero. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
Al momento l'account dell'utente non può essere utilizzato per effettuare acquisti perché ha superato il limite mensile. |
INSUFFICIENT_FUNDS |
Questo account non dispone di fondi sufficienti per garantire l'acquisizione. |
SUSPECTED_FRAUD |
L'integratore ha motivo di sospettare che questa transazione sia fraudolenta. |
ACCOUNT_CLOSED |
L'account dell'utente presso l'integratore è stato chiuso. Questo valore restituito causerà la chiusura dello strumento dell'utente con Google. L'utente sarà costretto ad aggiungere un nuovo strumento. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
L'account dell'utente con l'integratore è stato chiuso e si è verificata una sospetta acquisizione dell'account. Questo valore restituito causerà la chiusura dello strumento dell'utente con Google. L'utente sarà costretto ad aggiungere un nuovo strumento. |
ACCOUNT_CLOSED_FRAUD |
L'account dell'utente presso l'integratore è stato chiuso a causa di attività fraudolenta. Questo valore restituito causerà la chiusura dello strumento dell'utente con Google. L'utente sarà costretto ad aggiungere un nuovo strumento. |
ACCOUNT_ON_HOLD |
L'account dell'utente è in sospeso. |
OTP_NOT_MATCHED |
L'OTP non corrispondeva a quanto inviato dall'integratore. |
OTP_ALREADY_USED |
OTP già usata. |
CAPTURE_REQUEST_EXPIRED |
L'integratore ha impiegato troppo tempo per acquisire i fondi dell'utente. Google considererà il rifiuto come uno stato definitivo, quindi l'integratore deve assicurarsi che i fondi dell'utente non vengano acquisiti in un secondo momento o che l'utente riceva un rimborso automatico se l'acquisizione ha esito positivo. |
INVALID_PIN |
L'utente ha fornito un PIN non valido. |
OS_LOCK_FAILED |
Questo flusso di pagamento richiede una verifica del blocco del sistema operativo e l'utente non è riuscito a sbloccare il dispositivo. |
PIN_ENTRY_ATTEMPTS_EXHAUSTED |
Questo flusso di pagamento richiede l'inserimento del PIN dell'utente. L'utente non ha inserito il PIN per un numero di volte sufficiente da superare tutti i nuovi tentativi. |
USER_EXITED_PAYMENT_FLOW |
L'utente ha annullato l'intero tentativo di pagamento (tramite il blocco del sistema operativo o la schermata di inserimento del PIN). |
MONTHLY_FREQUENCY_LIMIT_EXCEEDED |
Al momento l'account dell'utente non può essere utilizzato per effettuare acquisti perché ha superato il limite di tentativi di transazione mensili. |
DECLINED_BY_ISSUER |
Il codice di rifiuto non deve mai essere utilizzato in stato stabile. È inteso come codice catch-all temporaneo da utilizzare quando l'integratore rileva un codice di rifiuto sconosciuto dell'emittente sottostante dello strumento dell'utente. Questo codice risultato può essere utilizzato mentre l'integratore determina un codice risultato più appropriato da utilizzare o negozia l'aggiunta di un nuovo codice risultato a questa specifica. È importante sottolineare che questo codice di rifiuto è un calo molto reale. Per Google si tratta di un rifiuto definitivo. Se l'integratore restituisce questo messaggio, spetta a lui tenere traccia del significato reale del codice dell'emittente e rimborsare l'utente se scopre che il codice effettivamente intendeva essere Se questo codice di rifiuto viene utilizzato per lo stesso codice di rifiuto sottostante per più di un determinato numero di giorni, Google lo tratta come un bug e lo monitora di conseguenza in relazione a eventuali sanzioni contrattuali relative alla correzione dei bug. |
RawResult
Oggetto risultato non elaborato.
| Rappresentazione JSON |
|---|
{ "scope": string, "rawCode": string } |
| Campi | |
|---|---|
scope |
OPTIONAL: l'ambito del rawCode può essere vuoto. |
rawCode |
RICHIESTA: codice non elaborato dall'integratore o dai sottosistemi al suo interno. |
CaptureResultNotificationResultCode
Codici risultato per il metodo captureResultNotification.
| Enum | |
|---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
SUCCESS |
La notifica del risultato dell'acquisizione è stata elaborata correttamente. |