Method: asynchronousCapture

Löst den Beginn einer Geldbewegung zwischen dem Konto eines Kunden und dem Integrator aus. Der Integrator sollte die Anfrage bestätigen und alle erforderlichen Aktionen ausführen, um die Erfassung abzuschließen (z.B. eine PIN vom Nutzer abrufen). Der Integrator informiert Google über das Endergebnis der Erfassung, indem er die CaptureResultNotification API aufruft.

Die Kombination aus requestId im Header und paymentIntegratorAccountId ist der Idempotenzschlüssel und identifiziert diese Transaktion eindeutig. Bei allen Mutationen bei dieser Transaktion (Erstattungen) wird der Wert requestId im Feld captureRequestId eingetragen.

Wenn am Endpunkt bei der Verarbeitung der Anfrage ein Fehler auftritt, sollte der Antworttext von diesem Endpunkt den Typ ErrorResponse haben.

Eine Beispielanfrage sieht so aus:


{
  "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"
}

Eine Beispielantwort sieht so aus:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "ACKNOWLEDGED",
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}

HTTP-Anfrage

POST https://www.integratorhost.example.com/v1/asynchronousCapture

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "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.
}
Felder
requestHeader

object (RequestHeader)

ERFORDERLICH: Gemeinsamer Header für alle Anfragen.

paymentIntegratorAccountId

string

ERFORDERLICH: Dies ist die Konto-ID des Zahlungsintegrators, die vertragliche Einschränkungen für diese Transaktion angibt.

transactionDescription

string

ERFORDERLICH: Beschreibung der Transaktion, die auf der Abrechnung des Kunden verwendet werden kann. Lokalisiert gemäß der userLocale, die in requestHeader gefunden wurde. Dieses Format kann ohne vorherige Ankündigung geändert und nicht geparst werden.

currencyCode

string

ERFORDERLICH: Der dreistellige Währungscode gemäß ISO 4217.

amount

string (Int64Value format)

ERFORDERLICH: Der Betrag des Kaufs in Mikros der Währungseinheit.

Union-Feld fopDetails.

Für fopDetails ist nur einer der folgenden Werte zulässig:

upiDetails

object (UpiDetails)

OPTIONAL: Spezifische Zahlungsdetails für UPI-Instrumente.

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

OPTIONAL: Spezifische Zahlungsdetails für tokenisierte Zahlungsmittel

Antworttext

Antwortobjekt für die Erfassungsmethode.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
Felder
responseHeader

object (ResponseHeader)

ERFORDERLICH: Gemeinsamer Header für alle Antworten.

paymentIntegratorTransactionId

string

ERFORDERLICH: Diese Kennung ist für den Integrator spezifisch und wird vom Integrator generiert. Dies ist die Kennung, anhand derer der Integrator diese Transaktion erkennt.

Der Einfachheit halber ist diese ID in den Überweisungsdetails enthalten.

result

enum (AsynchronousCaptureResultCode)

REQUIRED: das Ergebnis des asynchronen Erfassungsaufrufs.

UpiDetails

Details zum UPI-Konto, von dem die Abbuchung vorgenommen werden soll.

JSON-Darstellung
{
  "vpa": string
}
Felder
vpa

string

ERFORDERLICH: Die virtuelle Zahlungsadresse (VPA) des Nutzers, die zum Überweisen von Geld über das UPI-Protokoll verwendet wird. Beispiel: foo@icici.

TokenizedInstrumentDetails

Details zum Konto, aus dem die Daten erfasst werden sollen.

JSON-Darstellung
{
  "googlePaymentToken": string
}
Felder
googlePaymentToken

string

ERFORDERLICH: Dies ist das Token, das beide Unternehmen verwenden, um das Konto für Käufe untereinander zu identifizieren.

AsynchronousCaptureResultCode

Ergebniscodes für asynchroneCapture

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert niemals fest.
ACKNOWLEDGED Die Erfassung wurde angefordert und der Integrator unternimmt weitere Schritte, um festzustellen, ob die Erfassung erfolgreich war oder abgelehnt wurde. Sobald der Integrator das Ergebnis der Erfassung kennt, informiert er Google über das Ergebnis, indem er die captureResultNotification API aufruft.
ACCOUNT_CLOSED

Das beim Integrator geführte Nutzerkonto wurde geschlossen.

Wird dieser Wert zurückgegeben, wird das Zahlungsmittel des Nutzers mit Google geschlossen. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Das Nutzerkonto beim Integrator wurde geschlossen, da eine Kontoübernahme vermutet wird.

Wird dieser Wert zurückgegeben, wird das Zahlungsmittel des Nutzers mit Google geschlossen. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft.

ACCOUNT_ON_HOLD Das Konto wurde vorübergehend deaktiviert.
ACCOUNT_CLOSED_FRAUD

Das Konto des Integrators wurde wegen Betrugs geschlossen.

Wird dieser Wert zurückgegeben, wird das Zahlungsmittel des Nutzers mit Google geschlossen. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft.