Method: disburseFunds

Initiiert Geldbewegungen zwischen dem Zahlungsabwickler und dem Konto des Kunden. Die Kombination aus requestId im Header und paymentIntegratorAccountId ist der Idempotenzschlüssel und identifiziert diese Transaktion eindeutig. Alle Mutationen in dieser Transaktion tragen den Wert requestId im Feld disburseFundsRequestId ein.

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": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "208000000"
}

Eine Beispielantwort sieht so aus:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

HTTP-Anfrage

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

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field destinationFopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  }
  // End of list of possible types for union field destinationFopDetails.
}
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 Kaufbetrag in Mikros der Währungseinheit.

Union-Feld destinationFopDetails.

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

upiDetails

object (UpiDetails)

OPTIONAL: Spezifische Zahlungsdetails für UPI-Instrumente.

Antworttext

Antwortobjekt für die Auszahlungsmethode

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

JSON-Darstellung
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "disburseFundsResult": {
    object (DisburseFundsResult)
  }
}
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.

disburseFundsResult

object (DisburseFundsResult)

ERFORDERLICH: Das Ergebnis des Auszahlungsaufrufs.

UpiDetails

Details zum UPI-Konto, auf das die Auszahlung erfolgen 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.

DisburseFundsResult

Informationen über das Endergebnis einer Auszahlung.

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

enum (DisburseFundsResultCode)

REQUIRED: Ergebniscode dieser Auszahlung

rawResult

object (RawResult)

OPTIONAL: Das Rohergebnis dieser Auszahlung. Wird zur Verbesserung der Risikoanalyse und der Risikoanalyse von Google verwendet. Bei abgelehnten Codezuordnungen gehen Daten manchmal verloren. Der Integrator kann Google einen Rohcode zur Verfügung stellen. Beispielsweise kann ein Kreditkarten-Gateway (der Integrationspartner) dieses Feld verwenden, um Google den genauen Ablehnungscode mitzuteilen, der vom VISA-Netzwerk erhalten wurde. In diesem Fall wäre die scope „Visum“. und rawCode entspricht dem Betrag, der vom VISA-Netzwerk zurückgegeben wurde.

Dieser Wert ist erforderlich, wenn result nicht SUCCESS ist.

Union-Feld FailureDetail.

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

transactionMaxLimit

string (Int64Value format)

OPTIONAL: Wenn disburseFundsResultCode gleich DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT ist, ist dies der Wert der maximal zulässigen Transaktion. Sie wird für strukturierte, an den Nutzer gerichtete Mitteilungen und für die Analyse der Ablehnungsrate verwendet.

Dieser Wert entspricht micros von currencyCode des ursprünglichen Aufrufs der disburseFunds-Methode.

transactionMinLimit

string (Int64Value format)

OPTIONAL: Wenn disburseFundsResultCode gleich DISBURSEMENT_UNDER_TRANSACTION_LIMIT ist, ist dies der Wert der minimal zulässigen Transaktion. Sie wird für strukturierte, an den Nutzer gerichtete Mitteilungen und für die Analyse der Ablehnungsrate verwendet.

Dieser Wert entspricht micros von currencyCode des ursprünglichen Aufrufs der disburseFunds-Methode.

DisburseFundsResultCode

Ergebniscodes für einen Auszahlungsaufruf.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert niemals fest.
SUCCESS Auszahlung erfolgreich.
DISBURSEMENT_UNDER_TRANSACTION_LIMIT Der angeforderte Auszahlungsbetrag entspricht nicht dem Mindestwert pro Transaktion des Integrators. Wenn dieser Code verwendet wird, geben Sie in das Feld transactionMinLimit den Mindesttransaktionsbetrag für Mitteilungen an Nutzer ein.
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT Der angeforderte Auszahlungsbetrag überschreitet das maximale Limit des Integrators pro Transaktion. Wenn dieser Code verwendet wird, geben Sie in das Feld transactionMaxLimit das Transaktionslimit für Mitteilungen an Nutzer ein.
ACCOUNT_CLOSED Das beim Integrator geführte Nutzerkonto wurde geschlossen. Dieser Rückgabewert führt dazu, dass das Zahlungsmittel des Nutzers mit Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER Das Nutzerkonto beim Integrator wurde geschlossen, da eine Kontoübernahme vermutet wird. Dieser Rückgabewert führt dazu, dass das Zahlungsmittel des Nutzers mit Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen.
ACCOUNT_CLOSED_FRAUD Das Nutzerkonto beim Integrator wurde wegen Betrugs geschlossen. Dieser Rückgabewert führt dazu, dass das Zahlungsmittel des Nutzers mit Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen.
ACCOUNT_ON_HOLD Das Konto des Nutzers wurde auf „Hold“ gesetzt.

RawResult

Rohergebnisobjekt.

JSON-Darstellung
{
  "scope": string,
  "rawCode": string
}
Felder
scope

string

OPTIONAL: Gültigkeitsbereich von rawCode, kann leer sein.

rawCode

string

ERFORDERLICH: Rohcode vom Integrator oder den enthaltenen Subsystemen.