Vadovai

Kaip pridėti mokėjimus į savo programėlę: apmokėjimas, prenumeratos ir webhook

Paprasčiausias būdas pridėti mokėjimus į programėlę yra Stripe: naudokite Payment Link, jei jums tereikia mygtuko „Pirkti“ ir užsakymus galite tvarkyti rankiniu būdu; Stripe Checkout, jei programėlei reikia žinoti, kas sumokėjo, ir reaguoti automatiškai; o Checkout prenumeratos režimu plius Stripe kliento portalą periodiniams mokėjimams. Visais atvejais, išskyrus paprasčiausią, jums reikia ir webhook – serverio galinio taško, kurį Stripe iškviečia, kai mokėjimas pavyksta – o viską reikėtų išbandyti su Stripe bandomaisiais raktais ir bandomosiomis kortelėmis, prieš perjungiant į tikrus raktus.

Šis vadovas paaiškina kiekvieną variantą, webhook dalį, kurią dauguma vadovėlių praleidžia, ir ką patikrinti prieš priimant tikrus pinigus. Stripe duomenys paimti iš paties Stripe dokumentacijos nuo 2026 m. rugsėjo.

Kodėl apskritai naudoti mokėjimų teikėją

Niekada nerinkite kortelių numerių savo formose. Žali kortelių duomenys priverčia laikytis PCI DSS (kortelių pramonės saugumo standarto) ir yra rimta atsakomybė. Mokėjimų teikėjas, pavyzdžiui Stripe, talpina mokėjimo formą, saugo kortelę, tvarko banko autentifikavimą ir praneša jūsų programėlei rezultatą. Jūsų programėlė visada mato tik „klientas X sumokėjo už Y“.

Šis vadovas naudoja Stripe, nes jis plačiai naudojamas, gerai dokumentuotas ir palaikomas daugumos DI programėlių kūrimo įrankių. Yra ir kitų teikėjų, o kai kurie veikia kaip „prekybos įrašų tvarkytojas“ ir patys tvarko pardavimo mokesčius; jei mokesčių atitiktis jus rūpina, verta palyginti tokį modelį.

Trys būdai priimti mokėjimus su Stripe

VariantasReikia kodoAr programėlė žino, kas sumokėjo?Geriausiai tinka
Payment LinksNereikiaTik jei pridedate webhookKeletą fiksuotų produktų, aukas, paklausos testavimą
Checkout (vienkartinis)Serverio kodas sesijai sukurtiTaip, per webhookParduotuves, mokamus atsisiuntimus, vienkartinius pirkimus
Checkout (prenumerata)Serverio kodas plius webhook apdorojimasTaip, per webhookSaaS, narystes, bet ką periodiško

Payment Links

Payment Link – tai Stripe talpinamas mokėjimo puslapis, kurį sukuriate Stripe valdymo skydelyje be kodo. Gausite URL, kurį galite įdėti už mygtuko savo programėlėje, pasidalinti el. laiške ar parodyti kaip QR kodą. Stripe dokumentacijoje sakoma, kad Payment Links gali parduoti produktą, prenumeratą arba priimti auką, o klientai gali pasirinkti, ką mokėti, arba pirkimų skaičių galite apriboti.

Gaudynė: jūsų programėlė automatiškai nežino, kad konkretus prisijungęs vartotojas sumokėjo. Aukų puslapiui ar mažai parduotuvei, kurioje užsakymus vykdote rankiniu būdu pagal Stripe el. laiško pranešimus, tai tinka. Mokėjimui „sumokėk, kad atrakintum Pro funkcijas“ – ne.

Stripe Checkout

Checkout – tai mokėjimo puslapis, kurį jūsų serveris sukuria pagal poreikį konkrečiam pirkimui. Serveris pasako Stripe, kas perkama (ir pasirinktinai, kuris klientas perka), Stripe grąžina URL, o jūs nukreipiate klientą ten. Stripe dokumentacijoje sakoma, kad jis palaiko ir vienkartinius, ir prenumeratos mokėjimus, kaip visą Stripe talpinamą puslapį, įterptą į jūsų svetainę puslapį ar įterptą formą.

