Barzahlung

Übersicht

Google Standard Payments unterstützt bargeldbasierte FOPs (Zahlungsformen) wie Einkäufe in Einzelhandelsgeschäften (z. B. 7-Eleven). Grundsätzlich generiert ein Nutzer, der Waren bezahlen möchte, über den Zahlungsintegrator eine Referenznummer. Der Nutzer zahlt die Referenznummer dann in einem Geschäft, an einem Kiosk oder an einer Bank aus.

<ph type="x-smartling-placeholder">
</ph> Zahlungsmethode hinzugefügt
1) Der Nutzer fügt eine Zahlungsmethode hinzu.
<ph type="x-smartling-placeholder">
</ph> Wähle aus, wo du bezahlen möchtest
2) Der Nutzer wählt aus, wo er bezahlen möchte
<ph type="x-smartling-placeholder">
</ph> Zahlungsanweisungen
3) Schließlich erhält er eine Zahlungsanleitung.

Konzepte und Begriffe

Symbole und Konventionen

Die Keywords "MÜSSEN", DÜRFEN NICHT, „ERFORDERLICH“ „WIRD“ „Das gilt nicht“, „SOLLTEN“ „Sollte nicht“, „EMPFOHLEN“, „MAY“ und "OPTIONAL" in diesen Dokumenten sind gemäß RFC 2119 zu interpretieren.

Zeitstempel

Alle Zeitstempel werden als Millisekunden seit der Unix-Epoche (1. Januar 1970) in UTC dargestellt.

Beispiel:

  • 23. April 2019, 20:23:25 Uhr GMT = 155.6051.005.000 Millisekunden
  • 16. August 2018 12:28:35 GMT = 1534422515.000 Millisekunden

Beträge

Geldwerte werden in diesem API im Format „micros“, „micros“, ein Standard bei Google. Mikros sind ein auf Ganzzahlen basierendes Format mit fester Genauigkeit. Wenn Sie einen Geldwert in „micros“ angeben möchten, multiplizieren Sie den Standardwährungswert mit 1.000.000.

Beispiel:

  • 1,23 € = 1230.000 Mikro-USD
  • 0,01 Euro = 10.000 Mikro-Euro

Idempotenz

Alle Methodenaufrufe innerhalb dieser API müssen idempotentes Verhalten aufweisen. Google wiederholt Anfragen gelegentlich, um sicherzustellen, dass sich die Transaktionen auf beiden Seiten im selben Status befinden. Integratoren sollten nicht versuchen, bereits erfolgreich verarbeitete Anfragen noch einmal zu verarbeiten. Stattdessen sollte die Antwort auf die erfolgreiche Verarbeitung gemeldet werden. Alle Methoden haben einen gemeinsamen RequestHeader, der eine requestId enthält. Diese requestId ist der Idempotenzschlüssel für alle Aufrufe.

Jede Nicht-Terminalantwort (ein Nicht-HTTP-Fehler 200) darf nicht idempotent verarbeitet werden. Daher darf eine Anfrage, die zuvor bei einem zweiten Aufruf den Wert 400 (falsche Anfrage/fehlgeschlagene Vorbedingung) erhalten hat, nicht idempotenterweise den Fehler 400 zurückgeben, sondern muss neu ausgewertet werden. Bei einer Neubewertung könnte der Fehler 400 zurückgegeben oder der Vorgang erfolgreich verarbeitet werden.

Weitere Informationen zur Idempotenz finden Sie in diesem ausführlichen Leitfaden.

Integrator

Ein Unternehmen, das die Zahlungsplattform von Google für sein Geschäft nutzt. Es kann sich um interne (eigene) Unternehmen wie YouTube oder AdWords handeln, aber auch um externe Unternehmen, die ihre Dienste in das Ökosystem von Google integrieren möchten.

Zahlungsmittel

Zahlungsmittel. Dies ist allgemeiner als ein Instrument. Visa, Mastercard und PayPal sind Zahlungsmittel.

Instrument

Eine bestimmte Instanz eines Zahlungsmittels durch einen bestimmten Kunden. z. B. die Kreditkarte oder das PayPal-Konto eines Nutzers. Ein tokenisiertes Zahlungsmittel für einen bestimmten Kunden ist ebenfalls ein Zahlungsmittel, da es sich um eine Zahlungsform für diesen Kunden handelt, die sicher in unserem System gespeichert ist.

