OXXO-Zahlung annehmen
So akzeptieren Sie Zahlungen per OXXO, einer gängigen Zahlungsmethode in Mexiko.
Vorsicht
Wir empfehlen Ihnen, den Leitfaden Zahlung akzeptieren zu befolgen, es sei denn, Sie müssen eine manuelle serverseitige Bestätigung verwenden oder Ihre Integration erfordert die separate Angabe von Zahlungsmethoden. Wenn Sie Elements bereits integriert haben, lesen Sie den Migrationsleitfaden für Payment Element.
Für die Unterstützung von OXXO-Zahlungen in Ihrer App muss eine Webansicht mit dem OXXO-Gutschein angezeigt werden. Die Kund/innen nutzen den OXXO-Gutschein mit einer generierten Nummer zur Barzahlung in einem OXXO-Verbrauchermarkt. Stripe benachrichtigt Sie, wenn die Zahlung abgeschlossen ist.
Stripe einrichtenServerseitigClientseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Serverseitig
Diese Integration erfordert Endpoints auf Ihrem Server, die mit der Stripe-API kommunizieren können. Nutzen Sie diese offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:
Clientseitig
Das Stripe Android SDK ist Open Source und vollständig dokumentiert.
To install the SDK, add stripe-android
to the dependencies
block of your app/build.gradle file:
Notiz
Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung eines neuen Release eine Benachrichtigung zu erhalten, beobachten Sie Veröffentlichungen für das jeweilige Repository.
Konfigurieren Sie das SDK mit Ihrem veröffentlichbaren Schlüssel von Stripe so, dass dieser Anfragen an die API stellen kann, wie beispielsweise in Ihrer Unterklasse Application
:
Notiz
Stripe-Beispiele nutzen auch OkHttp und GSON, um HTTP-Anfragen an einen Server zu stellen.
Erstellen Sie ein PaymentIntentServerseitigClientseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert.
Serverseitig
Erstellen Sie einen PaymentIntent
auf Ihrem Server mit einem Betrag und der Währung mxn
(OXXO unterstützt keine anderen Währungen). Falls Sie bereits über eine Integration verfügen, die die Payment Intents API verwendet, fügen Sie der Liste der Zahlungsmethoden für Ihren PaymentIntent die Zahlungsmethode oxxo
hinzu.
Zusätzliche Optionen für Zahlungsmethoden
Sie können für Ihren PaymentIntent
den optionalen Parameter expires_
in den Optionen für Zahlungsmethoden nutzen, um die Gültigkeit eines OXXO-Gutscheins in Kalendertagen anzugeben. Wenn Sie beispielsweise einen OXXO-Gutschein am Montag erstellen und expires_
auf 2 setzen, läuft der OXXO-Gutschein am Mittwoch um 23:59 Uhr amerikanischer/mexikanischer Zeit (UTC-6) ab. Der Parameter expires_
kann Werte zwischen 1 und 7 aufweisen. Der Standardwert ist 3 Tage.
Clientseitig
Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie das zugehörige Client-Geheimnis.
Angaben zur Zahlungsmethode erfassenClientseitig
Erfassen Sie in Ihrer App die folgenden erforderlichen Rechnungsdaten von den Kund/innen. Erstellen Sie dann mit diesen Angaben ein PaymentMethodCreateParams-Modell.
Feld | Wert |
---|---|
name | Der vollständige Name (Vor- und Nachname) der Kundin/des Kunden. Der Vor- und Nachname muss jeweils mindestens zwei Zeichen lang sein. |
email | Die vollständige E-Mail-Adresse des/der Kund/in. |
Zahlung an Stripe sendenClientseitig
Rufen Sie vom in Schritt 2 erstellten PaymentIntent das Client-Geheimnis ab und rufen Sie PaymentLauncher bestätigen auf. Dies entspricht einer Webansicht, die den OXXO-Gutschein anzeigt. Anschließend wird onPaymentResult
mit dem Ergebnis der Zahlung aufgerufen.
Optional: Gutschein-Link per E-Mail an Kund/innen senden
Stripe sendet ein payment_intent.requires_action-Ereignis, wenn ein OXXO-Gutschein erfolgreich erstellt wurde. Wenn Sie Ihren Kundinnen/Kunden den Gutschein-Link per E-Mail zusenden möchten, können Sie den PaymentIntent abrufen, um den Link beim Empfang des Ereignisses zu erhalten. Das Feld hosted_
in payment_intent.next_action.oxxo_display_details enthält den Link zum Gutschein.
Optional: Gutschein anpassen
Auf der Seite mit den Branding-Einstellungen können Sie die Nutzeroberfläche für Ihre Kund/innen anpassen.
Folgende Branding-Einstellungen können auf den Gutschein angewendet werden:
- Symbol – Ihr Markenlogo und Ihr offizieller Firmenname
- Akzentfarbe: Farbe für die Schaltfläche „Nummer kopieren“
- Markenfarbe – Die Hintergrundfarbe
Ereignisse nach der Zahlung verarbeitenServerseitig
OXXO ist eine Zahlungsmethode mit verzögerter Benachrichtigung, bei der Gelder nicht sofort verfügbar sind. Kundinnen/Kunden bezahlen den OXXO-Gutschein eventuell nicht sofort nach dem Abschluss des Bestellvorgangs in einem OXXO Convenience Store.
Für jeden bezahlten OXXO-Gutschein übermittelt Stripe am nächsten Werktag (Montag bis Freitag außer an mexikanischen Feiertagen) das Ereignis payment_intent.succeeded. Verwenden Sie das Dashboard oder erstellen Sie einen Webhook-Handler, um diese Ereignisse zu empfangen und Aktionen auszuführen (Versenden einer Bestellbestätigung per E-Mail an die Kundinnen/Kunden, Erfassen des Verkaufs in einer Datenbank oder Einleiten des Versandablaufs).
Nach Ablauf der Gültigkeit geht der Status des PaymentIntent in processing
über, und die Kundinnen/Kunden können nicht mehr mit den abgelaufenen OXXO-Gutschein bezahlen. Wenn der OXXO-Gutschein nicht vor 23:59 Uhr amerikanischer/mexikanischer Zeit (UTC-6) am Ablaufdatum bezahlt wird, sendet Stripe innerhalb von 10 Kalendertagen nach dem Ablaufdatum ein payment_intent.payment_failed-Ereignis (in den meisten Fällen wird es innerhalb von 7 Kalendertagen gesendet). Wenn der OXXO-Gutschein z. B. am 1. September abgelaufen ist, wird das Ereignis spätestens am 10. September gesendet.
Ereignis | Beschreibung | Nächste Schritte |
---|---|---|
payment_ | Der OXXO-Gutschein wurde erfolgreich erstellt. | Warten Sie, bis die Kundin/der Kunde den OXXO-Gutschein bezahlt hat. |
payment_ | Die Kundin/der Kunde kann den OXXO-Gutschein nicht mehr bezahlen. | Warten Sie, bis die Zahlung erfolgt oder fehlschlägt. |
payment_ | Die Kundin/der Kunde hat den OXXO-Gutschein vor Ablauf bezahlt. | Wickeln Sie die Bestellung der Kundin/des Kunden ab. |
payment_ | Die Kundin/der Kunde hat den OXXO-Gutschein nicht vor Ablauf bezahlt. | Contact the customer through email or push notification and request another payment method. |
Ereignisse empfangen und Geschäftsaktionen ausführen
Manuell
Im Stripe-Dashboard können Sie alle Stripe-Zahlungen anzeigen, Zahlungsbelege per E-Mail versenden, Auszahlungen abwickeln oder fehlgeschlagene Zahlungen erneut durchführen.
Nutzerdefinierter Code
Erstellen Sie einen Webhook-Handler, um Ereignisse zu überwachen und nutzerdefinierte asynchrone Zahlungsabläufe zu erstellen. Mit der Stripe-CLI können Sie Ihre Webhook-Integration lokal testen und Fehler beheben.
Integration testen
Legen Sie in einer Sandbox PaymentMethod.BillingDetails#email auf die folgenden Werte fest, wenn Sie Stripe# confirmPayment() aufrufen, um verschiedene Szenarien zu testen.
E-Mail-Adresse | Beschreibung |
---|---|
| Simuliert einen OXXO-Gutschein, bei dem Kund/innen nach 3 Minuten bezahlen und der Webhook Beispiel: fulano@test.com |
| Simuliert einen OXXO-Gutschein, bei dem Kund/innen sofort bezahlen und der Webhook Beispiel: succeed_immediately@test.com |
| Simuliert einen OXXO-Gutschein, der abläuft, bevor Kund/innen bezahlen, und bei dem der Webhook Das Feld Beispiel: expire_immediately@test.com |
| Simuliert einen OXXO-Gutschein, der abläuft, bevor Kund/innen zahlen, und bei dem der Webhook Das Feld Beispiel: expire_with_delay@test.com |
| Simuliert einen OXXO-Gutschein, der abläuft, bevor Kund/innen bezahlen, und bei dem der Webhook Beispiel: fill_never@test.com |
Ablauf und Stornierung
OXXO vouchers expire after the expires_
UNIX timestamp and a customer can’t pay an OXXO voucher once it has expired. OXXO vouchers can’t be canceled before expiration.
Nachdem ein OXXO-Gutschein abgelaufen ist, ändert sich der Status des PaymentIntent in requires_
. Zu diesem Zeitpunkt können Sie den PaymentIntent mit einer anderen Zahlungsmethode bestätigen oder stornieren.