Zahlungen mit MobilePay
So akzeptieren Sie MobilePay, eine beliebte Zahlungsmethode in Dänemark und Finnland.
MobilePay ist eine einmalige Karten-Wallet-Zahlungsmethode, die in Dänemark und Finnland verwendet wird. Sie ermöglicht Ihren Kundinnen und Kunden, Zahlungen mit der Vipps-App zu authentifizieren und zu genehmigen.
Wenn Ihre Kundin oder Ihr Kunde mit MobilePay bezahlt, führt Stripe eine Kartentransaktion mit den von MobilePay empfangenen Kartendaten durch. Die Verarbeitung der Kartentransaktion ist für Ihre Integration unsichtbar und Stripe benachrichtigt Sie sofort darüber, ob die Zahlung erfolgreich war oder fehlgeschlagen ist.
Stripe empfiehlt die Verwendung des Mobile Payment Element. Bei diesem handelt es sich um ein Zahlungsformular, über das Sie MobilePay und weitere Zahlungsmethoden mit wenig Aufwand zu Ihrer Integration hinzufügen können.
In diesem Leitfaden erfahren Sie, wie Sie MobilePay über Ihre native Mobilanwendung akzeptieren, wenn Sie Ihr eigenes benutzerdefiniertes Zahlungsformular verwenden möchten. Ihre native mobile App leitet Ihre Kundinnen und Kunden zur mobilen App von MobilePay weiter, um die Zahlung abzuschließen. Zum Abschließen des Kaufs sind keine zusätzlichen Aktionen in der mobilen App von MobilePay erforderlich.
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 die offiziellen Bibliotheken für den Zugriff auf die Stripe-API von Ihrem Server aus:
Clientseitig
Das Stripe iOS SDK ist Open Source, vollständig dokumentiert und kompatibel mit Apps, die iOS 13 oder höher unterstützen.
Notiz
Details zur aktuellen SDK-Version und zu vorherigen Versionen finden Sie auf der Seite Releases auf GitHub. Um bei Veröffentlichung einer neuen Version eine Benachrichtigung zu erhalten, achten Sie auf die Releases zum jeweiligen Repository.
Konfigurieren Sie das SDK mit Ihrem veröffentlichbaren Schlüssel von Stripe, um es beim Start der App auszuführen. Dadurch kann Ihre App Anfragen an die Stripe-API senden.
Notiz
Verwenden Sie Ihre Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.
PaymentIntent erstellenServerseitigClientseitig
Serverseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert.
So erstellen und bestätigen Sie einen PaymentIntent
auf Ihrem Server:
- Geben Sie den einzuziehenden Betrag und eine unterstützte Währung an (
eur
,dkk
,sek
, ornok
). - Fügen Sie
mobilepay
zur Liste der Zahlungsmethoden für IhrenPaymentIntent
hinzu. Vergewissern Sie sich, dass Sie MobilePay im Dashboard aktiviert haben. - Setzen Sie
payment_
aufmethod_ data[type] mobilepay
, um eine PaymentMethod zu erstellen und diese sofort mit diesem PaymentIntent zu verwenden.
Der PaymentIntent enthält ein Client-Geheimnis. Senden Sie das Client-Geheimnis an den Client, um im nächsten Schritt den PaymentIntent zu bestätigen.
Clientseitig
Fordern Sie auf dem Client einen PaymentIntent von Ihrem Server an und speichern Sie das zugehörige Client-Geheimnis.
Zahlung an Stripe sendenClientseitig
Wenn Kundinnen/Kunden die Schaltfläche zum Bezahlen mit MobilePay antippen, bestätigen Sie den PaymentIntent
, um die Zahlung abzuschließen. Konfigurieren Sie ein STPPaymentIntentParams
-Objekt mit dem Client-Geheimnis des PaymentIntent
.
Das Client-Geheimnis unterscheidet sich von Ihren API-Schlüsseln, die die Stripe API-Anfragen authentifizieren. Achten Sie auf einen vorsichtigen Umgang mit dem Client-Geheimnis, da mit ihm die Zahlungen abgeschlossen werden können. Es darf nicht protokolliert, in URLs eingebettet oder anderen Personen zugänglich gemacht werden.
Rückgabe-URL einrichten
Der Kunde/Die Kundin verlässt ggf. Ihre App, um sich zu authentifizieren (z. B. in Safari oder einer Banking-App). Damit sie nach der Authentifizierung automatisch zu Ihrer App zurückkehren können, konfigurieren Sie ein benutzerdefiniertes URL-Schema und richten Sie Ihren App-Delegate so ein, dass die URL an das SDK weitergeleitet wird. Stripe unterstützt keine universellen Links.
Zahlung bestätigen
Verwenden Sie das PaymentIntent-Client-Geheimnis aus Schritt 2, um den PaymentIntent mit STPPaymentHandler.shared.confirmPayment() zu bestätigen. Dadurch wird die MobilePay-Anwendung direkt geöffnet (falls vorhanden) oder eine Webansicht mit der MobilePay-Landingpage. Nachdem die Kundin/der Kunde die Zahlung autorisiert hat, enthält der Abschlussblock den Status der Zahlung.
Ihr Kunde/Ihre Kundin hat 5 Minuten Zeit, die Zahlung in der App zu autorisieren. Wenn die zugrunde liegende Kartenzahlung fehlschlägt, kann kundenseitig eine andere Karte ausgewählt und es in der MobilePay-App erneut versucht werden.
Ereignisse nach der Zahlung verarbeiten
Stripe übermittelt ein payment_intent.succeeded-Ereignis, wenn die Zahlung abgeschlossen ist. Verwenden Sie im Dashboard einen Webhook oder eine Partnerlösung, um diese Ereignisse zu empfangen und Aktionen auszuführen (Versenden einer Bestellbestätigung per E-Mail an die Kund/innen, Erfassen des Verkaufs in einer Datenbank oder Einleiten des Versandablaufs).
Überwachen Sie diese Ereignisse, statt auf einen Callback vom Client zu warten. Auf dem Client könnte der Kunde/die Kundin das Browserfenster schließen oder die App beenden, bevor der Callback erfolgt ist und böswillige Clients könnten die Antwort manipulieren. Wenn Sie Ihre Integration so einrichten, dass asynchrone Ereignisse überwacht werden, hilft Ihnen dies auch dabei, in Zukunft mehr Zahlungsmethoden zu akzeptieren. Hier erhalten Sie Informationen zu den Unterschieden zwischen allen unterstützten Zahlungsmethoden.
Manuell
Im Stripe-Dashboard können Sie alle Stripe-Zahlungen anzeigen, Zahlungsbelege per E-Mail versenden, Auszahlungen abwickeln oder fehlgeschlagene Zahlungen erneut durchführen.
Benutzerdefinierter Code
Erstellen Sie einen Webhook-Handler, um Ereignisse zu überwachen und benutzerdefinierte asynchrone Zahlungsabläufe zu erstellen. Mit der Stripe-CLI können Sie Ihre Webhook-Integration lokal testen und Fehler beheben.
Vorgefertigte Apps
Verarbeiten Sie häufige Geschäftsereignisse, wie Automatisierung oder Marketing und Vertrieb durch Integration einer Partneranwendung.
Integration testen
Erstellen Sie mit Ihren Test-API-Schlüsseln einen PaymentIntent. Nachdem Sie den PaymentIntent bestätigt haben, folgen Sie der next_
-Weiterleitungs-URL zu einer Testseite mit Optionen zur Autorisierung oder Ablehnung der Zahlung.
- Klicken Sie auf Authorize test payment, um das Szenario zu testen, bei dem die Zahlung erfolgreich ist. Der Status des PaymentIntent wechselt von
requires_
zuaction succeeded
- Klicken Sie auf Fail test payment (Testzahlung ablehnen), um das Szenario zu testen, bei dem der/die Kund/in nicht authentifiziert werden kann. Der Status des PaymentIntent wechselt von
requires_
zuaction requires_
.payment_ method
Fehlgeschlagene Zahlungen
MobilePay-Transaktionen können fehlschlagen, wenn die zugrunde liegende Kartentransaktion abgelehnt wird. Weitere Infos zu Kartenablehnungen. In diesem Fall wird die PaymentMethod getrennt und der Status des PaymentIntent wechselt automatisch zu requires_
.
Wenn der Status des PaymentIntent requires_
ist, muss Ihr Kunde/Ihre Kundin die Zahlung innerhalb von 5 Minuten authentifizieren. Wenn nach 5 Minuten keine Aktion erfolgt ist, wird die PaymentMethod getrennt und der Status des PaymentIntent wechselt automatisch zu requires_
.
Rückerstattungen und angefochtene Zahlungen
Stripe führt eine Kartentransaktion mit Standard-Card-Rails im Rahmen einer Vipps-Transaktion durch. Rückerstattungen und Zahlungsanfechtungen unterliegen den Netzwerkregeln von Visa und Mastercard.