Method: refund

Erstattung eines Teils der oder der gesamten Transaktion, die über capture eingeleitet wurde Die Kombination aus requestId im Header und paymentIntegratorAccountId ist der Idempotenzschlüssel, der diese Transaktion eindeutig identifiziert.

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",
  "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)

ERFORDERLICH: Gemeinsamer Header für alle Anfragen.

paymentIntegratorAccountId

string

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

captureRequestId

string

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

currencyCode

string

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

refundAmount

string (Int64Value format)

ERFORDERLICH: Der Betrag der Erstattung, eine positive Anzahl von Mikros der Währungseinheit.

Antworttext

Response-Objekt 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)

ERFORDERLICH: Gemeinsamer Header für alle Antworten.

paymentIntegratorRefundId

string

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

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

result

enum (RefundResultCode)

ERFORDERLICH: Ergebnis dieser Erstattung.

rawResult

object (RawResult)

OPTIONAL: Unverarbeitetes Ergebnis dieser Erstattung. 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.

RefundResultCode

Die eindeutigen Ergebniscodes werden erstattet.

Enums
UNKNOWN_RESULT Legen Sie diesen Standardwert niemals fest.
SUCCESS Erstattung erfolgreich.
NO_MONEY_LEFT_ON_TRANSACTION v1.refund fehlgeschlagen. Die Transaktion weist kein Geld mehr auf. In der Regel handelt es sich dabei um einen Fehler zwischen dem Integrator und Google. Google sollte keine Erstattung eines Betrags verlangen, der über der ursprünglichen Aufnahme liegt.
ACCOUNT_CLOSED

Das Konto des Integrators 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_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.

ACCOUNT_ON_HOLD Das Konto des Nutzers ist derzeit ausgesetzt und kann die Erstattung nicht akzeptieren. Möglicherweise kann sie aber zu einem späteren Zeitpunkt über das Konto des Nutzers angenommen werden. Google kann in Zukunft eine weitere Erstattung beantragen, wird dies jedoch mit einer neuen requestId tun. Der Antrag gilt daher als abgeschlossen.
REFUND_EXCEEDS_MAXIMUM_BALANCE Die Erstattung kann derzeit nicht verarbeitet werden, da das Guthaben des Nutzers dadurch den maximal zulässigen Betrag überschreiten würde. Google kann in Zukunft eine weitere Erstattung beantragen, wird dies jedoch mit einer neuen requestId tun. Der Antrag gilt daher als abgeschlossen.
REFUND_WINDOW_EXCEEDED Die Erstattung kann nicht bearbeitet werden, da der Antrag außerhalb des zulässigen Erstattungszeitraums liegt.