Method: refundResultNotification

Comunica a Google l'esito di un rimborso dopo aver effettuato una chiamata al metodo refund.

I rimborsi devono essere gestiti in modo sincrono durante la chiamata al metodo refund, ma questo metodo fornisce a Google un indicatore di backup rapido nel caso in cui la chiamata sincrona non vada a buon fine dopo l'esecuzione dell'azione, ma prima che possa restituire un risultato. In questo modo si evita il ritardo introdotto dalla pianificazione di un nuovo tentativo da parte di Google.

Il valore refundResult è idempotente per questo refundRequestId, quindi non può essere modificato da una successiva chiamata 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 ErrorResponse 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.

Ecco un esempio di richiesta:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

Ecco un esempio di risposta:


{
  "responseHeader": {
    "responseTimestamp": "1481855928376"
  },
  "result": "SUCCESS"
}

Richiesta HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/:PIAID

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
Campi
requestHeader

object (RequestHeader)

REQUIRED: intestazione comune per tutte le richieste.

paymentIntegratorAccountId

string

REQUIRED: identificatore dell'account dell'integratore dei pagamenti su cui è stato effettuato il rimborso.

refundRequestId

string

OBBLIGATORIO: identificatore univoco per questo rimborso, stabilito dal campo requestId quando è stato chiamato il metodo refund.

refundResult

enum (RefundResultCode)

REQUIRED: il risultato di questo rimborso.

paymentIntegratorRefundId

string

REQUIRED: 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

Corpo della risposta

Oggetto di risposta per il metodo refundResultNotification.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
Campi
responseHeader

object (ResponseHeader)

REQUIRED: intestazione comune per tutte le risposte.

result

enum (RefundResultNotificationResultCode)

REQUIRED: il risultato della chiamata.

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 Rimborso non riuscito. Non sono rimasti fondi per la 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.

RefundResultNotificationResultCode

Codici risultato per il metodo refundResultNotification.

Enum
UNKNOWN_RESULT Non impostare mai questo valore predefinito.
SUCCESS Notifica del risultato del rimborso riuscita.