Method: disburseFunds

Initiiert eine Geldbewegung 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 füllen den Wert requestId im Feld disburseFundsRequestId.

Wenn am Endpunkt bei der Verarbeitung der Anfrage ein Fehler auftritt, sollte der Antworttext dieses Endpunkts vom Typ ErrorResponse sein.

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: Allgemeiner Header für alle Anfragen.

paymentIntegratorAccountId

string

ERFORDERLICH: Dies ist die Zahlungsintegrations-Konto-ID, die vertragliche Beschränkungen bezüglich dieser Transaktion angibt.

transactionDescription

string

ERFORDERLICH: Die Beschreibung der Transaktion, die auf dem Kontoauszug des Kunden angegeben werden kann. Lokalisiert in das userLocale-Format in requestHeader. Dieses Format kann ohne Vorankündigung geändert werden und darf nie geparst werden.

currencyCode

string

ERFORDERLICH: Dreistelliger Währungscode gemäß ISO 4217

amount

string (Int64Value format)

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

Union-Feld destinationFopDetails.

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

upiDetails

object (UpiDetails)

OPTIONAL: Spezielle Zahlungsdetails für UPI-Instrumente.

Antworttext

Antwortobjekt für die Zahlungsmethode für die Auszahlung.

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)

REQUIRED: Allgemeiner Header für alle Antworten.

paymentIntegratorTransactionId

string

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

Diese Kennung ist in den Überweisungsdetails enthalten.

disburseFundsResult

object (DisburseFundsResult)

ERFORDERLICH: Das Ergebnis des Anrufs zur Auszahlung.

UpiDetails

Details zum UPI-Konto, auf das die Zahlung erfolgen soll.

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

string

ERFORDERLICH: Die virtuelle Zahlungsadresse (VPA) des Nutzers, die für die Überweisung von Geld mithilfe des UPI-Protokolls verwendet wird. Beispiel: foo@icici.

DisburseFundsResult

Informationen zum 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: Rohergebnis dieser Auszahlung. Wird verwendet, um die Risiko-Engine und Analysen von Google zu informieren. Bei abgelehnten Codezuordnungen gehen Daten manchmal verloren. Der Integrator kann Google einen Rohcode zur Verfügung stellen. Beispielsweise kann ein Kreditkarten-Gateway (der Integrator) dieses Feld verwenden, um Google den genauen Ablehnungscode zu senden, der vom VISA-Netzwerk erhalten wurde. In diesem Fall wäre die scope das „Visum“ und die rawCode das, was 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 den Wert DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT hat, ist dies der Wert der maximal zulässigen Transaktion. Dieser wird für strukturierte, nutzerorientierte Nachrichten und die Analyse der Ablehnungsrate verwendet.

Diese Menge entspricht micros des ursprünglichen currencyCode-Aufrufs der disburseFunds-Methode.

transactionMinLimit

string (Int64Value format)

OPTIONAL: Wenn disburseFundsResultCode den Wert DISBURSEMENT_UNDER_TRANSACTION_LIMIT hat, ist dies der Wert der geringstmöglichen Transaktion. Dieser wird für strukturierte, nutzerorientierte Nachrichten und die Analyse der Ablehnungsrate verwendet.

Diese Menge entspricht micros des ursprünglichen currencyCode-Aufrufs der disburseFunds-Methode.

DisburseFundsResultCode

Ergebniscodes für einen Anruf zur Auszahlung

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert niemals fest!
SUCCESS Auszahlung erfolgreich.
DISBURSEMENT_UNDER_TRANSACTION_LIMIT Der angeforderte Auszahlungsbetrag entspricht nicht dem Mindestbetrag pro Transaktion des Integrators. Wenn dieser Code verwendet wird, geben Sie in das Feld transactionMinLimit den Mindesttransaktionsbetrag ein, um Mitteilungen an Nutzer zu senden.
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT Der angeforderte Auszahlungsbetrag übersteigt das maximale Limit des Integrators pro Transaktion. Wenn dieser Code verwendet wird, geben Sie in das Feld transactionMaxLimit das Transaktionslimit ein, um Mitteilungen an Nutzer zu senden.
ACCOUNT_CLOSED Das beim Integrator geführte Nutzerkonto wurde geschlossen. Dieser Rückgabewert führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER Das Konto des Nutzers beim Integrator wurde geschlossen, Kontoübernahme vermutet. Dieser Rückgabewert führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen.
ACCOUNT_CLOSED_FRAUD Das beim Integrator geführte Nutzerkonto wurde aufgrund eines Betrugs geschlossen. Dieser Rückgabewert führt dazu, dass das Zahlungsmittel des Nutzers bei 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: Geltungsbereich von rawCode. Kann leer sein.

rawCode

string

ERFORDERLICH: Rohcode vom Integrator oder den enthaltenen Subsystemen.