Bankdaten aus einer iDEAL-Zahlung speichern
So speichern Sie die IBAN-Bankdaten aus einer iDEAL-Zahlung.
Vorsicht
Wir empfehlen Ihnen, den Leitfaden Zahlungsdaten bei Zahlung speichern zu befolgen. Wenn Sie Elements bereits integriert haben, lesen Sie den Migrationsleitfaden für Payment Element.
Bei iDEAL handelt es sich um eine beliebte Zahlungsmethode für die einmalige Nutzung in den Niederlanden, bei der Kundinnen/Kunden ihre Zahlungen authentifizieren müssen. Bei Zahlungen mit iDEAL werden Kundinnen/Kunden zur Autorisierung der Zahlung zu einer Webansicht weitergeleitet und dann wieder zur Ihrer App zurückgeleitet, wo Sie eine sofortige Benachrichtigung über den Erfolg oder das Fehlschlagen der Zahlung erhalten.
Sie können auch iDEAL verwenden, um die IBAN-Bankdaten Ihrer Kundinnen und Kunden in einer SEPA-Lastschrift-PaymentMethod zu speichern. Anschließend können Sie die PaymentMethod SEPA-Lastschrift verwenden, um Zahlungen anzunehmen oder um ein Abonnement einzurichten. Auf diese Weise wird der Bezahlvorgang für Ihre Kundinnen und Kunden unkomplizierter gestaltet, da sie die IBAN nicht erneut eingeben müssen. Außerdem erhalten Sie den verifizierten Namen Ihrer Kundinnen und Kunden und die validierte IBAN.
Vorsicht
Um iDEAL für die Einrichtung von SEPA-Lastschriftzahlungen zu verwenden, müssen Sie die SEPA-Lastschrift im Dashboard aktivieren. Außerdem gelten die Nutzungsbedingungen für iDEAL und unsere Nutzungsbedingungen für SEPA-Lastschrift.
Die Annahme von iDEAL-Zahlungen umfasst das Erstellen eines PaymentIntent-Objekts zur Nachverfolgung einer Zahlung, das Erfassen von Informationen zur Zahlungsmethode und der Mandatsbestätigung sowie das Übermitteln der Zahlung an Stripe zur Verarbeitung. Stripe verwendet den PaymentIntent, um alle Status der Zahlung zu verfolgen und zu verarbeiten, bis die Zahlung abgeschlossen ist. Verwenden Sie die ID der SEPA-Lastschrift-PaymentMethod, die von Ihrem ersten iDEAL-PaymentIntent erfasst wurde, um zukünftige Zahlungen zu erstellen.
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.
Um das SDK zu installieren, fügen Sie stripe-android
in den Block dependencies
Ihrer app/build.gradle-Datei ein:
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
Verwenden Sie Ihre Testschlüssel beim Testen und Entwickeln Ihrer App und Ihre Live-Modus-Schlüssel beim Veröffentlichen Ihrer App.
Stripe-Beispiele nutzen auch OkHttp und GSON, um HTTP-Anfragen an einen Server zu stellen.
Kunde/Kundin erstellenServerseitig
Erstellen Sie Kund/innen, wenn diese ein Konto bei Ihrem Unternehmen anlegen, und verknüpfen Sie sie mit Ihrer internen Darstellung ihres Kontos. So können Sie zu einem späteren Zeitpunkt die gespeicherten Details zur Zahlungsmethode abrufen und verwenden.
Erstellen Sie ein PaymentIntentServerseitig
Erstellen Sie einen PaymentIntent
auf Ihrem Server und geben Sie den einzuziehenden amount
, die Währung eur
, die Kunden-ID und off_
als Argument für die Einrichtung der zukünftigen Verwendung an. Es gibt keinen Mindestzahlungsbetrag, und iDEAL unterstützt keine anderen Währungen. Wenn Sie über eine bestehende Payment Intents API-Integration verfügen, fügen Sie ideal
der Liste der Arten der Zahlungsmethoden hinzu.
Der PaymentIntent enthält die ID der Zahlungsmethode und ein Client-Geheimnis, das auf der Client-Seite verwendet wird, um den Zahlungsvorgang sicher abzuschließen, statt das gesamte PaymentIntent-Objekt zu übergeben.
Angaben zur Zahlungsmethode und Mandatsbestätigung erfassenClientseitig
Erfassen Sie in Ihrer App den vollständigen Namen und die E-Mail-Adresse des/der Kund/in. Erstellen Sie ein PaymentMethodCreateParams-Objekt mit diesen Angaben.
Wenn Sie Zahlungen per SEPA-Lastschrift abwickeln möchten, müssen Ihre Kund/innen dem Lastschriftmandat zustimmen. Zeigen Sie den folgenden Standard-Autorisierungstext an, damit Ihre Kund/innen das Mandat implizit akzeptieren.
Ersetzen Sie Rocket Rides durch den Namen Ihres Unternehmens.
Beim Einrichten einer Zahlungsmethode oder Bestätigen einer PaymentIntent wird das akzeptierte Mandat erstellt. Da die Kund/innen das Mandat implizit akzeptiert haben, müssen Sie diese Bedingungen in Ihrem Formular oder per E-Mail mitteilen.
Zahlung an Stripe sendenClientseitig
Rufen Sie das Client-Geheimnis von der in Schritt 3 erstellten PaymentIntent ab und rufen Sie die Methode stripe confirmPayment auf. Dies entspricht einer Webansicht, sodass die Kundinnen/Kunden die Zahlung auf der Website oder in der App ihrer Bank durchführen können. Danach wird onActivityResult
mit dem Ergebnis der Zahlung aufgerufen.
Zahlungsmethode SEPA-Lastschrift später belasten
Wenn Sie das Konto Ihrer Kundin/Ihres Kunden erneut belasten müssen, erstellen Sie einen neuen PaymentIntent. Suchen Sie nach der ID der SEPA-Lastschrift-Zahlungsmethode, indem Sie den vorherigen PaymentIntent abrufen und das Feld latest_
erweitern, in dem Sie die generated_
-ID innerhalb der payment_
finden.
Die ID der Zahlungsmethode SEPA-Direktlastschrift finden Sie als generated_
-ID unter payment_method_details in der Antwort.
{ "latest_charge": { "payment_method_details": { "ideal": { "bank": "ing", "bic": "INGBNL2A", "iban_last4": "****", "generated_sepa_debit": "pm_1GrddXGf98efjktuBIi3ag7aJQ", "verified_name": "JENNY ROSEN" }, "type": "ideal" }, }, "payment_method_options": { "ideal": {}
Erstellen Sie eine PaymentIntent mit der SEPA-Lastschrift und Kunden-IDs.
Integration testen
Verwenden Sie Ihre Test-API-Schlüssel, um den PaymentIntent zu bestätigen. Nach der Bestätigung werden Sie an eine Testseite mit Optionen zur Autorisierung oder Ablehnung der Zahlung weitergeleitet.
- Klicken Sie auf Authorize test payment (Testzahlung autorisieren), um den Fall zu testen, wenn die Zahlung erfolgreich durchgeführt wird. Die PaymentIntent wechselt von
requires_
zuaction succeeded
. - Klicken Sie auf Fail test payment (Testzahlung ablehnen), um den Fall zu testen, wenn der/die Kund/in nicht authentifiziert werden kann. Die PaymentIntent wechselt von
requires_
zuaction requires_
.payment_ method