Eiga:

  1. Klientas paspaudžia Pirkti jūsų programėlėje.
  2. Jūsų serveris sukuria Checkout sesiją naudodamas jūsų slaptą raktą, įtraukdamas ID, kuris ją susieja su jūsų vartotoju ar užsakymu.
  3. Klientas nukreipiamas į Stripe ir sumoka.
  4. Stripe nukreipia jį atgal į sėkmės puslapį.
  5. Stripe išsiunčia įvykį checkout.session.completed į jūsų webhook, o serveris pažymi užsakymą apmokėtu arba atrakina prieigą.

2 žingsnis turi vykti serveryje, nes naudoja jūsų slaptą raktą. Tai pagrindinė priežastis, kodėl Checkout reikalauja backend.

Prenumeratos

Prenumeratos naudoja Checkout prenumeratos režimu su periodine kaina, kurią nustatote Stripe. Pirmas mokėjimas veikia taip, kaip aprašyta aukščiau. Vėliau atnaujinimai, nepavykę kortelių mokėjimai, planų keitimai ir atšaukimai vyksta laikui bėgant – dažnai tada, kai kliento jūsų programėlėje visai nėra – todėl jūsų programėlė apie juos sužino tik per webhook.

Kad klientai patys valdytų savo prenumeratą, Stripe siūlo talpinamą kliento portalą. Pagal Stripe dokumentaciją, klientai ten gali atnaujinti mokėjimo būdus ir sąskaitos duomenis, keisti ar atšaukti prenumeratas, peržiūrėti ir atsisiųsti sąskaitas. Jį konfigūruojate Stripe valdymo skydelyje ir pridedate mygtuką „Tvarkyti sąskaitą“, kuris nukreipia klientą ten. Taip nereikia patiems kurti tų ekranų.

Webhook: dalis, kurios nepraleisite

Webhook – tai HTTP užklausa, kurią Stripe siunčia jūsų serveriui, kai kas nors įvyksta. (Bendrą idėją žr. kas yra webhook.) Stripe vykdymo vadove aiškiai nurodyta: užsakymų vykdymui negalite pasikliauti vien sėkmės puslapiu, nes klientas gali sumokėti ir prarasti ryšį, kol puslapis įsikraus. Prenumeratoms ir atidėtiems mokėjimo būdams webhook yra privalomi.

Įvykiai, kuriuos verta apdoroti

ĮvykisKą reiškiaKą daro jūsų programėlė
checkout.session.completedCheckout baigtasPažymi užsakymą apmokėtu arba suteikia prieigą
checkout.session.async_payment_succeededAtidėtas būdas (pavyzdžiui banko debetas) vėliau įvykdytasĮvykdo dabar
checkout.session.async_payment_failedTas atidėtas mokėjimas nepavykoPraneša klientui; neįvykdo
invoice.paidPrenumeratos mokėjimas pavyko, įskaitant atnaujinimusPratęsia prieigą
invoice.payment_failedAtnaujinimas nepavykoĮspėja vartotoją; Stripe gali bandyti dar kartą
customer.subscription.updatedPlanas pakeistas arba numatytas atšaukimasAtnaujina vartotojo planą
customer.subscription.deletedPrenumerata baigėsiPašalina mokamą prieigą

Taisyklės teisingam webhook apdorotojui

Šios taisyklės paimtos tiesiai iš Stripe webhook dokumentacijos, ir DI sugeneruoti apdorotojai kartais kurį nors iš jų praleidžia:

  • Patikrinkite parašą. Kiekviename įvykyje yra antraštė Stripe-Signature. Jūsų apdorotojas ją patikrina naudodamas galinio taško pasirašymo paslaptį (ji prasideda whsec_). Be to, bet kas galėtų atsiųsti jūsų serveriui netikrą „mokėjimas pavyko“.
  • Naudokite neapdorotą užklausos turinį. Parašo patikra nepavyksta, jei jūsų sistema turinį pirmiausia išanalizuoja ar pakeičia.
  • Greitai grąžinkite 2xx atsakymą, o lėtesnį darbą atlikite vėliau. Laiko viršijimas skaičiuojamas kaip klaida.
  • Tvarkykite dublikatus. Stripe gali pristatyti tą patį įvykį daugiau nei vieną kartą. Įrašykite apdorotų įvykių ID arba padarykite vykdymą saugų paleidžiant du kartus.
  • Nesitikėkite tvarkos. Stripe negarantuoja, kad įvykiai ateis tokia tvarka, kokia įvyko.
  • Tikėkitės pakartojimų. Tiesioginiame režime Stripe kartoja nepavykusius pristatymus iki trijų dienų, todėl trumpas gedimas neprarys mokėjimų – bet jūsų apdorotojas turi tvarkyti vėluojančius įvykius.

