Přeskočit do hlavního obsahu

Spusťte Payment for Stripe z vaší aplikace (URL schémata)

Stručná odpověď: Vaše aplikace nebo webová stránka otevře URL payment://, Payment for Stripe platbu přijme a poté otevře vaši URL adresu zpětného volání s výsledkem. Žádné SDK. Žádná práce se serverem. Funguje to stejně na iPhonu i Androidu, s několika rozdíly uvedenými níže.

Celý referenční text je k dispozici na adrese paymentforstripe.com/api.

Jak to funguje

  1. Vaše aplikace otevírá URL adresu payment:// s parametry.
  2. Payment for Stripe se otevře a nastaví prodej. Obchodník přijme platbu čtečkou, Tap to Pay nebo vytištěnou kartou.
  3. Po dokončení aplikace otevře vaši URL callback s výsledkem přidaným jako parametry dotazu.

Obchodník musí být přihlášen. Pokud odkaz dorazí během probíhajícího jiného nabíjení, aplikace jej zamítne a vaše zpětné volání dostane error=charge_in_progress.

Vytvořit platbu: payment://new

Jednorázová platba ve vámi stanovené částce.

Jméno Typ Požadovaný Popis
amount celé číslo Ano Částka v nejmenší jednotce měny, větší než 0. 1000 = 10,00 USD.
currency řetězec Žádný Třípísmenný kód ISO, například usd nebo eur. Pokud ho vynecháte, aplikace použije měnu, na kterou je již nastavená.
description řetězec Žádný Popis poplatku. Zakódujte ho do URL.
customer řetězec Žádný Existující ID zákazníka Stripe ( cus_…). customer_id funguje také. Pokud je nastaveno, email a name se ignorují.
email řetězec Žádný E-mail zákazníka. Vytvoří nového zákazníka.
name řetězec Žádný Jméno zákazníka. Zakódujte ho do URL. Vytvoří nového zákazníka.
metadata řetězec Žádný Objekt JSON s kódováním URL, který obsahuje páry klíč-hodnota a je přidaný k platbě. Platí omezení metadat Stripe.
callback řetězec Žádný URL adresa, která se má otevřít po skončení prodeje.
autoprocess booleovská Žádný true přeskočí zadávání klávesnice a ihned spustí nabíjení. Výchozí hodnota false.
auto_return booleovská Žádný Hodnota true otevře zpětné volání, jakmile je výsledek znám. Výchozí hodnota false: zpětné volání čeká, dokud obchodník nezavře obrazovku s výsledky.
 payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry
 payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Odkaz s chybějící, nulovou nebo nečíselnou amount je ignorován.

Vytvořte fakturu z vašeho katalogu: platba://košík

Naplní košík cenami z vašeho katalogu produktů Stripe. Obchodník poté účtuje jako obvykle a prodej se uloží do Stripe jako zaplacená faktura s těmito položkami. Zákazníkovi se faktura e-mailem nezasílá.

Jméno Typ Požadovaný Popis
prices řetězec Ano Fungují také páry price_id:quantity oddělené čárkami, například price_abc:2,price_xyz:1. line_items.
coupon řetězec Žádný ID kupónu Stripe, který se má použít v košíku.
customer řetězec Žádný Existující ID zákazníka Stripe, customer_id, funguje také.
email řetězec Žádný E-mail zákazníka. Vytvoří nového zákazníka.
name řetězec Žádný Jméno zákazníka. Zakódujte ho do URL.
metadata řetězec Žádný Objekt JSON s páry klíč-hodnota kódovaný pomocí URL.
callback řetězec Žádný URL adresa, která se má otevřít po skončení prodeje.
autoprocess booleovská Žádný true spustí nabíjení, jakmile se načtou všechny ceny (a kupóny).
auto_return booleovská Žádný Stejné jako výše. Výchozí hodnota false.
 payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com

Neposílejte amount s prices. Celková částka pochází z cen a odkaz na obě se ignoruje. Ceny skryté pomocí payment_hidden zde stále fungují.

