Hopp til hovedinnholdet

Start Payment for Stripe fra appen din (URL-skjemaer)

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

  1. Appen din åpner en payment:// -URL med parametere.
  2. Payment for Stripe åpnes og salget settes opp. Selgeren tar imot betalingen med en kortleser, Tap to Pay kort eller et maskinskrevet kort.
  3. 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&currency=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&currency=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 %7B og %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 opp payment:// -lenken din.
  • Kommaene og kolonene i prices kan 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å.

Var denne artikkelen nyttig?
0 av 0 syntes dette var nyttig