Gå til hovedindhold

Start Payment for Stripe fra din app (URL-ordninger)

Kort svar: Din app eller dit websted åbner en payment:// URL. Payment for Stripe tager imod betalingen og åbner derefter din callback URL med resultatet. Intet SDK. Intet serverarbejde. Det fungerer på samme måde på iPhone og Android, med et par forskelle, der er nævnt nedenfor.

Den fulde reference findes på paymentforstripe.com/api.

Sådan fungerer det

  1. Din app åbner en payment:// URL med parametre.
  2. Payment for Stripe åbner og sætter salget op. Forhandleren tager imod betalingen med en kortlæser, Tap to Pay eller et indtastet kort.
  3. Når det er færdigt, åbner appen din callback URL med resultatet tilføjet som forespørgselsparametre.

Forhandleren skal være logget ind. Hvis der modtages et link, mens en anden faktura kører, afviser appen det, og dit tilbagekald får meddelelsen error=charge_in_progress.

Opret en regning: betaling://ny

En engangsbetaling på et beløb, du fastsætter.

Navn Type Påkrævet Beskrivelse
amount heltal Ja Beløb i valutaens mindste enhed, større end 0. 1000 = $10,00.
currency snor Ingen ISO-kode på tre bogstaver, f.eks. usd eller eur. Hvis du udelader den, bruger appen den valuta, den allerede er indstillet til.
description snor Ingen Fakturabeskrivelse. URL-kode det.
customer snor Ingen Eksisterende Stripe kunde-ID ( cus_…). customer_id fungerer også. Når det er angivet, ignoreres email og name.
email snor Ingen Kunde-e-mail. Opretter en ny kunde.
name snor Ingen Kundenavn. URL-koder det. Opretter en ny kunde.
metadata snor Ingen URL-kodet JSON-objekt af nøgle-værdi-par, tilføjet til betalingen. Stripe metadatabegrænsninger gælder.
callback snor Ingen URL, der skal åbnes, når salget er afsluttet.
autoprocess boolsk Ingen true springer tastaturet over og starter regningen med det samme. Standard false.
auto_return boolsk Ingen true åbner tilbagekaldet, så snart resultatet er kendt. Standard false: tilbagekaldet venter, indtil forhandleren lukker resultatskærmen.
 payment://new?amount=2500&currency=eur&description=Coffee%20and%20pastry
 payment://new?amount=3500&autoprocess=true&auto_return=true&callback=myapp://payment-complete

Et link med et manglende, nul eller ikke-numerisk amount ignoreres.

Opret en faktura fra dit katalog: payment://cart

Fylder indkøbskurven med priser fra dit Stripe produktkatalog. Forhandleren betaler derefter som sædvanligt, og salget gemmes i Stripe som en betalt faktura med disse linjeposter. Den sender ikke en faktura via e-mail til din kunde.

Navn Type Påkrævet Beskrivelse
prices snor Ja Kommaseparrede price_id:quantity, f.eks. price_abc:2,price_xyz:1. line_items fungerer også.
coupon snor Ingen Stripe kupon-ID, der skal anvendes på kurven.
customer snor Ingen Eksisterende Stripe kunde-ID, customer_id fungerer også.
email snor Ingen Kunde-e-mail. Opretter en ny kunde.
name snor Ingen Kundenavn. URL-kode det.
metadata snor Ingen URL-kodet JSON-objekt af nøgle-værdi-par.
callback snor Ingen URL, der skal åbnes, når salget er afsluttet.
autoprocess boolsk Ingen true starter regningen, når alle priser (og kuponen) er indlæst.
auto_return boolsk Ingen Samme som ovenfor. Standardværdien false.
 payment://cart?prices=price_coffee:2,price_muffin:1&email=customer@example.com

Send ikke amount med prices. Totalen kommer fra priserne, og et link med begge ignoreres. Priser skjult med payment_hidden virker stadig her.

Betal en eksisterende faktura: betaling://faktura

Indsamler en personlig betaling for en åben Stripe faktura. Beløb, valuta, kunde og moms stammer alle fra fakturaen. Når betalingen er gennemført, markerer appen fakturaen som betalt. Virker på iPhone og Android.

Navn Type Påkrævet Beskrivelse
id snor Ja Stripe-faktura-ID. Skal starte med in_. Send en åben faktura. På iPhone færdiggøres en kladde først. På Android afvises en kladde med error=invoice_state_changed.
metadata snor Ingen URL-kodet JSON-objekt, tilføjet til PaymentIntent.
callback snor Ingen URL, der skal åbnes, når salget er afsluttet. Henter invoice_id og payment_intent_id hvis salget er gennemført.
autoprocess boolsk Ingen true starter regningen efter fakturakontrollen er bestået, kun når en kortlæser er tilsluttet.
auto_return boolsk Ingen Samme som ovenfor. Standard false.
 payment://invoice?id=in_1ABC123xyz&autoprocess=true&callback=myapp://invoice-paid

Fakturaen angiver salget, så alle af følgende: amount, currency, customer, customer_id, email, name, description, coupon, prices eller line_items får linket afvist med error=invoice_invalid_param. Fakturaer, der er betalte, ugyldige, ikke-inddrivelige, $0, knyttet til et abonnement eller indstillet til at fakturere en standardbetalingsmetode, afvises også, hver med sin egen invoice_… -fejl.

Tilbagekaldet

Appen tilføjer disse til din callback-URL:

Navn Type Sendt Beskrivelse
status snor Altid success, error eller cancelled.
charge_id snor Ved succes Betalingens ID. På iPhone er det Stripe-fakturaen ( ch_…). På Android er det PaymentIntent ( pi_…).
stripe_charge_id snor Kun Android Stripe-regningen ( ch_…).
payment_intent_id snor Ved succes PaymentIntent. iPhone sender den kun til payment://invoice. Android sender den for hver kortbetaling.
invoice_id snor Fakturalinks Den betalte faktura, for payment://invoice.
amount heltal Ved succes Faktureret beløb, i den mindste enhed.
currency snor Ved succes ISO-kode med små bogstaver.
error snor Ved fejl En kort kode som f.eks. charge_in_progress eller invoice_already_paid, eller en læsbar besked for et afvist kort.
 myapp://payment-complete?status=success&charge_id=ch_3Qx…&success=true&amount=3500&currency=usd&chargeId=ch_3Qx…

Brug for det samme ID på begge platforme? Læs stripe_charge_id først, og brug derefter charge_id.

For ældre integrationer sender appen også success=true, chargeId, cancelled=true og error[message]. Ny kode bør læse status.

En annullering åbner tilbagekaldet med det samme. En fakturas succes eller fejl venter på, at forhandleren lukker resultatskærmen, medmindre du sender auto_return=true. På iPhone åbner et kontantsalg aldrig tilbagekaldet, da der ikke er blevet faktureret noget.

URL-kodning

  • Indkod alle værdier, der indeholder mellemrum eller symboler. Mellemrum bliver %20, { og } bliver %7B og %7D, " bliver %22, : bliver %3A.
  • Hvis din callback-URL har sin egen forespørgselsstreng, skal du indkode hele callback-adressen, så den & ikke opdeler dit payment:// link.
  • Kommaerne og kolonene i prices kan forblive, som de er.

Metadata {"order_id":"1234","location":"Store A"} bliver:

 payment://new?amount=10000&description=Invoice%20%231234&metadata=%7B%22order_id%22%3A%221234%22%2C%22location%22%3A%22Store%20A%22%7D

Den ældre metadata[order_id]=1234 formular fungerer også.

Var denne artikel en hjælp?
0 ud af 0 fandt dette nyttigt