Zaplatit existující fakturu: platba://faktura

Osobně inkasuje platbu za otevřenou fakturu Stripe. Částka, měna, zákazník a daň pocházejí z faktury. V případě úspěchu aplikace označí fakturu jako zaplacenou. Funguje na iPhonu a Androidu.

Jméno Typ Požadovaný Popis
id řetězec Ano ID faktury Stripe. Musí začínat in_. Odeslat otevřenou fakturu. Na iPhonu se nejprve dokončí návrh. Na Androidu se návrh zamítne s error=invoice_state_changed.
metadata řetězec Žádný Objekt JSON s kódováním URL, přidaný do PaymentIntent.
callback řetězec Žádný URL adresa, která se otevře po dokončení prodeje. V případě úspěchu získá invoice_id a payment_intent_id.
autoprocess booleovská Žádný true zahájí nabíjení po úspěšném provedení kontroly faktur, pouze pokud je připojena čtečka karet.
auto_return booleovská Žádný Stejné jako výše. Výchozí hodnota false.
 payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Faktura nastavuje prodej, takže u jakékoli položky s hodnotou amount, currency, customer, customer_id, email, name, description, coupon, prices nebo line_items bude odkaz odmítnut s error=invoice_invalid_param. Faktury, které jsou zaplacené, neplatné, nevymahatelné, v hodnotě 0 $, vázané na předplatné nebo nastavené na inkaso výchozí metody platby, jsou také odmítnuty, každá s vlastní chybou invoice_….

Zpětné volání

Aplikace přidá do vaší adresy URL zpětného volání tyto položky:

Jméno Typ Odesláno Popis
status řetězec Vždy success, error nebo cancelled.
charge_id řetězec O úspěchu ID platby. Na iPhonu je to platba přes Stripe ( ch_…). Na Androidu je to PaymentIntent ( pi_…).
stripe_charge_id řetězec Pouze pro Android Náboj Stripe ( ch_…).
payment_intent_id řetězec O úspěchu PaymentIntent. iPhone jej odesílá pouze pro payment://invoice. Android jej odesílá pro každou platbu kartou.
invoice_id řetězec Odkazy na faktury Zaplacená faktura, pro payment://invoice.
amount celé číslo O úspěchu Účtovaná částka v nejmenší jednotce.
currency řetězec O úspěchu Malý kód ISO.
error řetězec Při chybě Krátký kód, například charge_in_progress nebo invoice_already_paid, nebo čitelná zpráva o zamítnuté kartě.
 myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500&currency=usd&chargeId=ch_3Qx…

Potřebujete stejné ID na obou platformách? Nejprve si přečtěte stripe_charge_id a poté se vraťte k charge_id.

U starších integrací aplikace také odesílá success=true, chargeId, cancelled=true a error[message]. Nový kód by měl mít hodnotu status.

Zrušení okamžitě spustí zpětné volání. Úspěšné nebo chybné provedení platby čeká na zavření obrazovky s výsledky ze strany obchodníka, pokud nepředáte auto_return=true. Na iPhonu prodej v hotovosti nikdy neotevře zpětné volání, protože nebylo nic účtováno.

Kódování URL

  • Zakódujte každou hodnotu, která obsahuje mezery nebo symboly. Mezery se stanou %20, { a } se stanou %7B a %7D, " se stane %22, : se stane %3A.
  • Pokud má vaše adresa URL zpětného volání vlastní řetězec dotazu, zakódujte celou adresu zpětného volání tak, aby její znak & nerozděloval váš odkaz payment://.
  • Čárky a dvojtečky v prices mohou zůstat tak, jak jsou.

Metadata {"order_id":"1234","location":"Store A"} se stanou:

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

Starší formulář metadata[order_id]=1234 funguje také.

Byl pro vás tento článek užitečný?
Počet uživatelů, kteří toto označili za užitečné: 0 z 0