Erstattungsablauf

Überblick

Erstattungen können durch eine aktive Nutzeraktion (Drücken der Schaltfläche „Erstattung“) oder automatisch im Namen des Nutzers veranlasst werden. Unabhängig vom Auslöser wird eine asynchrone Erstattungsanfrage von Google an den Zahlungsintegrator gesendet. Der Integrationspartner muss die Anfrage bestätigen und Google benachrichtigen, sobald die Erstattung abgeschlossen ist.

Ablauf

Erstattungsablauf

Hier ist ein Beispiel für einen asynchronen Erstattungsablauf, der vom Nutzer initiiert wurde:

Erstattungsablauf

Hier ist die Liste der Objekte im obigen Diagramm:

  • Nutzer: Die Person, die eine vollständige oder teilweise Erstattung möchte.
  • Google-Server: Der Back-End-Server bei Google, der den Erstattungsbefehl an den Zahlungsintegrator sendet.
  • Zahlungsintegrator: Der Integrator, der die Erstattungsanfrage an den entsprechenden Aussteller weiterleitet.
  • Aussteller: Der für die Zahlung verwendete Aussteller, der den Erstattungsantrag akzeptiert.

Die Erstattung wird in diesem Beispiel vom Nutzer veranlasst.

  1. Der Nutzer veranlasst die Erstattung an den Google-Server.
  2. Google ruft den AsynchronousRefund-Endpunkt des Zahlungsintegrators auf.
  3. Der Integrator sendet eine Acknowledged-Antwort an Google.
  4. Der Integrator ruft den entsprechenden Refund-Endpunkt des Ausstellers auf.
  5. Der Aussteller verarbeitet die Erstattung und antwortet dem Integrator mit Success.
  6. Der Integrator ruft den RefundResultNotification-Endpunkt auf dem Google-Server auf, um Google über das Ergebnis zu informieren.
  7. Google erkennt die RefundResultNotification an.
  8. Google aktualisiert das verfügbare Guthaben des Nutzers.
  9. Der Nutzer erhält eine Erstattung.

Best Practices und weitere Überlegungen

In einigen Google-Produkten wie etwa AdWords sind Erstattungen möglich, solange das Guthaben im Konto vorhanden ist. Erstattungen für Transaktionen sollten deshalb auf unbestimmte Zeit möglich sein. Wenn eine technische Einschränkung besteht, sollte der Erstattungszeitraum so lang sein, wie es Ihre Plattform zulässt.

Erstattungen können nur abgelehnt werden, wenn das Guthaben bei der ursprünglichen Transaktion nicht ausreicht, um den Erstattungsbetrag zu decken, oder das Konto geschlossen wurde oder ausgesetzt ist und der Integrator dem Nutzer dieses Geld nicht senden kann.

Erstattungen können innerhalb von Sekunden nach der Aufnahme veranlasst werden. Der Zeitpunkt der Erstattungen liegt im Ermessen von Google.

Eine Erstattung sollte niemals als vollständige Erstattung angesehen werden. Das Feld refundAmount muss bei der Erstattung des Kontos immer berücksichtigt werden.

Es müssen mehrere Teilerstattungen unterstützt werden. Beispiel: Eine Transaktion in Höhe von 11,00 € findet statt und ein Nutzer kann bei der ursprünglichen Transaktion teilweise Erstattungen in Höhe von 4,00 €, 5,00 € und 1,00 € erhalten. In diesem Fall haben alle drei Erstattungen denselben captureRequestId, aber unterschiedliche requestId-Werte. Außerdem wäre für diese Transaktion nur 1, 00 $übrig.

Nehmen wir nun an, es gibt einen Kauf in Höhe von 12,00 €. In diesem Beispiel kann der Nutzer zwei Erstattungen in Höhe von jeweils 6,00 $vornehmen. Wenn diese beiden Erstattungen unterschiedliche requestId-Werte und denselben captureRequestId-Wert haben, müssen sie als separate Erstattungen für dieselbe Transaktion behandelt werden. Sobald die Erstattungen abgeschlossen sind, verbleiben in diesem Fall 0 $für die Transaktion.