Webhook reikia viešo HTTPS adreso, todėl paprastai jie veikia tik tada, kai programėlė publikuota (Stripe CLI kūrėjams gali persiųsti įvykius į vietinį kompiuterį).

Raginimas, apimantis visą eigą

Pridėk vienkartinį pirkimą su Stripe Checkout, skirtą „Pro pack“ paketui (kainos ID STRIPE_PRICE_ID). Sukurk Checkout sesiją serveryje naudodamas STRIPE_SECRET_KEY iš paslapčių ir įtrauk prisijungusio vartotojo ID į sesiją. Pridėk POST /api/stripe/webhook galinį tašką, kuris patikrina Stripe parašą su STRIPE_WEBHOOK_SECRET naudodamas neapdorotą užklausos turinį, apdoroja checkout.session.completed ir pažymi tą vartotoją kaip turintį Pro pack. Padaryk, kad būtų saugu, jei tas pats įvykis ateina du kartus. Sėkmės ir atšaukimo puslapiai. Niekada neatskleisk slapto rakto naršyklei.

Prenumeratoms pridėk: „Naudok prenumeratos režimą su STRIPE_PRICE_ID. Apdorok invoice.paid, invoice.payment_failed, customer.subscription.updated ir customer.subscription.deleted. Pridėk mygtuką Tvarkyti sąskaitą, kuris atidaro Stripe kliento portalą.“

Bandomasis režimas

Stripe turi atskirus smėlio dėžės (bandomuosius) ir tikrus aplinkas su atskirais raktais. Bandomieji raktai prasideda pk_test_, sk_test_ ar rk_test_; tikrieji raktai prasideda pk_live_, sk_live_ ar rk_live_. Bandomosios operacijos nejuda pinigų.

Naudingos bandomosios kortelės iš Stripe testavimo dokumentacijos (bet kokia būsimo galiojimo data, bet koks trijų skaitmenų CVC):

Kortelės numerisRezultatas
4242 4242 4242 4242Mokėjimas pavyksta
4000 0000 0000 0002Kortelė atmesta
4000 0000 0000 3220Reikia 3D Secure autentifikavimo, tada pavyksta

Išbandykite bent:

  • Sėkmingas mokėjimas atrakina tinkamą dalyką tinkamam vartotojui
  • Atmesta kortelė parodo aiškų pranešimą ir neatrakina nieko
  • Uždarius naršyklės skirtuką iškart po mokėjimo prieiga vis tiek suteikiama (tai įrodo, kad veikia webhook, o ne tik sėkmės puslapis)
  • Atšaukus Stripe puslapyje vartotojas grįžta į jūsų programėlę ir nieko nemokama
  • Prenumeratoms: atšaukite kliento portale ir patikrinkite, kad prieiga baigiasi, kai turi

Paleidimas tikriems mokėjimams

  1. Aktyvuokite savo Stripe paskyrą su verslo ir banko duomenimis.
  2. Įdėkite tikrus raktus į savo programėlės paslaptis. Stripe rekomenduoja ribotus raktus tik su leidimais, reikalingais jūsų integracijai, o ne neribotą slaptą raktą.
  3. Sukurkite tikrą webhook galinį tašką, nukreiptą į publikuotą programėlę. Jis turi savo pasirašymo paslaptį, kitokią nei bandomoji – ją atnaujinkite.
  4. Iš naujo sukurkite produktus ir kainas tikrame režime; bandomųjų režimų ID ten neegzistuoja.
  5. Atlikite vieną tikrą nedidelį pirkimą ir jį grąžinkite.

Visus raktus laikykite projekto paslaptyse, niekada kode ar pokalbyje. Mūsų saugumo kontrolinis sąrašas DI kuriamoms programėlėms plačiau aprašo raktus ir webhook parašų patikrą.

Mokesčiai, grąžinimai ir dokumentai

