Skip to content

Entwickler-API

Integrieren und anpassen

Starten Sie Payment for Stripe per URL-Schema aus Ihrer eigenen App oder Website, und steuern Sie direkt im Stripe-Dashboard, welche Produkte in der App erscheinen.

Integration per URL-Schema

So funktioniert es

1

Ihre App öffnet eine payment:// URL mit Parametern

2

Payment for Stripe startet und verarbeitet die Transaktion

3

Nach Abschluss leitet die App mit dem Ergebnis an Ihre Callback-URL weiter

Endpunkte

Eine Zahlung erstellen

payment://new?

Eine einmalige Zahlung mit Betrag, Währung und Beschreibung verarbeiten.

Parameter

NameTypErforderlichBeschreibung
amountintegerJaBetrag in Cent (z. B. 1000 = 10,00 $)
currencystringNeinDreistelliger ISO-Währungscode (Standard: die aktuelle Währung der App)
descriptionstringNeinURL-codierte Zahlungsbeschreibung
customerAlias: customer_idstringNeinVorhandene Stripe-Kunden-ID
emailstringNeinKunden-E-Mail für den Beleg
namestringNeinURL-codierter Kundenname
metadatastringNeinBenutzerdefinierte Schlüssel-Wert-Paare (URL-codiertes JSON)
callbackstringNeinURL, zu der nach Abschluss zurückgekehrt werden soll
autoprocessAlias: autobooleanNeinStartbildschirm überspringen und Zahlung sofort starten
auto_returnbooleanNeinCallback beim Laden des Ergebnisses auslösen, statt zu warten, bis der Händler den Ergebnisdialog schließt. Standardmäßig deaktiviert.

Artikel aus Ihrem Katalog verkaufen

payment://cart?

Legen Sie Preise aus Ihrem Stripe Katalog in den Warenkorb, die Sie persönlich entgegennehmen können. Der Verkauf wird als bezahlte Stripe Rechnung gespeichert. Dem Kunden wird nichts zugesendet.

Parameter

NameTypErforderlichBeschreibung
pricesAlias: line_itemsstringJaDurch Kommas getrennte Preis-IDs mit Mengen (z. B. price_abc:2,price_xyz:1)
couponstringNeinStripe Gutscheincode-ID, die im Warenkorb angewendet werden soll
customerAlias: customer_idstringNeinVorhandene Stripe-Kunden-ID
emailstringNeinKunden-E-Mail für den Beleg
namestringNeinURL-codierter Kundenname
metadatastringNeinBenutzerdefinierte Schlüssel-Wert-Paare (URL-codiertes JSON)
callbackstringNeinURL, zu der nach Abschluss zurückgekehrt werden soll
autoprocessAlias: autobooleanNeinStartbildschirm überspringen und Zahlung sofort starten
auto_returnbooleanNeinCallback beim Laden des Ergebnisses auslösen, statt zu warten, bis der Händler den Ergebnisdialog schließt. Standardmäßig deaktiviert.

Eine bestehende Rechnung bezahlen

payment://invoice?

Eine Zahlung vor Ort wird gegen eine bestehende Stripe Rechnung eingezogen. Betrag, Währung, Kunde und Steuer werden aus der Rechnung übernommen. Änderungen daran werden abgelehnt. Der Händler liest eine Karte per Lesegerät/ Tap to Pay /manueller Eingabe ein. Bei erfolgreicher Zahlung wird die Rechnung als außerbörslich bezahlt markiert und über die Metadaten charge_id und payment_intent_id verknüpft. Rechnungen mit Abonnements, default_payment_method oder dem Status „bezahlt“, „storniert“ oder „uneinbringlich“ werden mit einer entsprechenden Fehlermeldung abgelehnt. Entwurfsrechnungen: iOS finalisiert sie zuerst, Android lehnt sie mit invoice_state_changed ab.

Parameter

NameTypErforderlichBeschreibung
idstringJaStripe-Rechnungs-ID (muss mit in_ beginnen)
callbackstringNeinURL, zu der nach Abschluss zurückgekehrt wird. Erhält bei Erfolg invoice_id und payment_intent_id.
metadatastringNeinBenutzerdefinierte Schlüssel-Wert-Paare (URL-codiertes JSON), die in die PaymentIntent-Metadaten übernommen werden
autoprocessAlias: autobooleanNeinStartbildschirm überspringen und Zahlung sofort starten
auto_returnbooleanNeinDie Callback-Funktion soll beim Laden des Ergebnisses ausgelöst werden, anstatt darauf zu warten, dass der Händler den Ergebnisdialog schließt. Standardmäßig deaktiviert.

Callbacks verarbeiten

