Bancontact-Zahlungen annehmen
So akzeptieren Sie Zahlungen per Bancontact, einer gängigen Zahlungsmethode in Belgien.
Bei Bancontact handelt es sich um eine Zahlungsmethode für die einmalige Nutzung, bei der Kundinnen/Kunden ihre Zahlungen authentifizieren müssen. Bei Zahlungen mit Bancontact werden Kundinnen/Kunden zur Authentifizierung der Zahlung von Ihrer App weitergeleitet und dann wieder an Ihre App zurückgeleitet, wo Sie eine sofortige Benachrichtigung über den Erfolg oder das Fehlschlagen der Zahlung erhalten.
Note
Ihre Nutzung von Bancontact unterliegt den Bancontact-Nutzungsbedingungen.
Stripe einrichtenServerseitig
Zunächst benötigen Sie ein Stripe-Konto. Registrieren Sie sich jetzt.
Nutzen Sie unsere offiziellen Bibliotheken für den Zugriff auf die Stripe-API über Ihre Anwendung:
Erstellen Sie ein PaymentIntentServerseitig
Ein PaymentIntent ist ein Objekt, das Ihre Absicht, eine Kundenzahlung einzuziehen, darstellt und den gesamten Zahlungsvorgang dokumentiert.
Erstellen Sie einen PaymentIntent auf Ihrem Server und geben Sie den einzuziehenden Betrag und die Währung eur an (Bancontact unterstützt keine anderen Währungen). Wenn Sie über eine bestehende Payment Intents-Integration verfügen, fügen Sie bancontact der Liste der Arten von Zahlungsmethoden hinzu.
Die Standardsprache für die Bancontact-Autorisierungsseite ist Englisch (en). Sie können dies an die bevorzugte Sprache Ihrer Kund/innen anpassen, indem Sie preferred_ auf fr, nl oder de festlegen.
Client-Geheimnis abrufen
Im PaymentIntent ist ein Client-Geheimnis enthalten, das auf dem Client verwendet wird, um Zahlungen sicher abzuschließen. Es gibt verschiedene Verfahren zum Übergeben des Client-Geheimnisses an den Client.
Zahlung an Stripe sendenClientseitig
Erstellen Sie eine Zahlung auf der Client-Seite mit dem Client-Geheimnis des PaymentIntent. Das Client-Geheimnis unterscheidet sich von Ihren API-Schlüsseln, die Stripe-API-Anfragen authentifizieren. Achten Sie auf einen vorsichtigen Umgang mit dem Client-Geheimnis, da mit ihm die Zahlung abgeschlossen werden kann. Es darf nicht protokolliert, in URLs eingebettet oder Personen außer der Kunden/dem Kunden selbst zugänglich gemacht werden.
Weiterleitung verarbeiten
Die folgenden URL-Abfrageparameter werden angegeben, wenn Stripe Kund/innen an die return_ weiterleitet.
| Parameter | Beschreibung |
|---|---|
payment_ | Die eindeutige ID für PaymentIntent. |
payment_ | Das Client-Geheimnis des PaymentIntent-Objekts. |
Bei Angabe der return_ können Sie auch Ihre eigenen Abfrageparameter hinzufügen. Sie bleiben während des gesamten Weiterleitungsvorgangs erhalten. Die return_ sollte einer Seite auf Ihrer Website entsprechen, die den Status der Zahlung angibt. Sie sollten den Status des PaymentIntent beim Rendern der Rückgabeseite überprüfen. Hierfür können Sie die Funktion retrievePaymentIntent von Stripe.js verwenden und im payment_ übergeben.
(async () => { const url = new URL(window.location); const clientSecret = url.searchParams.get('payment_intent_client_secret'); const {paymentIntent, error} = await stripe.retrievePaymentIntent(clientSecret); if (error) { // Handle error } else if (paymentIntent && paymentIntent.status === 'succeeded') { // Handle successful payment } })();
Bankkontodaten
Details zum Bankkonto, mit dem die Kundin/der Kunde die Zahlung durchgeführt hat, finden Sie in der zugehörigen Zahlung unter der Eigenschaft payment_method_details.
{ "charges": { "data": [ { "payment_method_details": { "bancontact": { "bank_code": "VAPE", "bank_name": "VAN DE PUT & CO", "bics": "VAPEBE22", "iban_last4": "7061", "preferred_language": "en", "verified_name": "Jenny Rosen" }, "type": "bancontact" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source",
OptionalEreignisse 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.
Manuelles Bearbeiten von Ereignissen im Dashboard
Verwenden Sie das Dashboard, um Ihre Testzahlungen im Dashboard anzuzeigen, E-Mail-Belege zu senden, Auszahlungen zu bearbeiten oder fehlgeschlagene Zahlungen erneut zu versuchen.
Erstellen eines benutzerdefinierten Webhooks
Erstellen Sie einen benutzerdefinierten Webhook-Handler, um auf Ereignisse zu hören und eigene asynchrone Zahlungsabläufe zu implementieren. Testen und debuggen Sie Ihre Webhook-Integration lokal mit der Stripe CLI.
Integrieren einer vorgefertigten App
Bearbeiten Sie häufige Unternehmensereignisse, wie z. B.Automatisierung oderMarketing und Vertrieb, indem Sie eine Partneranwendung integrieren.
OptionalBancontact-Weiterleitung manuell verarbeiten
Wir empfehlen, die Verarbeitung von Bancontact-Weiterleitungen und -Zahlungen auf Client-Seite mit confirmBancontactPayment Stripe.js zu überlassen. Wenn Sie Stripe.js verwenden, können Sie Ihre Integration um weitere Zahlungsmethoden erweitern. Sie können Ihre Kundinnen/Kunden jedoch mit den folgenden Schritten auch manuell an Ihren Server weiterleiten:
Erstellen und bestätigen Sie eine PaymentIntent vom Typ
bancontact. Sie müssen die Eigenschaftpayment_angeben, die Sie von Ihren Kund/innen erfassen sollten. Beachten Sie, dass durch Angeben vonmethod_ data. billing_ details. name payment_eine PaymentMethod erstellt und sofort für diesen PaymentIntent verwendet wird.method_ data Sie müssen außerdem im Feld
return_die URL angeben, an die Ihre Kund/innen weitergeleitet werden, nachdem sie ihre Zahlung abgeschlossen haben. Sie können optional in dieser URL Ihre eigenen Abfrageparameter übergeben. Diese Parameter sind bei Abschluss des Weiterleitungsablaufs in der endgültigen URL enthalten.url
- Überprüfen Sie, ob der
PaymentIntentden Statusrequires_und obaction next_den Typaction redirect_hat.to_ url
{ "status": "requires_action", "next_action": { "type": "redirect_to_url", "redirect_to_url": { "url": "https://hooks.stripe.com/...", "return_url": "https://example.com/checkout/complete" } }, "id": "pi_1G1sgdKi6xqXeNtkldRRE6HT", "object": "payment_intent", ... }
- Leiten Sie die Kundinnen/Kunden an die in der Eigenschaft
next_angegebene URL weiter. Dieses Codebeispiel ist nur eine Annäherung und kann sich vom Weiterleitungsverfahren in Ihrem Web-Framework unterscheiden.action. redirect_ to_ url. url
Bei Abschluss des Bezahlvorgangs werden Ihre Kundinnen/Kunden zu Ihrer return_ weitergeleitet. Die URL-Abfrageparameter payment_ und payment_ sind zusammen mit Ihren eigenen Abfrageparametern enthalten. Stripe empfiehlt, einen Webhook-Endpoint einzurichten, um den Zahlungsstatus programmgesteuert zu bestätigen.