Zahlungen per EPS akzeptieren
So akzeptieren Sie Zahlungen per EPS, einer gängigen Zahlungsmethode in Österreich.
Vorsicht
Der Inhalt dieses Abschnitts bezieht sich auf ein Legacy-Produkt. Verwenden Sie den Leitfaden Zahlungen akzeptieren für den aktuellsten Integrationspfad. Auch wenn Stripe dieses Produkt jetzt noch unterstützt, kann sich dies ändern, wenn das Produkt nicht mehr unterstützt wird.
Bei EPS handelt es sich um eine Zahlungsmethode für die einmalige Nutzung, bei der Kundinnen/Kunden ihre Zahlungen authentifizieren müssen. Bei Zahlungen mit EPS werden Kundinnen/Kunden zur Autorisierung der Zahlung von Ihrer Website weggeleitet und dann wieder auf Ihre Website zurückgeleitet, wo Sie eine sofortige Benachrichtigung über den Erfolg oder das Fehlschlagen der Zahlung erhalten.
Notiz
Bei der Nutzung von EPS gelten die Allgemeinen Geschäftsbedingungen zu EPS.
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:
PaymentIntent erstellenServerseitig
Ein PaymentIntent stellt Ihre Absicht dar, Zahlungen von Kundinnen und Kunden einzuziehen, und dokumentiert den gesamten Zahlungsvorgang.
Erstellen Sie einen PaymentIntent
auf Ihrem Server und geben Sie den einzuziehenden amount
und die Währung eur
an (EPS unterstützt keine anderen Währungen). Wenn Sie über eine bestehende Payment Intents-Integration verfügen, fügen Sie eps
der Liste der Arten von Zahlungsmethoden hinzu.
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.
Angaben zur Zahlungsmethode erfassenClientseitig
Sie können jetzt mit Stripe Elements Zahlungsinformationen auf dem Client erfassen. Elements beinhaltet vorgefertigte Komponenten der Nutzeroberfläche zur Erfassung von Zahlungsdetails.
Ein Stripe Element enthält ein iframe, dass die Zahlungsdaten über eine HTTPS-Verbindung sicher an Stripe sendet. Die Adresse der Bezahlseite muss ebenfalls mit https:// beginnen, nicht mit http://, damit Ihre Integration funktioniert.
Sie können Ihre Integration ohne HTTPS testen. Dann müssen Sie das Protokoll aber aktivieren, bevor Sie Ihre ersten Live-Zahlungen empfangen.
Stripe Elements einrichten
Zahlung an Stripe sendenClientseitig
Anstatt das gesamte PaymentIntent-Objekt an den Client zu senden, wird die Verwendung des Client-Geheimnisses empfohlen. Dies 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 Kundin/dem Kunden selbst zugänglich gemacht werden.
Wenn Ihr Kunde/Ihre Kundin eine Zahlung übermittelt, leitet Stripe ihn an die return_
weiter und fügt die folgenden URL-Abfrageparameter ein. Die Rückgabeseite kann diese nutzen, um den Status des PaymentIntent abzurufen, damit der Kunde/die Kundin den Zahlungsstatus anzeigen kann.
Wenn Sie die return_
angeben, können Sie auch Ihre eigenen Abfrageparameter für die Verwendung auf der Rückgabeseite anhängen.
Parameter | Beschreibung |
---|---|
payment_ | Die eindeutige ID für den PaymentIntent . |
payment_ | Das Client-Geheimnis des PaymentIntent -Objekts. Bei Abonnementintegrationen wird dieses client_secret auch über confirmation_ im Invoice -Objekt sichtbar gemacht |
Wenn Kundinnen und Kunden auf Ihre Seite weitergeleitet werden, können Sie payment_
nutzen, um den PaymentIntent abzufragen und Ihren Kundinnen und Kunden den Transaktionsstatus anzuzeigen.
Details zum Bankkonto, mit dem der/die Nutzer/in die Zahlung abgeschlossen hat, finden Sie in der zugehörigen Abbuchung unter der Eigenschaft payment_method_details.
{ "charges": { "data": [ { "payment_method_details": { "eps": { "bank": "bank_austria", "verified_name": "JENNY ROSEN" }, "type": "eps" }, "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU",
Integration testen
Wählen Sie aus der EPS-Bankliste mit Ihren Test-API-Schlüsseln eine Bank aus. Wenn Sie die Zahlung bestätigt haben, werden Sie zu einer Testseite weitergeleitet, auf der Sie wählen können, ob die Zahlung erfolgreich sein oder fehlschlagen soll. Sie können die erfolgreiche Zahlung testen, indem Sie die Zahlung auf der Weiterleitungsseite autorisieren. Der PaymentIntent wechselt von requires_
zu succeeded
.
Um den Fall zu testen, in dem Nutzer/innen sich nicht authentifizieren können, wählen Sie aus der Liste mit Ihren Test-API-Schlüsseln eine Bank aus. Klicken Sie auf der Weiterleitungsseite auf Testzahlung fehlgeschlagen. Ihr PaymentIntent wechselt von requires_
zu requires_
.
OptionalEreignisse nach Zahlung verarbeitenServerseitig
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.
Ereignisse empfangen und Geschäftsaktionen ausführen
Es gibt mehrere Möglichkeiten, Geschäftsaktionen zu empfangen und auszuführen.
Manuell
Verwenden Sie das Stripe-Dashboard, um alle Stripe-Zahlungen anzuzeigen, Zahlungsbelege per E-Mail zu senden, Auszahlungen abzuwickeln oder fehlgeschlagene Zahlungen erneut durchzufü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.
OptionalÄnderungen am EPS-Bank-Element verarbeitenClientseitig
Das EPS-Bank-Element gibt die von Kund/innen ausgewählt Bank an, wenn sie sich ändert. Um mit dem Wert der Bank eine zusätzliche Logik auszuführen (z. B. für das Feld, das für die Validierung des Formulars erforderlich ist), können Sie nach dem Change-Ereignis Ausschau halten:
Das Change-Ereignis umfasst zusätzliche Parameter, mit denen Sie die Nutzererfahrung weiter optimieren können. Weitere Informationen finden Sie in der Referenz für Stripe.js.
OptionalEPS-Weiterleitung manuell verarbeitenServerseitig
Wir empfehlen, die Verarbeitung von EPS-Weiterleitungen und -Zahlungen mit confirmEpsPayment
Stripe.js zu überlassen. Sie können Kund/innen aber auch manuell weiterleiten. Gehen Sie dazu wie folgt vor:
- Geben Sie die URL an, an die Ihre Kund/innen weitergeleitet werden, sobald die Zahlung abgeschlossen ist.
- Geben Sie optional die Bank an, auf deren Website Ihre Kund/innen zur Autorisierung der Zahlung weitergeleitet werden. Eine Liste der verfügbaren Banken finden Sie im Abschnitt Bankwerte.
- Beim Bestätigen des
PaymentIntent
gilt der Statusrequires_
. Der Typ füraction next_
istaction redirect_
.to_ url
{ "next_action": { "type": "redirect_to_url", "redirect_to_url": { "url": "https://hooks.stripe.com/...", "return_url": "https://example.com/checkout/complete" } }, "charges": { "data": [ { "payment_method_details": { "eps": { "bank": "bank_austria", "verified_name": "JENNY ROSEN"
- Leiten Sie die Kundin/den Kunden an die in der Eigenschaft
next_
angegebene URL weiter.action
const action = intent.next_action; if (action && action.type === 'redirect_to_url') { window.location = action.redirect_to_url.url; }
Bei Abschluss des Bezahlvorgangs werden die Kund/innen an das Ziel return_
weitergeleitet. Die URL-Abfrageparameter payment_
und payment_
sind enthalten und Sie können wie oben beschrieben Ihre eigenen Abfrageparameter übergeben.
OptionalBankeinstellung der Kund/innen speichernClientseitig
Sie können EPS-PaymentMethods nicht wiederverwenden oder für Kund/innen speichern. Jedes Mal, wenn Ihre Kundin/Ihr Kunde diese Zahlungsmethode im Bezahlvorgang auswählt, müssen Sie mit dem EPS-Bank-Element eine neue EPS-PaymentMethod erstellen. Um die Einstellungen Ihrer Kund/innen zu erfassen, speichern Sie diese in Ihrer eigenen Datenbank oder verwenden Sie die metadata
-Eigenschaft im Customer-Objekt.
Sie können das EPS-Bank-Element beim Erstellen des Elements mit der Bankeinstellung des Kunden vorausfüllen:
Bankwerte
Bankname | Wert |
---|---|
Ärzte- und Apothekerbank | arzte_und_apotheker_bank |
Austrian Anadi Bank AG | austrian_anadi_bank_ag |
Bank Austria | bank_austria |
Bankhaus Carl Spängler & Co.AG | bankhaus_carl_spangler |
Bankhaus Schelhammer & Schattera AG | bankhaus_schelhammer_und_schattera_ag |
BAWAG P.S.K. AG | bawag_psk_ag |
BKS Bank AG | bks_bank_ag |
Brüll Kallmus Bank AG | brull_kallmus_bank_ag |
BTV VIER LÄNDER BANK | btv_vier_lander_bank |
Capital Bank Grawe Gruppe AG | capital_bank_grawe_gruppe_ag |
Dolomitenbank | dolomitenbank |
Easybank AG | easybank_ag |
Erste Bank und Sparkassen | erste_bank_und_sparkassen |
Hypo Alpe-Adria-Bank International AG | hypo_alpeadriabank_international_ag |
HYPO NOE LB für Niederösterreich u. Wien | hypo_noe_lb_fur_niederosterreich_u_wien |
HYPO Oberösterreich, Salzburg, Steiermark | hypo_oberosterreich_salzburg_steiermark |
Hypo Tirol Bank AG | hypo_tirol_bank_ag |
Hypo Vorarlberg Bank AG | hypo_vorarlberg_bank_ag |
HYPO-BANK BURGENLAND Aktiengesellschaft | hypo_bank_burgenland_aktiengesellschaft |
Marchfelder Bank | marchfelder_bank |
Oberbank AG | oberbank_ag |
Raiffeisen Bankengruppe Österreich | raiffeisen_bankengruppe_osterreich |
Schoellerbank AG | schoellerbank_ag |
Sparda-Bank Wien | sparda_bank_wien |
Volksbank Gruppe | volksbank_gruppe |
Volkskreditbank AG | volkskreditbank_ag |
VR-Bank Braunau | vr_bank_braunau |