Zum Hauptinhalt gehen

Starten Sie Payment for Stripe direkt in Ihrer App (URL-Schemas).

Kurz gesagt: Ihre App oder Website öffnet eine payment:// URL, Payment for Stripe verarbeitet die Zahlung und öffnet anschließend Ihre Callback-URL mit dem Ergebnis. Kein SDK. Keine Serverkonfiguration. Funktioniert auf iPhone und Android identisch, mit einigen unten aufgeführten Unterschieden.

Die vollständige Referenz finden Sie unter paymentforstripe.com/api.

So funktioniert es

  1. Ihre App öffnet eine payment:// -URL mit Parametern.
  2. Payment for Stripe wird gestartet und der Verkauf eingerichtet. Der Händler nimmt die Zahlung mit einem Lesegerät, Tap to Pay oder per Karte entgegen.
  3. Wenn der Vorgang abgeschlossen ist, öffnet die App Ihre callback URL, wobei das Ergebnis als Abfrageparameter hinzugefügt wird.

Der Händler muss angemeldet sein. Wenn ein Link eingeht, während eine andere Zahlung ausgeführt wird, lehnt die App ihn ab und Ihr Callback gibt error=charge_in_progress zurück.

Eine Zahlung erstellen: payment://new

Eine einmalige Zahlung in einer von Ihnen festgelegten Höhe.

Name Typ Erforderlich Beschreibung
amount ganze Zahl Ja Betrag in der kleinsten Währungseinheit, größer als 0. 1000 = 10,00 $.
currency Zeichenkette NEIN Dreistelliger ISO-Code, z. B. usd oder eur. Lässt man ihn weg, verwendet die App die bereits eingestellte Währung.
description Zeichenkette NEIN Gebührenbeschreibung. URL-codieren.
customer Zeichenkette NEIN Eine bestehende Stripe Kunden-ID ( cus_…) funktioniert ebenfalls. Die Kunden email name customer_id) wird ignoriert, sofern sie angegeben ist.
email Zeichenkette NEIN Kunden-E-Mail. Erstellt einen neuen Kunden.
name Zeichenkette NEIN Kundenname. URL-codieren. Erstellt einen neuen Kunden.
metadata Zeichenkette NEIN URL-codiertes JSON-Objekt mit Schlüssel-Wert-Paaren, das der Zahlung hinzugefügt wurde. Es gelten die Metadatenbeschränkungen von Stripe.
callback Zeichenkette NEIN URL, die nach Ende des Verkaufs geöffnet werden soll.
autoprocess boolescher Wert NEIN true überspringt die Tastatur und startet den Ladevorgang sofort. Standardmäßig false.
auto_return boolescher Wert NEIN true aktiviert den Callback, sobald das Ergebnis bekannt ist. Standardwert: false: Der Callback wartet, bis der Händler die Ergebnisseite schließt.
 payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry
 payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Ein Link mit einem fehlenden, nullwertigen oder nicht-numerischen amount wird ignoriert.

Erstellen Sie eine Rechnung aus Ihrem Katalog: payment://cart

Der Warenkorb wird mit Preisen aus Ihrem Stripe-Produktkatalog befüllt. Der Händler bucht den Betrag wie gewohnt ab, und der Verkauf wird in Stripe als bezahlte Rechnung mit diesen Positionen gespeichert. Es wird keine Rechnung per E-Mail an Ihren Kunden versendet.

Name Typ Erforderlich Beschreibung
prices Zeichenkette Ja Durch Kommas getrennte price_id:quantity Paare, wie z. B. price_abc:2,price_xyz:1. Auch line_items funktionieren.
coupon Zeichenkette NEIN Stripe Gutscheincode-ID, die im Warenkorb angewendet werden soll.
customer Zeichenkette NEIN Vorhandene Stripe Kunden-ID. customer_id funktioniert auch.
email Zeichenkette NEIN Kunden-E-Mail. Erstellt einen neuen Kunden.
name Zeichenkette NEIN Kundenname. URL-codieren.
metadata Zeichenkette NEIN URL-codiertes JSON-Objekt mit Schlüssel-Wert-Paaren.
callback Zeichenkette NEIN URL, die nach Ende des Verkaufs geöffnet werden soll.
autoprocess boolescher Wert NEIN Die true beginnt erst, wenn alle Preise (und der Coupon) geladen sind.
auto_return boolescher Wert NEIN Gleiches gilt wie oben. Standardmäßig false.
 payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com