Token

Darstellung der Zahlungsmethode eines bestimmten Nutzers im Google-System. Da ein Token alle für einen Kauf erforderlichen Informationen enthält, ist ein Token auch ein Zahlungsmittel. Dazu können Informationen wie die Kontonummer gehören, die ein Nutzer bei seinem Integrator hat.

Wichtige Abläufe

Google verwendet zwei wichtige Abläufe, um diese Referenznummern zu erstellen und zu bezahlen:

  1. Ablauf für Referenznummern generieren.
  2. Vorgang mit der Referenznummer für die Zahlung.

Später werden der Abgleich und die Abrechnung aus resultierenden Käufen über den Zahlungsvorgang abgewickelt.

Das folgende Diagramm veranschaulicht jeden dieser Abläufe.

Barzahlungsmittel – Übersicht

Bargeld - allgemeine Übersicht

Die ersten beiden Abläufe werden in den folgenden Abschnitten ausführlicher beschrieben. Weitere Informationen finden Sie auf der Seite Zahlungsvorgang.

Referenznummer generieren

Bei diesem Vorgang wird eine Kennung (Referenznummer) erstellt und ausgetauscht, mit der sowohl Google als auch der Integrator einen Kauf identifizieren können. Der Nutzer kann diese Referenznummer dann in einem Verbrauchermarkt, an einem Kiosk oder einer Bank verwenden, um den Kauf abzuschließen. Diese Kennung wird vom Integrator auf Anfrage von Google durch Aufrufen der Methode generateReferenceNumber generiert. Die Anfrage zum Generieren der Referenznummer enthält einen Betrag und eine Transaktionsbeschreibung.

Das folgende Diagramm zeigt, wie eine Referenznummer generiert und zusammen mit einer Anleitung an den Kunden gesendet wird.

Vorgang für Referenznummer generieren

Referenznummer für Barzahlung

Im Folgenden finden Sie eine Liste der Objekte und ihrer Bedeutung:

  • Nutzer: Dies ist die Person, die mit diesem Zahlungsmittel etwas bezahlen möchte.
  • Google-Benutzeroberfläche: Über diese Benutzeroberfläche tätigt der Nutzer den Kauf. Das kann über das Web oder eine App geschehen.
  • Google-Server: Der Backend-Server bei Google, der die Generierung der Referenznummer anfordert und Zahlungsanweisungen für den Nutzer erstellt.
  • Zahlungsintegrator-Server: Der Backend-Server des Zahlungsintegrators, der die Zahlungsdetails verfolgt und die Referenznummer generiert.

Dieser Ablauf beginnt mit dem Nutzer, der dieses Zahlungsmittel verwenden möchte.

  1. Der Nutzer greift auf die Google-Benutzeroberfläche zu, über die eine Anfrage für eine Referenznummer gesendet wird.
  2. Die Google-Benutzeroberfläche sendet eine Nachricht an den Google-Server, dass eine Referenznummer (getReferenceNumber) erforderlich ist.
  3. Der Google-Server fordert den Zahlungsintegrator-Server auf, eine Referenznummer (generateReferenceNumber) zu generieren.
  4. Der Payment Integrator Server generiert die Referenznummer und sendet sie an den Google-Server.
  5. Der Google-Server erstellt zusammen mit der Referenznummer Zahlungsanweisungen. Anschließend werden diese Informationen an die Google-Benutzeroberfläche gesendet.
  6. Die Google-UI sendet diese Anleitung und die Referenznummer an den Nutzer.

Hinweise zu Referenznummern

Referenznummern können nur einmal bezahlt und über den Vorgang zum Stornieren von Referenznummern storniert werden. Außerdem müssen Referenznummern alphanumerisch sein und mehrere Anzeigeformate unterstützen.

Neben der Referenznummer kann auf den Benutzeroberflächen von Google die Referenznummer optional auch im Code 128-Format (Barcode-Format) dargestellt werden. Andere Barcodeformate werden auf Anfrage unterstützt.

