Method: asynchronousCapture

Attiva l'avvio di un'operazione di movimento di denaro tra l'account di un cliente e l'integratore. L'integratore deve confermare la richiesta ed eseguire le azioni necessarie per completare l'acquisizione (ad es. 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.

Ecco un esempio di richiesta:


{
  "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: si tratta dell'identificatore dell'account dell'integratore pagamenti che identifica i vincoli contrattuali relativi a questa transazione.

transactionDescription

string

OBBLIGATORIO: questa è la descrizione della transazione che può essere inserita nell'estratto conto del cliente. Localizzato in userLocale trovato 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: importo dell'acquisto, in micro dell'unità di valuta.

Campo 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 sul pagamento specifici per gli strumenti tokenizzati.

Corpo della risposta

Oggetto di 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 dall'integratore. Si tratta dell'identificatore da cui l'integratore conosce questa 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 eseguire l'acquisizione.

Rappresentazione JSON
{
  "vpa": string
}
Campi
vpa

string

OBBLIGATORIO: l'indirizzo per i pagamenti virtuali (VPA) dell'utente utilizzato per trasferire denaro con il protocollo UPI. Ad esempio foo@icici.

TokenizedInstrumentDetails

Dettagli sull'account da cui eseguire l'acquisizione.

Rappresentazione JSON
{
  "googlePaymentToken": string
}
Campi
googlePaymentToken

string

REQUIRED: si tratta del token che entrambe le società utilizzeranno per identificare l'account per gli acquisti reciproci.

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 conosce il risultato dell'acquisizione, informerà Google di questo risultato chiamando l'API captureResultNotification.
ACCOUNT_CLOSED

L'account dell'utente 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_ON_HOLD L'account è sospeso.
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.