Rövid válasz: Az alkalmazásod vagy webhelyed megnyit egy payment:// URL-t, Payment for Stripe fogadja a fizetést, majd megnyitja a visszahívási URL-t az eredménnyel. Nincs SDK. Nincs szervermunka. iPhone-on és Androidon ugyanúgy működik, néhány különbséggel, amelyeket alább ismertetünk.
A teljes referencia a paymentforstripe.com/api oldalon található.
Hogyan működik
- Az alkalmazásod egy
payment://URL-t nyit meg paraméterekkel. - Megnyílik Payment for Stripe, és beállítja az eladást. A kereskedő elfogadja a fizetést egy kártyaolvasóval, Tap to Pay vagy begépelt kártyával.
- Amikor elkészült, az alkalmazás megnyitja
callbackURL-címet, és a benne lévő eredményt lekérdezési paraméterként adja hozzá.
A kereskedőnek be kell jelentkeznie. Ha egy link érkezik, miközben egy másik terhelés folyamatban van, az alkalmazás elutasítja azt, és a visszahívás error=charge_in_progress kap.
Hozzon létre egy terhelést: payment://new
Egyszeri befizetés az Ön által meghatározott összegre.
| Név | Típus | Kívánt | Leírás |
|---|---|---|---|
amount
|
egész szám | Igen | Az összeg a pénznem legkisebb egységében, 0-nál nagyobb értékben. 1000 = 10,00 USD. |
currency
|
húr | Nem | Hárombetűs ISO-kód, például usd vagy eur. Hagyd ki, és az alkalmazás a már beállított pénznemet fogja használni. |
description
|
húr | Nem | Díj leírása. URL-kódolás. |
customer
|
húr | Nem | Meglévő Stripe ügyfél-azonosító ( cus_…). customer_id is működik. Ha be van állítva, email és name figyelmen kívül marad. |
email
|
húr | Nem | Ügyfél e-mail címe. Létrehoz egy új ügyfelet. |
name
|
húr | Nem | Ügyfél neve. URL-kódolás. Létrehoz egy új ügyfelet. |
metadata
|
húr | Nem | URL-kódolású JSON objektum kulcs-érték párokból, hozzáadva a fizetéshez. Stripe metaadat-korlátai érvényesek. |
callback
|
húr | Nem | Az akció befejezésekor megnyitandó URL. |
autoprocess
|
logikai érték | Nem | true kihagyja a billentyűzetet, és azonnal megkezdi a töltést. Alapértelmezés szerint false. |
auto_return
|
logikai érték | Nem | true a visszahívás azonnal megnyílik, amint az eredmény ismert. Alapértelmezett false érték esetén a visszahívás addig vár, amíg a kereskedő bezárja az eredményképernyőt. |
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastry payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete A hiányzó, nulla vagy nem numerikus amount hivatkozásokat a rendszer figyelmen kívül hagyja.
Hozz létre egy számlát a katalógusodból: payment://cart
A kosarat feltölti a Stripe termékkatalógusod áraival. A kereskedő ezután a szokásos módon számláz, és az eladás kifizetett számlaként kerül mentésre Stripe ban ezekkel a tételsorokkal. Nem küld számlát e-mailben az ügyfélnek.
| Név | Típus | Kívánt | Leírás |
|---|---|---|---|
prices
|
húr | Igen | A vesszővel elválasztott price_id:quantity párok, például price_abc:2,price_xyz:1. line_items is működik. |
coupon
|
húr | Nem | A kosárhoz alkalmazható Stripe kuponazonosító. |
customer
|
húr | Nem | A meglévő Stripe ügyfél-azonosító, customer_id is működik. |
email
|
húr | Nem | Ügyfél e-mail címe. Létrehoz egy új ügyfelet. |
name
|
húr | Nem | Ügyfél neve. URL-kódolás. |
metadata
|
húr | Nem | URL-kódolású JSON-objektum kulcs-érték párokból. |
callback
|
húr | Nem | Az akció befejezésekor megnyitandó URL. |
autoprocess
|
logikai érték | Nem | true hatására a terhelés akkor kezdődik, amikor minden ár (és a kupon) betöltődött. |
auto_return
|
logikai érték | Nem | Ugyanaz, mint fent. Alapértelmezés szerint false. |
payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com Ne küldjön amount prices együtt. Az összeg az árakból származik, és a mindkettőt tartalmazó linket figyelmen kívül hagyja a rendszer. A payment_hidden attribútummal elrejtett árak itt is működnek.
Meglévő számla befizetése: payment://invoice
Személyes befizetést gyűjt egy kiegyenlítetlen Stripe számláról. Az összeg, a pénznem, az ügyfél és az adó mind a számláról származik. Siker esetén az alkalmazás kifizetettként jelöli meg a számlát. iPhone-on és Androidon működik.
| Név | Típus | Kívánt | Leírás |
|---|---|---|---|
id
|
húr | Igen | Stripe számlaazonosító. in_ karakterrel kell kezdődnie. Nyitott számla küldése. iPhone-on a vázlatot véglegesítik először. Androidon a vázlatot elutasítják a következő hibakóddal: error=invoice_state_changed. |
metadata
|
húr | Nem | URL-kódolású JSON objektum, hozzáadva a PaymentIntent-hez. |
callback
|
húr | Nem | Az eladás befejezésekor megnyitandó URL. Sikeres tranzakció esetén lekéri invoice_id és payment_intent_id. |
autoprocess
|
logikai érték | Nem | true a számlaellenőrzések sikeres befejezése után indítja el a terhelést, csak kártyaolvasó csatlakoztatása esetén. |
auto_return
|
logikai érték | Nem | Ugyanaz, mint fent. Alapértelmezés szerint false. |
payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid A számla beállítja az eladást, így amount, currency, customer, customer_id, email, name, description, coupon, prices, vagy line_items bármelyike elutasításra kerül az error=invoice_invalid_param hibával. A kifizetett, érvénytelen, behajthatatlan, 0 dolláros, előfizetéshez kötött vagy alapértelmezett fizetési módra beállított számlák is elutasításra kerülnek, mindegyikhez saját invoice_… hibakód társul.
A visszahívás
Az alkalmazás ezeket hozzáadja a visszahívási URL-hez:
| Név | Típus | Küldött | Leírás |
|---|---|---|---|
status
|
húr | Mindig | success, error vagy cancelled. |
charge_id
|
húr | A sikerről | A fizetés azonosítója. iPhone-on ez a Stripe terhelés ( ch_…). Androidon a PaymentIntent ( pi_…). |
stripe_charge_id
|
húr | Csak Androidon | A Stripe töltés ( ch_…). |
payment_intent_id
|
húr | A sikerről | A PaymentIntent. Az iPhone csak payment://invoice küldi. Az Android minden kártyás fizetéshez elküldi. |
invoice_id
|
húr | Számla linkek | A kifizetett számla, payment://invoice. |
amount
|
egész szám | A sikerről | Felszámított összeg, a legkisebb egységben. |
currency
|
húr | A sikerről | Kisbetűs ISO-kód. |
error
|
húr | Hiba esetén | Egy rövid kód, például charge_in_progress vagy invoice_already_paid, vagy egy olvasható üzenet elutasított kártya esetén. |
myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500¤cy=usd&chargeId=ch_3Qx… Ugyanarra az azonosítóra van szüksége mindkét platformon? Először olvassa el stripe_charge_id, majd térjen vissza charge_id.
Régebbi integrációk esetén az alkalmazás success=true, chargeId, cancelled=true és error[message] értékeket is elküldi. Az új kódnak status kell beolvasnia.
A visszavonás azonnal megnyitja a visszahívást. A terhelés sikeressége vagy hibája esetén a kereskedő bezárja az eredményképernyőt, kivéve, ha átadja auto_return=true paramétert. iPhone-on a készpénzes vásárlás soha nem nyitja meg a visszahívást, mivel semmit sem terheltek meg.
URL-kódolás
- Kódold az összes olyan értéket, amely szóközöket vagy szimbólumokat tartalmaz. A szóközök
%20,{és}%7B,%7D"%22,:pedig%3Alesz. - Ha a visszahívási URL-címednek saját lekérdezési karakterlánca van, kódold a teljes visszahívást úgy, hogy az
&ne bontsa szétpayment://linkedet. -
pricesa vesszők és kettőspontok változatlanok maradhatnak.
{"order_id":"1234","location":"Store A"} metaadat a következő lesz:
payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D A régebbi metadata[order_id]=1234 űrlap is működik.