Method: disburseFundsResultNotification

Comunica a Google il risultato di un pagamento dopo aver effettuato la chiamata al metodo disburseFunds.

Il valore disburseFundsResult è idempotente per questo disburseFundsRequestId, perciò il suo valore deve essere identico a quello restituito durante la chiamata a disburseFunds e 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 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": "KcgwSKrV76eVNDUbsZ4UA3",
    "requestTimestamp": "1481852928293"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "disburseFundsRequestId": "awNaC510cefae3IJdNEvW2",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

Ecco un esempio di risposta:


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

Richiesta HTTP

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

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "disburseFundsRequestId": string,
  "disburseFundsResult": {
    object (DisburseFundsResult)
  }
}
Campi
requestHeader

object (RequestHeader)

REQUIRED: intestazione comune per tutte le richieste.

paymentIntegratorAccountId

string

REQUIRED: identificatore dell'account dell'integratore dei pagamenti su cui è avvenuto il pagamento.

disburseFundsRequestId

string

REQUIRED: un identificatore univoco per questa transazione. Questo è il valore requestId generato da Google durante la chiamata disburseFunds a cui è associata questa richiesta.

È una stringa con una lunghezza massima di 100 caratteri e contiene solo i caratteri "a-z", "A-Z", "0-9", ":", "-" e "_".

disburseFundsResult

object (DisburseFundsResult)

REQUIRED: il risultato di questa chiamata di pagamento dei fondi.

Corpo della risposta

Oggetto di risposta per il metodo disburseFundsResultNotification.

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

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

object (ResponseHeader)

REQUIRED: intestazione comune per tutte le risposte.

result

enum (DisburseFundsResultNotificationResultCode)

REQUIRED: il risultato della chiamata.

DisburseFundsResult

Informazioni sul risultato finale di un pagamento.

Rappresentazione JSON
{
  "disburseFundsResultCode": enum (DisburseFundsResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string
  // End of list of possible types for union field FailureDetail.
}
Campi
disburseFundsResultCode

enum (DisburseFundsResultCode)

REQUIRED: codice risultato di questo pagamento.

rawResult

object (RawResult)

FACOLTATIVO: risultato non elaborato di questo pagamento. 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 scope è "visto" e rawCode sarebbe qualsiasi cosa restituita dalla rete VISA.

Questo valore è obbligatorio se result non è SUCCESS.

Campo unione FailureDetail.

FailureDetail può essere solo uno dei seguenti:

transactionMaxLimit

string (Int64Value format)

FACOLTATIVO: se disburseFundsResultCode è DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT, questo è il valore del numero massimo di transazioni consentito. Viene utilizzato per la messaggistica strutturata rivolta agli utenti e l'analisi del tasso di rifiuto.

Questo importo è pari a micros dello stesso currencyCode della chiamata al metodo disburseFunds originale.

transactionMinLimit

string (Int64Value format)

FACOLTATIVO: se disburseFundsResultCode è DISBURSEMENT_UNDER_TRANSACTION_LIMIT, questo è il valore della transazione minima consentita. Viene utilizzato per la messaggistica strutturata rivolta agli utenti e l'analisi del tasso di rifiuto.

Questo importo è pari a micros dello stesso currencyCode della chiamata al metodo disburseFunds originale.

DisburseFundsResultCode

Codici risultato per una chiamata di pagamento di fondi.

Enum
UNKNOWN_RESULT Non impostare mai questo valore predefinito.
SUCCESS Pagamento eseguito correttamente.
DISBURSEMENT_UNDER_TRANSACTION_LIMIT L'importo di pagamento richiesto non soddisfa l'importo minimo 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.
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT L'importo di esborso 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.
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.

RawResult

Oggetto risultato non elaborato.

Rappresentazione JSON
{
  "scope": string,
  "rawCode": string
}
Campi
scope

string

OPTIONAL: l'ambito del rawCode può essere vuoto.

rawCode

string

RICHIESTA: codice non elaborato dall'integratore o dai sottosistemi al suo interno.

DisburseFundsResultNotificationResultCode

Codici risultato per il metodo disburseFundsResultNotification.

Enum
UNKNOWN_RESULT Non impostare mai questo valore predefinito.
SUCCESS La notifica è stata elaborata correttamente.