Kort svar: Appen eller nettstedet ditt åpner en payment:// -URL. Payment for Stripe tar imot betalingen og åpner deretter tilbakeringings-URL-en din med resultatet. Ingen SDK. Ingen serverarbeid. Det fungerer på samme måte på iPhone og Android, med noen få forskjeller som er nevnt nedenfor.
Den fullstendige referansen finnes på paymentforstripe.com/api.
Hvordan det fungerer
- Appen din åpner en
payment://-URL med parametere. - Payment for Stripe åpnes og salget settes opp. Selgeren tar imot betalingen med en kortleser, Tap to Pay kort eller et maskinskrevet kort.
- Når det er ferdig, åpner appen
callback-URL-en din med resultatet lagt til som spørreparametere.
Selgeren må være logget på. Hvis en lenke mottas mens en annen betaling pågår, avviser appen den, og tilbakekallingen din får meldingen error=charge_in_progress.
Opprett en belastning: betaling://ny
En engangsbetaling for et beløp du angir.
| Navn | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
amount
|
heltall | Ja | Beløp i valutaens minste enhet, større enn 0. 1000 = $10,00. |
currency
|
streng | Ingen | ISO-kode på tre bokstaver, som usd eller eur. Hvis du utelater den, bruker appen valutaen den allerede er satt til. |
description
|
streng | Ingen | Beskrivelse av belastning. URL-kode den. |
customer
|
streng | Ingen | Eksisterende Stripe kunde-ID ( cus_…). customer_id fungerer også. Når det er angitt, ignoreres email og name. |
email
|
streng | Ingen | Kundens e-postadresse. Oppretter en ny kunde. |
name
|
streng | Ingen | Kundenavn. URL-koder det. Oppretter en ny kunde. |
metadata
|
streng | Ingen | URL-kodet JSON-objekt med nøkkel-verdi-par, lagt til betalingen. Stripe metadatabegrensninger gjelder. |
callback
|
streng | Ingen | URL som skal åpnes når salget er ferdig. |
autoprocess
|
boolsk | Ingen | true hopper over tastaturet og starter ladingen med en gang. Standard false. |
auto_return
|
boolsk | Ingen | true åpner tilbakeringingen så snart resultatet er kjent. Standard false: tilbakeringingen venter til selgeren lukker resultatskjermen. |
payment://new?amount=2500¤cy=eur&description=Coffee%20and%20pastry payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete En lenke med manglende, null eller ikke-numerisk amount ignoreres.
Opprett en faktura fra katalogen din: payment://cart
Fyller handlekurven med priser fra Stripe-produktkatalogen din. Selgeren fakturerer deretter som vanlig, og salget lagres i Stripe som en betalt faktura med disse linjeelementene. Den sender ikke en faktura til kunden din via e-post.
| Navn | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
prices
|
streng | Ja | Kommaseparerte price_id:quantity, som price_abc:2,price_xyz:1. line_items fungerer også. |
coupon
|
streng | Ingen | Stripe kupong-ID som skal brukes i handlekurven. |
customer
|
streng | Ingen | Eksisterende Stripe kunde-ID, customer_id fungerer også. |
email
|
streng | Ingen | Kundens e-postadresse. Oppretter en ny kunde. |
name
|
streng | Ingen | Kundenavn. URL-kode det. |
metadata
|
streng | Ingen | URL-kodet JSON-objekt av nøkkel-verdi-par. |
callback
|
streng | Ingen | URL som skal åpnes når salget er ferdig. |
autoprocess
|
boolsk | Ingen | true starter betalingen når alle prisene (og kupongen) er lastet inn. |
auto_return
|
boolsk | Ingen | Samme som ovenfor. Standard false. |
payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com Ikke send amount med prices. Totalen kommer fra prisene, og en lenke med begge ignoreres. Priser skjult med payment_hidden fungerer fortsatt her.
Betal en eksisterende faktura: betaling://faktura
Samler inn en personlig betaling for en åpen Stripe faktura. Beløp, valuta, kunde og avgift kommer fra fakturaen. Ved vellykket betaling markerer appen fakturaen som betalt. Fungerer på iPhone og Android.
| Navn | Type | Obligatorisk | Beskrivelse |
|---|---|---|---|
id
|
streng | Ja | Stripe faktura-ID. Må starte med in_. Send en åpen faktura. På iPhone blir et utkast først ferdigstilt. På Android blir et utkast avvist med error=invoice_state_changed. |
metadata
|
streng | Ingen | URL-kodet JSON-objekt, lagt til i PaymentIntent. |
callback
|
streng | Ingen | URL som skal åpnes når salget er fullført. Henter invoice_id og payment_intent_id ved suksess. |
autoprocess
|
boolsk | Ingen | true starter belastningen etter at fakturakontrollene er godkjent, kun når en kortleser er tilkoblet. |
auto_return
|
boolsk | Ingen | Samme som ovenfor. Standard false. |
payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid Fakturaen angir salget, så alle av følgende: amount, currency, customer, customer_id, email, name, description, coupon, prices eller line_items får lenken avvist med error=invoice_invalid_param. Fakturaer som er betalte, ugyldige, ikke kan innkreves, $0, knyttet til et abonnement eller satt til å belastes med en standard betalingsmåte, blir også avvist, hver med sin egen invoice_… -feil.
Tilbakeringingen
Appen legger til disse i tilbakeringings-URL-en din:
| Navn | Type | Sendt | Beskrivelse |
|---|---|---|---|
status
|
streng | Alltid | success, error eller cancelled. |
charge_id
|
streng | På suksess | Betalingens ID. På iPhone er det Stripe-betalingen ( ch_…). På Android er det PaymentIntent ( pi_…). |
stripe_charge_id
|
streng | Kun Android | Stripe-ladningen ( ch_…). |
payment_intent_id
|
streng | På suksess | PaymentIntent. iPhone sender den kun for payment://invoice. Android sender den for hver kortbetaling. |
invoice_id
|
streng | Fakturalenker | Den betalte fakturaen, for payment://invoice. |
amount
|
heltall | På suksess | Belastet beløp, i den minste enheten. |
currency
|
streng | På suksess | ISO-kode med små bokstaver. |
error
|
streng | Ved feil | En kort kode som charge_in_progress eller invoice_already_paid, eller en lesbar melding for et avvist kort. |
myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500¤cy=usd&chargeId=ch_3Qx… Trenger du samme ID på begge plattformene? Les stripe_charge_id først, og bruk deretter charge_id.
For eldre integrasjoner sender appen også success=true, chargeId, cancelled=true og error[message]. Ny kode skal lese status.
En avbryting åpner tilbakeringingen med en gang. En belastnings suksess eller feil venter på at selgeren lukker resultatskjermen, med mindre du sender auto_return=true. På iPhone åpner et kontantsalg aldri tilbakeringingen, siden ingenting ble belastet.
URL-koding
- Kod alle verdier som har mellomrom eller symboler. Mellomrom blir
%20,{og}blir%7Bog%7D,"blir%22,:blir%3A. - Hvis tilbakeringings-URL-en din har sin egen spørrestreng, må du kode hele tilbakeringingen slik at den
&ikke deler opppayment://-lenken din. - Kommaene og kolonene i
priceskan forbli som de er.
Metadata {"order_id":"1234","location":"Store A"} blir:
payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D Det eldre skjemaet metadata[order_id]=1234 fungerer også.