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
Ihre App öffnet eine payment:// URL mit Parametern
Payment for Stripe startet und verarbeitet die Transaktion
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
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
amount | integer | Ja | Betrag in Cent (z. B. 1000 = 10,00 $) |
currency | string | Nein | Dreistelliger ISO-Währungscode (Standard: die aktuelle Währung der App) |
description | string | Nein | URL-codierte Zahlungsbeschreibung |
customerAlias: customer_id | string | Nein | Vorhandene Stripe-Kunden-ID |
email | string | Nein | Kunden-E-Mail für den Beleg |
name | string | Nein | URL-codierter Kundenname |
metadata | string | Nein | Benutzerdefinierte Schlüssel-Wert-Paare (URL-codiertes JSON) |
callback | string | Nein | URL, zu der nach Abschluss zurückgekehrt werden soll |
autoprocessAlias: auto | boolean | Nein | Startbildschirm überspringen und Zahlung sofort starten |
auto_return | boolean | Nein | Callback 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
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
pricesAlias: line_items | string | Ja | Durch Kommas getrennte Preis-IDs mit Mengen (z. B. price_abc:2,price_xyz:1) |
coupon | string | Nein | Stripe Gutscheincode-ID, die im Warenkorb angewendet werden soll |
customerAlias: customer_id | string | Nein | Vorhandene Stripe-Kunden-ID |
email | string | Nein | Kunden-E-Mail für den Beleg |
name | string | Nein | URL-codierter Kundenname |
metadata | string | Nein | Benutzerdefinierte Schlüssel-Wert-Paare (URL-codiertes JSON) |
callback | string | Nein | URL, zu der nach Abschluss zurückgekehrt werden soll |
autoprocessAlias: auto | boolean | Nein | Startbildschirm überspringen und Zahlung sofort starten |
auto_return | boolean | Nein | Callback 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
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id | string | Ja | Stripe-Rechnungs-ID (muss mit in_ beginnen) |
callback | string | Nein | URL, zu der nach Abschluss zurückgekehrt wird. Erhält bei Erfolg invoice_id und payment_intent_id. |
metadata | string | Nein | Benutzerdefinierte Schlüssel-Wert-Paare (URL-codiertes JSON), die in die PaymentIntent-Metadaten übernommen werden |
autoprocessAlias: auto | boolean | Nein | Startbildschirm überspringen und Zahlung sofort starten |
auto_return | boolean | Nein | Die 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
| Parameter | Werte | Beschreibung |
|---|---|---|
status | success | error | cancelled | Ergebnis der Transaktion |
charge_id | string | Stripe-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_id | string | Stripe Zahlungs-ID (ch_) bei erfolgreicher Ausführung. Nur für Android. |
invoice_id | string | Stripe-Rechnungs-ID (nur im Erfolgsfall, payment://invoice-Ablauf) |
payment_intent_id | string | Stripe PaymentIntent-ID (bei Erfolg). iOS: Nur payment://invoice-Flow. Android: Bei jeder Kartenzahlung. |
error | string | Fehlermeldung (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=1000Zahlung mit Beschreibung
25,00 € mit Beschreibung kassieren
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastryZahlung 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_ABC123xyzZahlung 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%7DAutomatische Verarbeitung mit Callback
Startbildschirm überspringen und nach Abschluss zu Ihrer App zurückkehren
payment://new?amount=3500&autoprocess=true&callback=myapp://payment-completeAutomatische 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-completeWarenkorb 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-paidVollständiges Beispiel
Alle Parameter kombiniert für einen vollständig integrierten Ablauf
payment://new?amount=15000¤cy=usd&description=Service%20Fee&customer=cus_ABC123xyz&metadata=%7B%22invoice%22%3A%22INV-2024-001%22%7D&autoprocess=true&callback=myapp://payment-resultURL-Codierung
Denken Sie daran, Sonderzeichen in Parameterwerten per URL-Encoding zu kodieren. Leerzeichen werden zu %20, geschweifte Klammern zu %7B und %7D.
Bereit zur Integration?
Laden Sie die App herunter und testen Sie noch heute Ihre Integration.