Stručná odpoveď: Vaša aplikácia alebo webová stránka otvorí URL adresu payment://, Payment for Stripe prijme platbu a potom otvorí vašu URL adresu spätného volania s výsledkom. Žiadne SDK. Žiadna práca so serverom. Funguje to rovnako na iPhone aj Androide, s niekoľkými rozdielmi uvedenými nižšie.
Celý referenčný dokument je k dispozícii na stránke paymentforstripe.com/api.
Ako to funguje
- Vaša aplikácia otvorí URL adresu
payment://s parametrami. - Payment for Stripe sa otvorí a nastaví predaj. Obchodník prijme platbu čítačkou, Tap to Pay alebo napísanou kartou.
- Keď je to hotové, aplikácia otvorí vašu URL adresu
callbacks výsledkom pridaným ako parametre dopytu.
Obchodník musí byť prihlásený. Ak odkaz príde počas prebiehajúceho iného poplatku, aplikácia ho zamietne a vaše spätné volanie dostane error=charge_in_progress.
Vytvoriť poplatok: platba://nová
Jednorazová platba vo vami stanovenej sume.
| Meno | Typ | Povinné | Popis |
|---|---|---|---|
amount
|
celé číslo | Áno | Suma v najmenšej jednotke meny, väčšia ako 0. 1000 = 10,00 USD. |
currency
|
reťazec | Nie | Trojpísmenový kód ISO, napríklad usd alebo eur. Ak ho vynecháte, aplikácia použije menu, na ktorú je už nastavená. |
description
|
reťazec | Nie | Popis poplatku. Zakódujte ho do URL adresy. |
customer
|
reťazec | Nie | Existujúce ID zákazníka Stripe ( cus_…). Funguje aj customer_id. Ak je nastavené, email a name sa ignorujú. |
email
|
reťazec | Nie | E-mail zákazníka. Vytvorí nového zákazníka. |
name
|
reťazec | Nie | Meno zákazníka. Zakódujte ho do URL adresy. Vytvorí nového zákazníka. |
metadata
|
reťazec | Nie | Objekt JSON s kódovaním URL z párov kľúč-hodnota, pridaný k platbe. Platia obmedzenia metadát služby Stripe. |
callback
|
reťazec | Nie | URL adresa, ktorá sa otvorí po skončení predaja. |
autoprocess
|
boolovská hodnota | Nie | true preskočí klávesnicu a ihneď spustí nabíjanie. Predvolená hodnota false. |
auto_return
|
boolovská hodnota | Nie | true otvorí spätné volanie hneď, ako je výsledok známy. Predvolená hodnota false: spätné volanie čaká, kým obchodník nezatvorí obrazovku s výsledkami. |
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastry payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete Prepojenie s chýbajúcou, nulovou alebo nečíselnou amount sa ignoruje.
Vytvorte faktúru z vášho katalógu: platba://košík
Naplní košík cenami z vášho katalógu produktov Stripe. Obchodník potom účtuje ako obvykle a predaj sa uloží do Stripe ako zaplatená faktúra s týmito položkami. Zákazníkovi sa faktúra e-mailom neodošle.
| Meno | Typ | Povinné | Popis |
|---|---|---|---|
prices
|
reťazec | Áno | Páry price_id:quantity oddelené čiarkami, ako napríklad price_abc:2,price_xyz:1. Funguje aj line_items. |
coupon
|
reťazec | Nie | ID kupónu Stripe, ktorý sa má použiť v košíku. |
customer
|
reťazec | Nie | Funguje aj existujúce ID zákazníka Stripe, customer_id. |
email
|
reťazec | Nie | E-mail zákazníka. Vytvorí nového zákazníka. |
name
|
reťazec | Nie | Meno zákazníka. Zakódujte ho do URL adresy. |
metadata
|
reťazec | Nie | Objekt JSON s pármi kľúč-hodnota kódovaný pomocou URL. |
callback
|
reťazec | Nie | URL adresa, ktorá sa otvorí po skončení predaja. |
autoprocess
|
boolovská hodnota | Nie | Hodnota true spustí účtovanie po načítaní každej ceny (a kupónu). |
auto_return
|
boolovská hodnota | Nie | Rovnaké ako vyššie. Predvolená hodnota false. |
payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com Neposielajte amount s prices. Celková suma pochádza z cien a prepojenie s oboma sa ignoruje. Ceny skryté pomocou payment_hidden tu stále fungujú.
Zaplatiť existujúcu faktúru: platba://faktúra
Osobne vyberie platbu za otvorenú faktúru Stripe. Suma, mena, zákazník a daň pochádzajú z faktúry. V prípade úspechu aplikácia označí faktúru ako zaplatenú. Funguje na iPhone a Androide.
| Meno | Typ | Povinné | Popis |
|---|---|---|---|
id
|
reťazec | Áno | ID faktúry Stripe. Musí začínať znakom in_. Odoslať otvorenú faktúru. V iPhone sa najprv finalizuje koncept. V systéme Android sa koncept zamietne s error=invoice_state_changed. |
metadata
|
reťazec | Nie | Objekt JSON s kódovaním URL, pridaný do PaymentIntent. |
callback
|
reťazec | Nie | URL adresa, ktorá sa otvorí po ukončení predaja. V prípade úspechu získa invoice_id a payment_intent_id. |
autoprocess
|
boolovská hodnota | Nie | true spustí účtovanie po úspešnom overení faktúry, iba ak je pripojená čítačka kariet. |
auto_return
|
boolovská hodnota | Nie | Rovnaké ako vyššie. Predvolená hodnota false. |
payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid Faktúra nastavuje predaj, takže pre ktorúkoľvek z položiek s amount, currency, customer, customer_id, email, name, description, coupon, prices alebo line_items bude odkaz zamietnutý s error=invoice_invalid_param. Faktúry, ktoré sú zaplatené, neplatné, nevymáhateľné, v hodnote 0 USD, viazané na predplatné alebo nastavené na účtovanie predvoleným spôsobom platby, sú tiež zamietnuté, každá s vlastnou chybou invoice_….
Spätné volanie
Aplikácia pridá do vašej URL adresy spätného volania tieto:
| Meno | Typ | Odoslané | Popis |
|---|---|---|---|
status
|
reťazec | Vždy | success, error alebo cancelled. |
charge_id
|
reťazec | O úspechu | ID platby. Na iPhone je to platba cez Stripe ( ch_…). Na Androide je to PaymentIntent ( pi_…). |
stripe_charge_id
|
reťazec | Iba pre Android | Poplatok Stripe ( ch_…). |
payment_intent_id
|
reťazec | O úspechu | PaymentIntent. iPhone ho odosiela iba pre payment://invoice. Android ho odosiela pre každú platbu kartou. |
invoice_id
|
reťazec | Odkazy na faktúry | Zaplatená faktúra, pre payment://invoice. |
amount
|
celé číslo | O úspechu | Účtovaná suma v najmenšej jednotke. |
currency
|
reťazec | O úspechu | Malé písmená kódu ISO. |
error
|
reťazec | Pri chybe | Krátky kód ako charge_in_progress alebo invoice_already_paid, alebo čitateľná správa o zamietnutej karte. |
myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500¤cy=usd&chargeId=ch_3Qx… Potrebujete rovnaké ID na oboch platformách? Najprv si prečítajte stripe_charge_id a potom sa vráťte k charge_id.
V prípade starších integrácií aplikácia odosiela aj success=true, chargeId, cancelled=true a error[message]. Nový kód by mal mať hodnotu status.
Zrušenie otvorí spätné volanie okamžite. Úspešné alebo chybné naúčtovanie čaká na zatvorenie obrazovky s výsledkami obchodníkom, pokiaľ nezadáte auto_return=true. Na iPhone sa pri platbe v hotovosti spätné volanie nikdy neotvorí, pretože nebolo nič naúčtované.
Kódovanie URL adresy
- Zakódujte každú hodnotu, ktorá obsahuje medzery alebo symboly. Medzery sa stanú
%20,{a}sa stanú%7Ba%7D,"sa stane%22,:sa stane%3A. - Ak má vaša URL adresa spätného volania vlastný reťazec dopytu, zakódujte celé spätné volanie tak, aby jeho parameter
&nerozdeľoval váš odkazpayment://. - Čiarky a dvojbodky v
pricesmôžu zostať tak, ako sú.
Metadáta {"order_id":"1234","location":"Store A"} sa stanú:
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ár metadata[order_id]=1234 tiež funguje.