Barzahlung

Überblick

Google Standard Payments unterstützt bargeldbasierte Zahlungsmittel wie Käufe in einem Verbrauchermarkt (z. B. 7-Eleven). Auf übergeordneter Ebene generiert ein Nutzer, der Waren bezahlen möchte, über den Zahlungsintegrator eine Referenznummer. Der Nutzer bezahlt die Referenznummer dann in einem Geschäft, einem Kiosk oder einer Bank.

Zahlungsmethode hinzufügen
1) Der Nutzer fügt eine Zahlungsmethode hinzu.
Wo möchten Sie bezahlen?
2) Der Kunde entscheidet dann, wo er bezahlen möchte.
Zahlungsanleitung
3) Schließlich erhält er eine Zahlungsanleitung.

Konzepte und Begriffe

Symbole und Konventionen

Die Schlüsselwörter „Muss“, „DARF NICHT“, „ERFORDERLICH“, „GESCHENKT“, „SOLLTE NICHT“, „SOLLTE“, „SOLLTE NICHT“, „EMPFOHLEN“, „KÖNNEN“ und „OPTIONAL“ in diesen Dokumenten wie in RFC 2119 beschrieben interpretiert werden.

Zeitstempel

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

Beispiel:

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

Beträge

Geldwerte in diesem API liegen in einem Format vor, das als „micros“ bezeichnet wird und einem Standard von Google entspricht. Mikros sind ein ganzzahliges Format mit fester Genauigkeit. Wenn Sie einen Geldwert in Mikroeinheiten darstellen möchten, multiplizieren Sie die Standardwährung mit 1.000.000.

Beispiel:

  • 1,23 US-Dollar = 1230000 Mikro-USD
  • 0,01 Euro = 10.000 Mikro-USD

Idempotenz

Alle Methodenaufrufe innerhalb dieser API müssen ein idempotentes Verhalten haben. Google wiederholt sporadisch Anfragen, 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 für die erfolgreiche Verarbeitung zurückgegeben werden. Alle Methoden haben eine gemeinsame RequestHeader, die eine requestId enthält. Diese requestId ist der Idempotenzschlüssel für alle Aufrufe.

Jede Nicht-Terminal-Antwort (kein HTTP 200-Erfolg) darf nicht idempotent verarbeitet werden. Eine Anfrage, die zuvor einen 400-Fehler erhalten hat (ungültige Anfrage/fehlgeschlagene Voraussetzung), wenn sie ein zweites Mal aufgerufen wird, darf nicht idempotent 400 zurückgeben und muss neu ausgewertet werden. Bei der Neubewertung wird möglicherweise ein 400-Fehler zurückgegeben oder die Verarbeitung war erfolgreich.

Weitere Informationen zur Idempotenz finden Sie in dieser ausführlichen Anleitung.

Integrator

Unternehmen, die die Zahlungsplattform von Google für ihr Geschäft nutzen. Es kann sich um interne Unternehmen wie YouTube oder AdWords handeln, aber auch um externe Unternehmen, die ihren Dienst in die Google-Plattform integrieren möchten.

Zahlungsmittel

Zahlungsart. Dies ist allgemeiner gehalten als ein Instrument. Visa, MasterCard und PayPal sind Zahlungsmittel.

Zahlungsmittel

Eine bestimmte Instanz eines Zahlungsmittels eines bestimmten Kunden. Zum Beispiel die Kreditkarte eines Nutzers oder sein PayPal-Konto. Ein tokenisiertes Zahlungsmittel für einen bestimmten Kunden ist ebenfalls ein Zahlungsmittel, da es eine Instanz eines Zahlungsmittels für diesen Kunden ist und sicher in unserem System gespeichert wird.

Token

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

Wichtige Abläufe

Google verwendet zwei wichtige Abläufe zur Erstellung und Bezahlung dieser Referenznummern:

  1. Ablauf der Referenznummer generieren.
  2. Zahlungsreferenznummerfluss.

Später erfolgt der Abgleich und die Abrechnung aus den resultierenden Käufen über den Überweisungsvorgang.

Das folgende Diagramm veranschaulicht jeden dieser Abläufe.

Cash-FOP – Übersicht

Bargeld-FOP – allgemeine Übersicht

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

Referenznummer generieren

Der Zweck des Vorgangs zum Generieren der Referenznummer besteht darin, eine Kennung (Referenznummer) zu erstellen und auszutauschen, mit der Google und der Integrator einen Kauf identifizieren können. Der Nutzer kann diese Referenznummer dann in einem Verbrauchermarkt, an einem Automaten oder in einer Bank verwenden, um den Kauf abzuschließen. Diese Kennung wird vom Integrator auf Anfrage von Google durch Aufrufen der Methode generateReferenceNumber generiert. Die Anforderung zur Generierung der Referenznummer umfasst einen Betrag und eine Transaktionsbeschreibung.

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