Nach Abschluss der Transaktion leitet Payment for Stripe mit Abfrageparametern, die das Ergebnis angeben, an Ihre Callback-URL weiter. Standardmäßig erfolgt die Weiterleitung, nachdem der Händler den Ergebnisdialog geschlossen hat, damit er nach der Zahlung weitere Aktionen ausführen kann (z. B. einen Beleg per E-Mail senden oder erstatten). Mit auto_return=true wird die Weiterleitung ausgelöst, sobald das Ergebnis bekannt ist. Unterstützt unter iOS und Android.

Callback-Parameter

ParameterWerteBeschreibung
statussuccess | error | cancelledErgebnis der Transaktion
charge_idstringStripe-Zahlungs-ID (bei Erfolg). iOS sendet die Zahlungs-ID (ch_). Android sendet die PaymentIntent-ID (pi_) und speichert die Zahlungs-ID in stripe_charge_id.
stripe_charge_idstringStripe Zahlungs-ID (ch_) bei erfolgreicher Ausführung. Nur für Android.
invoice_idstringStripe-Rechnungs-ID (nur im Erfolgsfall, payment://invoice-Ablauf)
payment_intent_idstringStripe PaymentIntent-ID (bei Erfolg). iOS: Nur payment://invoice-Flow. Android: Bei jeder Kartenzahlung.
errorstringFehlermeldung (bei einem Fehler)

Die Zahlung wurde erfasst, die Rechnung konnte jedoch nicht als bezahlt markiert werden: iOS gibt status=error mit charge_id, invoice_id und payment_intent_id zurück. Android gibt status=success mit invoice_reconciliation_failed=true zurück.

Legacy-Felder, die für ältere Integrationen beibehalten werden: success, amount, currency, chargeId, cancelled, error[message]. Neue Integrationen sollten die oben genannten Felder lesen.

Beispiele

Einfache Zahlung

10,00 $ nur mit Betragsangabe kassieren

payment://new?amount=1000

Zahlung mit Beschreibung

25,00 € mit Beschreibung kassieren

payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry

Zahlung mit neuem Kunden

50,00 $ kassieren und einen Kundendatensatz anlegen

payment://new?amount=5000&name=John%20Smith&[email protected]

Bei bestehendem Kunden kassieren

75,00 $ bei einem bestehenden Stripe-Kunden kassieren

payment://new?amount=7500&customer=cus_ABC123xyz

Zahlung mit Metadaten

100,00 $ mit eigenen Metadaten für Ihre Unterlagen kassieren

payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D

Automatische Verarbeitung mit Callback

Startbildschirm überspringen und nach Abschluss zu Ihrer App zurückkehren

payment://new?amount=3500&autoprocess=true&callback=myapp://payment-complete

Automatische Rückkehr mit Ergebnis

Callback auslösen, sobald das Ergebnis bekannt ist, statt zu warten, bis der Händler den Ergebnisdialog schließt

payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Warenkorb mit Positionen

Berechnen Sie die Kosten für Produkte aus Ihrem Stripe Katalog.

payment://cart?prices=price_coffee:2,price_muffin:1&[email protected]

Eine bestehende Rechnung bezahlen

Zahlung vor Ort für eine bestehende Stripe-Rechnung annehmen. Gibt bei Erfolg invoice_id und payment_intent_id zurück.

payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Vollständiges Beispiel

Alle Parameter kombiniert für einen vollständig integrierten Ablauf

payment://new?amount=15000&currency=usd&description=Service%20Fee&customer=cus_ABC123xyz&metadata=%7B%22invoice%22%3A%22INV-2024-001%22%7D&autoprocess=true&callback=myapp://payment-result

URL-Codierung

Denken Sie daran, Sonderzeichen in Parameterwerten per URL-Encoding zu kodieren. Leerzeichen werden zu %20, geschweifte Klammern zu %7B und %7D.

Produkte per Metadaten ausblenden

Produkte in der App ausblenden

Die App listet die Produkte und Preise aus Ihrem Stripe-Konto auf. Um eines aus der App fernzuhalten (zum Beispiel Artikel, die nur über Ihren Onlineshop verkauft werden), fügen Sie dem Produkt oder Preis im Stripe-Dashboard diesen Metadaten-Schlüssel hinzu:

payment_hidden = true

Bei einem Produkt: blendet das Produkt und alle zugehörigen Preise aus.

Bei einem Preis: blendet nur diesen Preis aus.

Entfernen Sie den Schlüssel oder setzen Sie ihn auf false, um es wieder anzuzeigen. Änderungen gelten beim nächsten Laden Ihrer Produktliste in der App.

Warenkorb-Links funktionieren weiterhin

Das Ausblenden betrifft nur die Produktliste in der App. payment://cart-URLs, die auf einen ausgeblendeten Preis verweisen, funktionieren weiterhin, und bestehende Abonnements sind nicht betroffen.

Bereit zur Integration?

Laden Sie die App herunter und testen Sie noch heute Ihre Integration.