Mokėjimai atneša įsipareigojimus, kurių kodas neišsprendžia. Tai nėra mokesčių patarimas; pasitarkite su buhalteriu.

  • Pardavimo mokestis, PVM ir GST. Priklausomai nuo to, kur esate jūs ir jūsų klientai, gali reikėti registruotis, skaičiuoti ir deklaruoti mokesčius. Stripe Tax gali apskaičiuoti ir surinkti mokestį atsiskaitymo metu, stebėti, kur jūsų pardavimai gali sukelti prievolę, ir padėti su registracija bei deklaravimu – bet atsakomybė lieka jums. Prekybos įrašų tvarkytojai yra alternatyva, kuri perima daugiau šių pareigų.
  • Grąžinimai ir ginčai. Prieš paleidimą nustatykite grąžinimo politiką ir įdėkite ją į svetainę. Ginčai (chargebacks) pasitaiko; saugokite įrašus apie tai, kas nupirkta ir pristatyta.
  • Kvitai ir sąskaitos. Stripe gali siųsti kvitus el. paštu; verslui gali reikėti tinkamų sąskaitų faktūrų.
  • Mokesčiai. Kiekvienas teikėjas imasi mokesčio už operaciją. Tikrinkite dabartinį teikėjo kainų puslapį, o ne pasikliaukite skaičiais straipsniuose.

Kuris nustatymas tinka jūsų programėlei

  • Aukos ar keletas produktų: Payment Links. Žr. kaip sukurti labdaros aukojimo svetainę.
  • Parduotuvė su krepšeliu: Checkout su prekių eilutėmis ir webhook. Žr. kaip sukurti internetinę parduotuvę.
  • SaaS ar narystės: Checkout prenumeratos režimu, webhook ir kliento portalas. Žr. kaip sukurti SaaS MVP ir kaip nustatyti SaaS produkto kainą.
  • Rinka, mokanti pardavėjams: kitokia, labiau reglamentuota schema (Stripe Connect ar panašiai). Planuokite ją atskirai.

Mokėjimų pridėjimas Mythex

Mokėjimai programėlėse, kurias kuriate Mythex, naudoja jūsų pačių Stripe paskyrą ir raktus; programėlei nėra vieno paspaudimo „Prijungti Stripe“. Įprasta eiga:

  1. Gaukite Stripe bandomuosius raktus.
  2. Pridėkite STRIPE_SECRET_KEY (ir vėliau webhook paslaptį) į projekto paslaptis – per /secrets, projekto nustatymus arba paslapčių kortelę, kurią agentas parodo, kai reikia rakto.
  3. Paprašykite agento Checkout naudodami raginimą, panašų į aukščiau pateiktą.
  4. Testuokite Peržiūroje su bandomosiomis kortelėmis. Publikuokite prieš registruodami webhook, nes jam reikia jūsų viešo URL.
  5. Perjungę į tikrus raktus, publikuokite dar kartą, kad tikroji programėlė juos pasiimtų.

Žr. Priimkite mokėjimus su Stripe ir Tvarkykite webhook savo backend dokumentacijoje.

Klausimai

Koks yra lengviausias būdas priimti mokėjimus programėlėje?

Stripe Payment Link nereikia kodo: jį sukuriate Stripe valdymo skydelyje ir pateikiate nuorodą iš savo programėlės. Jei programėlei reikia žinoti, kas sumokėjo, ir automatiškai atrakinti kažką, vietoj to naudokite Stripe Checkout su webhook.

Ar mokėjimams priimti man reikia webhook?

Jei programėlė turi reaguoti į mokėjimą – atrakinti paskyrą, pažymėti užsakymą apmokėtu, apdoroti atnaujinimą – taip. Stripe dokumentacija sako, kad vien sėkmės puslapio nepakanka, nes klientas gali sumokėti ir į jį niekada nepatekti. Webhook taip pat privalomi prenumeratoms.

Kaip išbandyti mokėjimus be tikrų pinigų?

Naudokite Stripe smėlio dėžės (bandomuosius) API raktus ir bandomuosius kortelių numerius, pavyzdžiui 4242 4242 4242 4242 su bet kuria būsimo galiojimo data ir bet kokiu trijų skaitmenų CVC. Bandomosios operacijos nejuda tikrų pinigų.

Ar Stripe man tvarko pardavimo mokestį ir PVM?

Stripe Tax gali apskaičiuoti ir surinkti mokestį atsiskaitymo metu bei stebėti, kur galbūt reikia registruotis, bet už savo mokesčių prievoles atsakote patys. Pasitarkite su buhalteriu dėl savo situacijos.

Mythex · Pricing · Kurkite bet ką su dirbtiniu intelektu · Svetainių ir programėlių šablonai · Mythex palyginimas · Programėlių kūrimo su dirbtiniu intelektu žodynėlis · Nemokami programėlių kūrimo su dirbtiniu intelektu įrankiai · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)