Vorgang zum Generieren von Referenznummern

Referenznummer für Bargelderzeugung

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

  • Nutzer: Die Person, die über dieses Zahlungsmittel etwas bezahlen möchte.
  • Google-UI: Über diese Oberfläche tätigt der Nutzer seine Käufe. Das kann über das Web oder eine App erfolgen.
  • Google-Server: der Back-End-Server bei Google, der die Generierung der Referenznummer anfordert und Zahlungsanweisungen für den Nutzer erstellt.
  • Zahlungsintegrator-Server: Der Back-End-Server des Zahlungsintegrators, der die Zahlungsdetails verfolgt und die Referenznummer generiert.

Dieser Ablauf beginnt mit dem Nutzer, der diese Barzahlung verwenden möchte.

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

Hinweise zu Referenznummern

Referenznummern können nur einmal bezahlt werden und können über den Ablauf für die Kündigung der Referenznummer storniert werden. Außerdem müssen Referenznummern alphanumerisch sein und mehrere Anzeigeformate unterstützen.

Zusätzlich zur Anzeige der Referenznummer kann die Referenznummer optional in den Benutzeroberflächen von Google auch im Code 128-Format (Barcode-Format) dargestellt werden. Andere Barcodeformate können auf Anfrage unterstützt werden.

Zahlungsreferenznummer

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

Wenn sich der Nutzer für die Zahlung entscheidet, muss er den vollen Betrag bezahlen und nur einmal bezahlen. Diese API unterstützt keine Mehr- oder Minderzahlungen für eine einzelne Referenznummer. Mehrfache Zahlungen an eine einzelne Referenznummer werden ebenfalls nicht unterstützt.

Sobald der Nutzer bezahlt, muss der Integrator Google umgehend über die referenceNumberPaidNotification-Methode darüber informieren, dass diese Referenznummer bezahlt wurde. Da diese Methode innerhalb von Sekunden nach der physischen Bezahlung aufgerufen wird, ermöglicht der Integrationspartner dem Nutzer, seine Waren schnell zu erhalten. Dieser Anruf kann einer Warteschlange hinzugefügt werden, wenn das Netzwerk ausgefallen ist.

Nach der Zahlung werden die Referenznummer und der Betrag in der Überweisung angegeben, die innerhalb von T+2 Tagen gesendet wird.

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

Vorgang für die Zahlung mit Referenznummer

Vorgang für die Zahlung mit Referenznummer

Die Objekte im Diagramm stellen Folgendes dar:

  • Nutzer: Die Person, die über dieses Zahlungsmittel etwas bezahlen möchte.
  • Einzelhandelsgeschäft: Der Ort, an dem der Nutzer mit der Referenznummer und den angegebenen Anweisungen bezahlt, z. B. in einem Einzelhandelsgeschäft.
  • Zahlungsintegrator-Server: Der Back-End-Server des Zahlungsintegrators, der die Zahlungsdetails verfolgt.
  • Google-Server: der Back-End-Server bei Google, der die Generierung der Referenznummer anfordert und Zahlungsanweisungen für den Nutzer erstellt.

Dieser Ablauf beginnt mit dem Nutzer, der in ein Geschäft geht, um gemäß den Anweisungen, die er erhalten hat, eine Zahlung zu tätigen.

  1. Der Nutzer geht in ein Verbrauchergeschäft, um eine Zahlung zu tätigen.
  2. Nach Abschluss der Transaktion benachrichtigt das Einzelhandelsgeschäft den Zahlungsintegrator über die Zahlung.
  3. Der Zahlungsintegrator-Server sendet eine Erfolgsnachricht an das Einzelhandelsgeschäft.
  4. Der Einzelhandelsgeschäft verdeutlicht, dass die Transaktion für den Nutzer erfolgreich war, und die Ware wird in Kürze an den Nutzer geliefert.
  5. Der Zahlungsintegrator-Server sendet eine Nachricht an den Google-Server, dass die Referenznummer (referenceNumberPaidNotification) bezahlt wurde. Dieser Schritt darf nicht zum Blockieren von Schritt 4 führen.
  6. Der Google-Server antwortet an den Zahlungsintegrator-Server mit einer Erfolgsmeldung.

Referenznummer stornieren

Referenznummern können von Google storniert werden. Wenn Google eine Referenznummer storniert, wird die Methode cancelReferenceNumber aufgerufen. Wenn dieser Anruf erfolgreich zurückgekehrt ist, kann die Referenznummer nicht mehr bezahlt werden und der Integrator muss die Zahlung für diese Nummer verweigern. Nach dem erfolgreichen Aufruf dieses Aufrufs schlagen alle zukünftigen Aufrufe des referenceNumberPaidNotification fehl.

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

Nächster Schritt: Zahlungsfluss