Rimborsa una parte o l'intera transazione avviata tramite capture
. La combinazione di requestId
nell'intestazione e paymentIntegratorAccountId
è la chiave di idempotenza, che identifica in modo univoco questa transazione.
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": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
Ecco un esempio di risposta:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}
Richiesta HTTP
POST https://www.integratorhost.example.com/v1/refund
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'ID account dell'integratore pagamenti che definisce i vincoli contrattuali relativi a questa transazione. |
captureRequestId |
REQUIRED: un identificatore univoco per questa transazione. Questo è il valore |
currencyCode |
OBBLIGATORIO: codice valuta ISO 4217 di tre lettere |
refundAmount |
OBBLIGATORIO: importo del rimborso, un numero positivo di micro dell'unità di valuta. |
Corpo della risposta
Oggetto della risposta per il metodo di rimborso.
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. |
paymentIntegratorRefundId |
FACOLTATIVO: questo identificatore è specifico per l'integratore e viene generato dall'integratore. Si tratta dell'identificatore con cui l'integratore conosce questo rimborso. Per praticità, questo identificatore è incluso nei dettagli del versamento |
result |
REQUIRED: il risultato di questo rimborso. |
rawResult |
FACOLTATIVO: risultato non elaborato di questo rimborso. 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 |
RefundResultCode
I codici risultato univoci vengono rimborsati.
Enum | |
---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
SUCCESS |
Rimborso eseguito correttamente. |
NO_MONEY_LEFT_ON_TRANSACTION |
v1.refund non riuscito. Non è rimasto alcun denaro nella transazione. In genere si tratta di un bug tra l'integratore e Google. Google non deve chiedere il rimborso di un importo superiore a quello dell'acquisizione originale. |
ACCOUNT_CLOSED |
L'account 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_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. |
ACCOUNT_ON_HOLD |
L'account dell'utente è attualmente sospeso e non può accettare il rimborso, ma l'account dell'utente potrebbe essere in grado di accettare il rimborso in un secondo momento. Google potrebbe richiedere un altro rimborso in futuro, ma lo farà con un nuovo requestId , pertanto questa richiesta dovrebbe essere considerata completata. |
REFUND_EXCEEDS_MAXIMUM_BALANCE |
Al momento non è possibile elaborare il rimborso perché così facendo il saldo dell'utente supererebbe l'importo massimo consentito. Google potrebbe richiedere un altro rimborso in futuro, ma lo farà con un nuovo requestId , pertanto questa richiesta dovrebbe essere considerata completata. |
REFUND_WINDOW_EXCEEDED |
Impossibile elaborare il rimborso perché la richiesta è al di fuori del periodo di rimborso consentito. |