Senden Sie keinen amount zusammen mit prices. Der Gesamtbetrag ergibt sich aus den Preisen, und ein Link, der beides enthält, wird ignoriert. Mit payment_hidden ausgeblendete Preise funktionieren hier weiterhin.

Eine bestehende Rechnung bezahlen: Zahlung://Rechnung

Akzeptiert Zahlungen vor Ort für offene Stripe Rechnungen. Betrag, Währung, Kunde und Steuer werden der Rechnung entnommen. Bei erfolgreicher Zahlung markiert die App die Rechnung als bezahlt. Funktioniert auf iPhone und Android.

Name Typ Erforderlich Beschreibung
id Zeichenkette Ja Stripe Rechnungs-ID. Muss mit in_ beginnen. Senden Sie eine offene Rechnung. Auf dem iPhone wird zuerst ein Entwurf abgeschlossen. Auf Android wird ein Entwurf mit error=invoice_state_changed abgelehnt.
metadata Zeichenkette NEIN URL-codiertes JSON-Objekt, das dem PaymentIntent hinzugefügt wurde.
callback Zeichenkette NEIN URL, die nach Abschluss des Verkaufs geöffnet wird. Ruft bei Erfolg invoice_id und payment_intent_id ab.
autoprocess boolescher Wert NEIN Die Abbuchung true erst, nachdem die Rechnungsprüfung erfolgreich war und ein Kartenlesegerät angeschlossen ist.
auto_return boolescher Wert NEIN Gleiches gilt wie oben. Standardmäßig false.
 payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Die Rechnung legt den Verkauf fest. Daher wird der Link für alle Felder wie amount, currency, customer, customer_id, email, name, description, coupon, prices oder line_items mit error=invoice_invalid_param abgelehnt. Auch bezahlte, stornierte, uneinbringliche Rechnungen, Rechnungen mit dem Wert 0 €, Rechnungen, die mit einem Abonnement verknüpft sind oder eine Standardzahlungsmethode verwenden, werden abgelehnt – jeweils mit einem eigenen invoice_… -Fehler.

Der Rückruf

Die App fügt diese Ihrer Callback-URL hinzu:

Name Typ Gesendet Beschreibung
status Zeichenkette Stets success, error oder cancelled.
charge_id Zeichenkette Zum Erfolg Die Zahlungs-ID. Auf dem iPhone ist es die Stripe-Zahlungsnummer ( ch_…). Auf Android ist es der PaymentIntent ( pi_…).
stripe_charge_id Zeichenkette Nur für Android Die Stripe-Gebühr ( ch_…).
payment_intent_id Zeichenkette Zum Erfolg Die PaymentIntent. iPhones senden sie nur für payment://invoice. Android sendet sie bei jeder Kartenzahlung.
invoice_id Zeichenkette Rechnungslinks Die bezahlte Rechnung, für payment://invoice.
amount ganze Zahl Zum Erfolg Berechneter Betrag in der kleinsten Einheit.
currency Zeichenkette Zum Erfolg ISO-Code in Kleinbuchstaben.
error Zeichenkette Im Fehler Ein kurzer Code wie charge_in_progress oder invoice_already_paid oder eine lesbare Meldung für eine abgelehnte Karte.
 myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500&currency=usd&chargeId=ch_3Qx…

Benötigen Sie dieselbe ID auf beiden Plattformen? Lesen Sie zuerst stripe_charge_id und verwenden Sie dann charge_id als Fallback.

Bei älteren Integrationen sendet die App außerdem success=true, chargeId, cancelled=true und error[message]. Neuer Code sollte status auslesen.

Eine Stornierung löst sofort den Rückruf aus. Bei einer erfolgreichen oder fehlgeschlagenen Zahlung wartet der Händler, bis er die Ergebnisseite schließt, es sei denn, Sie übergeben auto_return=true. Auf dem iPhone löst ein Barverkauf niemals den Rückruf aus, da keine Zahlung erfolgte.

URL-Codierung

  • Jeder Wert, der Leerzeichen oder Symbole enthält, wird kodiert. Leerzeichen werden zu %20, { und } zu %7B und %7D, " wird zu %22, : wird zu %3A.
  • Wenn Ihre Callback-URL eine eigene Abfragezeichenfolge hat, kodieren Sie die gesamte Callback-URL, damit das & Ihren payment:// Link nicht trennt.
  • Die Kommas und Doppelpunkte in prices können so bleiben, wie sie sind.

Die Metadaten {"order_id":"1234","location":"Store A"} werden zu:

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

Die ältere Form metadata[order_id]=1234 funktioniert auch.

War dieser Beitrag hilfreich?
0 von 0 fanden dies hilfreich