Zahlungsreferenznummer

Der Nutzer verwendet diese Referenznummer in einem Minimarkt, einem Kiosk oder einer Bank, um den Kauf zu identifizieren, für den er bezahlen möchte. Der Integrator sollte den Nutzer vor der Zahlung auffordern, den Kauf zu bestätigen, indem er den Kaufbetrag, das Datum und die Transaktionsbeschreibung anzeigt.

Nachdem sich der Nutzer für die Zahlung entschieden hat, muss er vollständig und nur einmal zahlen. Über- und Unterzahlungen für eine einzelne Referenznummer werden von dieser API nicht unterstützt. Mehrere Zahlungen für dieselbe Referenznummer werden ebenfalls nicht unterstützt.

Sobald der Nutzer bezahlt, muss der Integrator Google sofort darüber informieren, dass diese Referenznummer mit der referenceNumberPaidNotification-Methode bezahlt wurde. Durch den Aufruf dieser Methode innerhalb von Sekunden nach dem physischen Bezahlen durch den Nutzer ermöglicht der Integrator dem Nutzer, seine Waren schnell zu erhalten. (Dieser Aufruf kann einer Warteschlange hinzugefügt werden, wenn das Netzwerk ausgefallen ist.)

Nach der Zahlung werden die Referenznummer und der Betrag auf dem an spätestens T+2 Tagen gesendeten Überweisungsbeleg aufgeführt.

Hier sehen Sie ein Sequenzdiagramm, das die Zahlung einer Referenznummer veranschaulicht.

Vorgang mit Referenznummer für Zahlung

Vorgang mit Referenznummer für Zahlung

Die Objekte im Diagramm stellen Folgendes dar:

  • Nutzer: Dies ist die Person, die mit diesem Zahlungsmittel etwas bezahlen möchte.
  • Einzelhandelsgeschäft: Der Ort, an dem der Nutzer mithilfe der Referenznummer und der angegebenen Anleitung die Zahlung tätigt. Beispiele hierfür sind ein Minimarkt.
  • Zahlungsintegrator-Server: Der Backend-Server des Zahlungsintegrators, der die Zahlungsdetails verfolgt.
  • Google-Server: Der Backend-Server bei Google, der die Generierung der Referenznummer anfordert und Zahlungsanweisungen für den Nutzer erstellt.

Dieser Ablauf beginnt damit, dass der Nutzer in ein Geschäft geht, um gemäß der Anleitung eine Zahlung auszuführen.

  1. Der Nutzer geht in ein Einzelhandelsgeschäft, um eine Zahlung auszuführen.
  2. Nach Abschluss der Transaktion benachrichtigt der Verbrauchermarkt den Zahlungsintegrator über die Zahlung.
  3. Der Payment Integrator Server sendet eine Erfolgsmeldung an den Einzelhandelsladen.
  4. Der Verbrauchermarkt teilt dem Nutzer mit, dass die Transaktion dem Nutzer erfolgreich war, und die Ware wird dem Nutzer bald geliefert.
  5. Der Payment Integrator Server sendet eine Nachricht an den Google-Server, dass die Referenznummer bezahlt wurde (referenceNumberPaidNotification). Dieser Schritt darf Schritt 4 nicht blockieren.
  6. Der Google-Server antwortet dem Payment Integrator-Server mit einer Erfolgsmeldung.

Referenznummer löschen

Referenznummern können von Google storniert werden. Storniert Google eine Referenznummer, wird die Methode cancelReferenceNumber aufgerufen. Nach erfolgter Rückgabe des Anrufs ist die Bezahlung dieser Referenznummer ungültig und der Integrator muss die Zahlung für diese Nummer verweigern. Wenn dieser Aufruf erfolgreich ist, schlagen alle zukünftigen Aufrufe von referenceNumberPaidNotification fehl.

Wenn der Zahlungsprozess bereits begonnen hat, z. B. wenn der Nutzer seine Referenznummer in einem Kiosk eingegeben, aber noch nicht bezahlt hat, sollte der Integrator einen HTTP 423-Antwortcode zurückgeben, bei dem ErrorResponse USER_ACTION_IN_PROGRESS enthält.

Nächster Schritt: Überweisung