Kratak odgovor: Vaša aplikacija ili web stranica otvara URL payment://, Payment for Stripe prima plaćanje, a zatim otvara vaš URL povratnog poziva s rezultatom. Nema SDK-a. Nema rada poslužitelja. Radi isto na iPhoneu i Androidu, uz nekoliko razlika navedenih u nastavku.
Cijeli popis referenci nalazi se na paymentforstripe.com/api.
Kako funkcionira
- Vaša aplikacija otvara URL
payment://s parametrima. - Payment for Stripe otvara i postavlja prodaju. Trgovac prima plaćanje čitačem, Tap to Pay ili unesenom karticom.
- Kada je gotovo, aplikacija otvara vaš URL
callbacks rezultatom dodanim kao parametrima upita.
Trgovac mora biti prijavljen. Ako veza stigne dok je u tijeku druga naplata, aplikacija je odbija, a vaš povratni poziv dobiva error=charge_in_progress.
Kreiraj naplatu: plaćanje://novo
Jednokratno plaćanje iznosa koji odredite.
| Ime | Tip | Potreban | Opis |
|---|---|---|---|
amount
|
cijeli broj | Da | Iznos u najmanjoj jedinici valute, veći od 0. 1000 = 10,00 USD. |
currency
|
niz | Ne | Troslovni ISO kod, poput usd ili eur. Ako ga izostavite, aplikacija će koristiti valutu na koju je već postavljena. |
description
|
niz | Ne | Opis naplate. Kodirajte ga URL-om. |
customer
|
niz | Ne | Postojeći Stripe ID korisnika ( cus_…). customer_id također funkcionira. Kada je postavljen, email i name se zanemaruju. |
email
|
niz | Ne | E-pošta kupca. Stvara novog kupca. |
name
|
niz | Ne | Ime kupca. Kodirajte ga URL-om. Stvara novog kupca. |
metadata
|
niz | Ne | URL-kodirani JSON objekt parova ključ-vrijednost, dodan plaćanju. Primjenjuju se ograničenja metapodataka Stripe-a. |
callback
|
niz | Ne | URL koji će se otvoriti nakon završetka prodaje. |
autoprocess
|
logička vrijednost | Ne | true preskače tipkovnicu i odmah pokreće punjenje. Zadano false. |
auto_return
|
logička vrijednost | Ne | true otvara povratni poziv čim rezultat postane poznat. Zadana vrijednost false: povratni poziv čeka dok trgovac ne zatvori zaslon s rezultatima. |
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastry payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete Veza s nedostajućim, nultim ili nenumeričkim amount se zanemaruje.
Izradite račun iz svog kataloga: plaćanje://košarica
Puni košaricu cijenama iz vašeg Stripe kataloga proizvoda. Trgovac zatim naplaćuje kao i obično, a prodaja se sprema u Stripe kao plaćeni račun s tim stavkama. Ne šalje račun e-poštom vašem kupcu.
| Ime | Tip | Potreban | Opis |
|---|---|---|---|
prices
|
niz | Da | Parovi price_id:quantity odvojeni zarezima, kao što je price_abc:2,price_xyz:1. line_items također funkcionira. |
coupon
|
niz | Ne | ID kupona Stripe koji se primjenjuje na košaricu. |
customer
|
niz | Ne | Postojeći Stripe ID korisnika. customer_id također funkcionira. |
email
|
niz | Ne | E-pošta kupca. Stvara novog kupca. |
name
|
niz | Ne | Ime kupca. Kodirajte ga URL-om. |
metadata
|
niz | Ne | URL-kodirani JSON objekt parova ključ-vrijednost. |
callback
|
niz | Ne | URL koji će se otvoriti nakon završetka prodaje. |
autoprocess
|
logička vrijednost | Ne | true pokreće naplatu nakon što se učita svaka cijena (i kupon). |
auto_return
|
logička vrijednost | Ne | Isto kao gore. Zadana vrijednost false. |
payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com Nemojte slati amount s prices. Ukupan iznos dolazi iz cijena, a veza s oboje se zanemaruje. Cijene skrivene s payment_hidden i dalje ovdje rade.
Platite postojeći račun: plaćanje://račun
Naplaćuje osobno za otvoreni Stripe račun. Iznos, valuta, kupac i porez potječu s računa. U slučaju uspjeha, aplikacija označava račun plaćenim. Radi na iPhoneu i Androidu.
| Ime | Tip | Potreban | Opis |
|---|---|---|---|
id
|
niz | Da | ID Stripe fakture. Mora počinjati s in_. Pošalji otvorenu fakturu. Na iPhoneu se prvo finalizira nacrt. Na Androidu se nacrt odbija s error=invoice_state_changed. |
metadata
|
niz | Ne | JSON objekt kodiran URL-om, dodan u PaymentIntent. |
callback
|
niz | Ne | URL koji će se otvoriti nakon završetka prodaje. U slučaju uspjeha dobiva invoice_id i payment_intent_id. |
autoprocess
|
logička vrijednost | Ne | true pokreće naplatu nakon što prođe provjera računa, samo kada je spojen čitač kartica. |
auto_return
|
logička vrijednost | Ne | Isto kao gore. Zadana vrijednost false. |
payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid Faktura postavlja prodaju, tako da bilo koji od sljedećih vrijednosti: amount, currency, customer, customer_id, email, name, description, coupon, prices ili line_items dobiva vezu odbijenu s error=invoice_invalid_param. Fakture koje su plaćene, nevažeće, nenaplative, iznose 0 USD, vezane uz pretplatu ili su postavljene za naplatu zadanog načina plaćanja također se odbijaju, svaka sa svojom vlastitom greškom invoice_….
Povratni poziv
Aplikacija dodaje sljedeće vašem URL-u za povratni poziv:
| Ime | Tip | Poslano | Opis |
|---|---|---|---|
status
|
niz | Uvijek | success, error ili cancelled. |
charge_id
|
niz | O uspjehu | ID plaćanja. Na iPhoneu je to Stripe naplata ( ch_…). Na Androidu je to PaymentIntent ( pi_…). |
stripe_charge_id
|
niz | Samo za Android | Naboj Stripe ( ch_…). |
payment_intent_id
|
niz | O uspjehu | Namjera plaćanja. iPhone ga šalje samo za payment://invoice. Android ga šalje za svako plaćanje karticom. |
invoice_id
|
niz | Veze na fakture | Plaćeni račun, za payment://invoice. |
amount
|
cijeli broj | O uspjehu | Naplaćeni iznos, u najmanjoj jedinici. |
currency
|
niz | O uspjehu | Malim slovom ISO kod. |
error
|
niz | U slučaju pogreške | Kratki kod poput charge_in_progress ili invoice_already_paid ili čitljiva poruka za odbijenu karticu. |
myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500¤cy=usd&chargeId=ch_3Qx… Trebate isti ID na obje platforme? Prvo pročitajte stripe_charge_id, a zatim se vratite na charge_id.
Za starije integracije, aplikacija također šalje success=true, chargeId, cancelled=true i error[message]. Novi kod bi trebao čitati status.
Otkazivanje odmah otvara povratni poziv. Uspješna ili pogreška naplate čeka da trgovac zatvori zaslon s rezultatima, osim ako ne proslijedite auto_return=true. Na iPhoneu, prodaja gotovinom nikada ne otvara povratni poziv jer ništa nije naplaćeno.
Kodiranje URL-a
- Kodirajte svaku vrijednost koja sadrži razmake ili simbole. Razmaci postaju
%20,{i}postaju%7Bi%7D,"postaje%22,:postaje%3A. - Ako vaš URL povratnog poziva ima vlastiti niz upita, kodirajte cijeli povratni poziv tako da "
&ne dijeli vašu vezupayment://. - Zarezi i dvotočke u
pricesmogu ostati kakvi jesu.
Metapodaci {"order_id":"1234","location":"Store A"} postaju:
payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D Stariji obrazac metadata[order_id]=1234 također funkcionira.