Kratek odgovor: Vaša aplikacija ali spletno mesto odpre URL payment://, Payment for Stripe sprejme plačilo in nato odpre vaš URL za povratni klic z rezultatom. Brez SDK-ja. Brez dela s strežnikom. Deluje enako na iPhoneu in Androidu, z nekaj razlikami, ki so navedene spodaj.
Celotna referenca je na voljo na paymentforstripe.com/api.
Kako deluje
- Vaša aplikacija odpre URL
payment://s parametri. - Payment for Stripe se odpre in nastavi prodajo. Trgovec sprejme plačilo s čitalnikom, Tap to Pay ali vneseno kartico.
- Ko je končano, aplikacija odpre vaš URL
callbackz rezultatom, dodanim kot parametri poizvedbe.
Trgovec mora biti prijavljen. Če povezava prispe med drugim bremenitvijo, jo aplikacija zavrne in vaš povratni klic prejme napako error=charge_in_progress.
Ustvari bremenitev: payment://new
Enkratno plačilo v znesku, ki ga določite.
| Ime | Vrsta | Zahtevano | Opis |
|---|---|---|---|
amount
|
celo število | Da | Znesek v najmanjši enoti valute, večji od 0. 1000 = 10,00 $. |
currency
|
niz | Ne | Tričrkovna koda ISO, na primer usd ali eur. Če jo izpustite, bo aplikacija uporabila valuto, na katero je že nastavljena. |
description
|
niz | Ne | Opis bremenitve. Kodirajte ga v URL. |
customer
|
niz | Ne | Obstoječi ID stranke Stripe ( cus_…). customer_id deluje tudi. Ko je nastavljen, email in name prezreta. |
email
|
niz | Ne | E-poštni naslov stranke. Ustvari novo stranko. |
name
|
niz | Ne | Ime stranke. Kodiranje URL-ja. Ustvari novo stranko. |
metadata
|
niz | Ne | JSON-objekt parov ključ-vrednost, kodiran z URL-jem, dodan plačilu. Veljajo omejitve metapodatkov Stripe. |
callback
|
niz | Ne | URL, ki se odpre po koncu prodaje. |
autoprocess
|
logična vrednost | Ne | true preskoči tipkovnico in takoj začne polnjenje. Privzeto false. |
auto_return
|
logična vrednost | Ne | true odpre povratni klic takoj, ko je rezultat znan. Privzeta vrednost false: povratni klic počaka, da trgovec zapre zaslon z rezultati. |
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastry payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete Povezava z manjkajočim, ničelnim ali neštevilčnim amount se prezre.
Ustvarite račun iz kataloga: payment://cart
Napolni košarico s cenami iz vašega kataloga izdelkov Stripe. Trgovec nato zaračuna kot običajno, prodaja pa se v Stripe shrani kot plačan račun s temi postavkami. Stranki ne pošlje računa po e-pošti.
| Ime | Vrsta | Zahtevano | Opis |
|---|---|---|---|
prices
|
niz | Da | Pari price_id:quantity, ločeni z vejicami, kot je price_abc:2,price_xyz:1. Deluje tudi line_items. |
coupon
|
niz | Ne | ID kupona Stripe, ki ga želite uporabiti v košarici. |
customer
|
niz | Ne | Obstoječi ID stranke Stripe, customer_id, prav tako deluje. |
email
|
niz | Ne | E-poštni naslov stranke. Ustvari novo stranko. |
name
|
niz | Ne | Ime stranke. Kodirajte ga v URL. |
metadata
|
niz | Ne | URL-kodiran objekt JSON parov ključ-vrednost. |
callback
|
niz | Ne | URL, ki se odpre po koncu prodaje. |
autoprocess
|
logična vrednost | Ne | Vrednost true začne bremenitev, ko se naložijo vse cene (in kuponi). |
auto_return
|
logična vrednost | Ne | Enako kot zgoraj. Privzeto false. |
payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com Ne pošiljajte amount s prices. Skupni znesek izhaja iz cen, povezava z obema pa se prezre. Cene, skrite s payment_hidden, tukaj še vedno delujejo.
Plačilo obstoječega računa: plačilo://račun
Osebno pobere plačilo za odprt račun Stripe. Znesek, valuta, stranka in davek so navedeni na računu. V primeru uspešnega plačila aplikacija označi račun kot plačan. Deluje na iPhoneu in Androidu.
| Ime | Vrsta | Zahtevano | Opis |
|---|---|---|---|
id
|
niz | Da | ID računa Stripe. Začeti se mora z in_. Pošlji odprt račun. V napravi iPhone se osnutek najprej dokonča. V napravi Android se osnutek zavrne z error=invoice_state_changed. |
metadata
|
niz | Ne | URL-kodiran objekt JSON, dodan nameri plačila (PaymentIntent). |
callback
|
niz | Ne | URL, ki se odpre po zaključku prodaje. V primeru uspeha pridobi invoice_id in payment_intent_id. |
autoprocess
|
logična vrednost | Ne | Vrednost true začne bremenitev po uspešno opravljenem preverjanju računov, le če je priključen čitalnik kartic. |
auto_return
|
logična vrednost | Ne | Enako kot zgoraj. Privzeto false. |
payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid Račun določa prodajo, zato se za katero koli amount, currency, customer, customer_id, email, name, description, coupon, prices ali line_items povezava zavrne z error=invoice_invalid_param. Zavrnjeni so tudi računi, ki so plačani, nični, neizterljivi, v vrednosti 0 $, vezani na naročnino ali nastavljeni za bremenitev privzetega načina plačila, vsak s svojo napako invoice_….
Povratni klic
Aplikacija doda te elemente vašemu URL-ju za povratni klic:
| Ime | Vrsta | Poslano | Opis |
|---|---|---|---|
status
|
niz | Vedno | success, error ali cancelled. |
charge_id
|
niz | O uspehu | ID plačila. Na iPhonu je to bremenitev Stripe ( ch_…). Na Androidu je to PaymentIntent ( pi_…). |
stripe_charge_id
|
niz | Samo za Android | Naboj Stripe ( ch_…). |
payment_intent_id
|
niz | O uspehu | Namen plačila. iPhone ga pošlje samo za payment://invoice. Android ga pošlje za vsako plačilo s kartico. |
invoice_id
|
niz | Povezave do računov | Plačani račun, za payment://invoice. |
amount
|
celo število | O uspehu | Zaračunani znesek, v najmanjši enoti. |
currency
|
niz | O uspehu | Mala tiskana koda ISO. |
error
|
niz | Ob napaki | Kratka koda, kot je charge_in_progress ali invoice_already_paid, ali berljivo sporočilo za zavrnjeno kartico. |
myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500¤cy=usd&chargeId=ch_3Qx… Potrebujete enak ID na obeh platformah? Najprej preberite stripe_charge_id, nato pa se vrnite na charge_id.
Pri starejših integracijah aplikacija pošlje tudi success=true, chargeId, cancelled=true in error[message]. Nova koda bi morala prebrati status.
Preklic takoj odpre povratni klic. Uspešna ali napaka pri bremenitvi počaka, da trgovec zapre zaslon z rezultati, razen če posredujete auto_return=true. Na iPhonu gotovinska prodaja nikoli ne odpre povratnega klica, ker ni bilo nič zaračunano.
Kodiranje URL-jev
- Kodirajte vsako vrednost, ki vsebuje presledke ali simbole. Presledki postanejo
%20,{in}postaneta%7Bin%7D,"postane%22,:postane%3A. - Če ima vaš URL za povratni klic svoj niz poizvedbe, kodirajte celoten povratni klic, tako da
&element ne razdeli vaše povezavepayment://«. - Vejice in dvopičja v
priceslahko ostanejo takšne, kot so.
Metapodatki {"order_id":"1234","location":"Store A"} postanejo:
payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D Starejši obrazec metadata[order_id]=1234 deluje tudi.