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
- Vaše aplikace otevírá URL adresu
payment://s parametry. - Payment for Stripe se otevře a nastaví prodej. Obchodník přijme platbu čtečkou, Tap to Pay nebo vytištěnou kartou.
- Po dokončení aplikace otevře vaši URL
callbacks 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¤cy=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¤cy=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%7Ba%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áš odkazpayment://. - Čárky a dvojtečky v
pricesmohou 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é.