Method: asynchronousCapture

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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field fopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  },
  "tokenizedInstrumentDetails": {
    object (TokenizedInstrumentDetails)
  }
  // End of list of possible types for union field fopDetails.
}
Campi
requestHeader

object (RequestHeader)

REQUIRED: intestazione comune per tutte le richieste.

paymentIntegratorAccountId

string

REQUIRED: questo è l'identificatore dell'account dell'integratore dei pagamenti che identifica i vincoli contrattuali relativi a questa transazione.

transactionDescription

string

REQUIRED: questa è la descrizione della transazione che può essere inserita nell'estratto conto del cliente. Localizzazione nella userLocale trovata in requestHeader. Questo formato può essere modificato senza preavviso e non deve mai essere analizzato.

currencyCode

string

OBBLIGATORIO: codice valuta ISO 4217 di tre lettere

amount

string (Int64Value format)

OBBLIGATORIO: l'importo dell'acquisto, in micro dell'unità di valuta.

Campo di unione fopDetails.

fopDetails può essere solo uno dei seguenti:

upiDetails

object (UpiDetails)

FACOLTATIVO: dettagli di pagamento specifici per gli strumenti UPI.

tokenizedInstrumentDetails

object (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 (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
Campi
responseHeader

object (ResponseHeader)

REQUIRED: intestazione comune per tutte le risposte.

paymentIntegratorTransactionId

string

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

enum (AsynchronousCaptureResultCode)

REQUIRED: il risultato della chiamata di acquisizione asincrona.

UpiDetails

Dettagli sull'account UPI da cui acquisire l'immagine.

Rappresentazione JSON
{
  "vpa": string
}
Campi
vpa

string

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

string

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.