Method: refund

Erstattet einen Teil oder die gesamte Transaktion, die über capture initiiert wurde. Die Kombination aus requestId im Header und paymentIntegratorAccountId ist der Idempotenzschlüssel, der diese Transaktion eindeutig identifiziert.

Wenn der Endpunkt bei der Verarbeitung der Anfrage auf einen Fehler stößt, 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",
  "captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
  "currencyCode": "INR",
  "refundAmount": "208000000"
}

Eine Beispielantwort sieht so aus:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "SUCCESS",
  "paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}

HTTP-Anfrage

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

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
Felder
requestHeader

object (RequestHeader)

REQUIRED: Allgemeiner Header für alle Anfragen.

paymentIntegratorAccountId

string

ERFORDERLICH: Das ist die Konto-ID des Zahlungsintegrators, die die vertraglichen Einschränkungen für diese Transaktion definiert.

captureRequestId

string

REQUIRED: Eine eindeutige Kennung für diese Transaktion. Dies ist die requestId, die von Google während des capture-Aufrufs generiert wurde, mit der diese Anfrage verknüpft ist.

currencyCode

string

ERFORDERLICH: 3-stelliger Währungscode nach ISO 4217

refundAmount

string (Int64Value format)

ERFORDERLICH: Der Betrag der Erstattung, eine positive Anzahl von micros für die Währungseinheit.

Antworttext

Antwortobjekt für die Erstattungsmethode.

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

JSON-Darstellung
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
Felder
responseHeader

object (ResponseHeader)

REQUIRED: Allgemeiner Header für alle Antworten.

paymentIntegratorRefundId

string

OPTIONAL: Diese Kennung wird für den Integrator verwendet und generiert. Das ist die Kennung, mit der der Integrator diese Rückerstattung kennt.

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

result

enum (RefundResultCode)

ERFORDERLICH: Ergebnis dieser Erstattung.

rawResult

object (RawResult)

OPTIONAL: Unbearbeitetes Ergebnis dieser Erstattung. Wird verwendet, um die Risiko-Engine und Analysen von Google zu unterstützen. Bei der Ablehnung von Codezuordnungen gehen Daten manchmal verloren. Dieser kann Google einen Rohcode geben. Über ein Kreditkarten-Gateway (Integrator) kann beispielsweise dieses Feld verwendet werden, um Google über den genauen Ablehnungscode zu informieren, der vom VISA-Netzwerk empfangen wurde. In diesem Fall wäre das scope „visa“ und das rawCode das vom VISA-Netzwerk zurückgegebene Element.

Dieser Wert ist erforderlich, wenn result nicht SUCCESS ist.

Erstattungscode

Der eindeutige Ergebniscode erstattet Erstattungen.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert nie fest.
SUCCESS Erfolgreiche Erstattung.
NO_MONEY_LEFT_ON_TRANSACTION v1.refund fehlgeschlagen, sodass für die Transaktion kein Geld mehr übrig ist. In der Regel ist dies ein Fehler zwischen dem Integrationspartner und Google. Google sollte nicht um eine Erstattung eines Betrags bitten, der über dem ursprünglichen Betrag liegt.
ACCOUNT_CLOSED

Das Konto des Integrationspartners wurde geschlossen.

Die Rückgabe dieses Werts führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

Das Konto des Nutzers beim Integrationspartner wurde geschlossen. Verdacht auf eine Kontoübernahme.

Die Rückgabe dieses Werts führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft.

ACCOUNT_CLOSED_FRAUD

Das Konto des Integrationspartners wurde aufgrund von Betrug geschlossen.

Die Rückgabe dieses Werts führt dazu, dass das Zahlungsmittel des Nutzers bei Google geschlossen wird. Der Nutzer wird gezwungen, ein neues Zahlungsmittel hinzuzufügen, indem er den Verknüpfungsvorgang noch einmal durchläuft.

ACCOUNT_ON_HOLD Das Konto des Nutzers ist derzeit zurückgehalten und kann nicht erstattet werden. Das kann jedoch später sein. Google kann in Zukunft eine weitere Erstattung beantragen. Dies wird jedoch mit einer neuen requestId beantragt. Die Anfrage sollte also als abgeschlossen betrachtet werden.
REFUND_EXCEEDS_MAXIMUM_BALANCE Die Erstattung kann momentan nicht verarbeitet werden, da das Guthaben des Nutzers sonst den maximal zulässigen Betrag überschreiten würde. Google kann in Zukunft eine weitere Erstattung beantragen. Dies wird jedoch mit einer neuen requestId beantragt. Die Anfrage sollte also als abgeschlossen betrachtet werden.
REFUND_WINDOW_EXCEEDED Die Erstattung kann nicht verarbeitet werden, weil sie außerhalb des zulässigen Erstattungszeitraums liegt.