Jinsi ya Kuongeza Malipo kwenye App Yako: Checkout, Usajili na Webhooks
Njia rahisi zaidi ya kuongeza malipo kwenye app yako ni Stripe: tumia Payment Link ikiwa unahitaji tu kitufe cha "Nunua" na unaweza kushughulikia oda kwa mkono, Stripe Checkout ikiwa app yako inahitaji kujua nani amelipa na kuitikia kiotomatiki, na Checkout katika hali ya usajili pamoja na portal ya wateja ya Stripe kwa malipo ya kujirudia. Katika kila hali isipokuwa ile rahisi zaidi, pia unahitaji webhook — endpoint ya seva ambayo Stripe inaiita malipo yanapofanikiwa — na unapaswa kujaribu kila kitu kwa funguo za majaribio za Stripe na kadi za majaribio kabla ya kubadili kwenda funguo za moja kwa moja.
Mwongozo huu unaeleza kila chaguo, sehemu ya webhook ambayo mafunzo mengi huiruka, na mambo ya kukagua kabla ya kupokea pesa halisi. Maelezo ya Stripe yanatoka kwenye nyaraka rasmi za Stripe kufikia Septemba 2026.
Kwa nini utumie mtoa huduma wa malipo
Usikusanye namba za kadi kwenye fomu zako mwenyewe. Kushughulikia data ghafi ya kadi kunakuweka kwenye wigo wa PCI DSS (kiwango cha usalama cha sekta ya kadi) na ni dhima kubwa. Mtoa huduma wa malipo kama Stripe anaendesha fomu ya malipo, anahifadhi kadi, anashughulikia uthibitishaji wa benki, na anaiambia app yako matokeo. App yako huona tu "mteja X amelipia Y".
Mwongozo huu unatumia Stripe kwa sababu inatumika sana, ina nyaraka nzuri na inasaidiwa na wajenzi wengi wa app wa AI. Watoa huduma wengine wapo, na baadhi hufanya kazi kama "merchant of record" anayechukua kushughulikia kodi ya mauzo kwa niaba yako; ikiwa utiifu wa kodi unakuhusu, mtindo huo unafaa kulinganishwa.
Njia tatu za kupokea malipo kwa Stripe
| Chaguo | Msimbo unahitajika | App yako inajua nani amelipa? | Inafaa kwa |
|---|---|---|---|
| Payment Links | Hakuna | Ni kama tu utaongeza webhook | Kuuza bidhaa chache zilizowekwa, michango, kujaribu mahitaji |
| Checkout (mara moja) | Msimbo wa seva kuunda session | Ndiyo, kupitia webhook | Maduka, upakuaji wa kulipia, ununuzi wa mara moja |
| Checkout (usajili) | Msimbo wa seva pamoja na kushughulikia webhook | Ndiyo, kupitia webhook | SaaS, uanachama, chochote cha kujirudia |
Payment Links
Payment Link ni ukurasa wa malipo unaoendeshwa na Stripe unaouunda kwenye Stripe Dashboard bila msimbo. Unapata URL unayoweza kuiweka nyuma ya kitufe kwenye app yako, kuishiriki kwenye barua pepe, au kuonyesha kama msimbo wa QR. Nyaraka za Stripe zinasema Payment Links zinaweza kuuza bidhaa, usajili, au kukubali mchango, na unaweza kuwaruhusu wateja wachague wanalipa nini au kupunguza idadi ya manunuzi.
Kikwazo: app yako haijui moja kwa moja kwamba mtumiaji fulani aliyeingia amelipa. Kwa ukurasa wa mchango au duka dogo ambapo unatimiza oda kwa mkono kutoka kwenye arifa za barua pepe za Stripe, hilo ni sawa. Kwa "lipa ili kufungua vipengele vya Pro", si sawa.
Stripe Checkout
Checkout ni ukurasa wa malipo ambao seva yako inauunda unapohitajika kwa ununuzi maalum. Seva yako inaiambia Stripe kinachonunuliwa (na hiari, mteja gani ananunua), Stripe inarudisha URL, na unamtumia mteja huko. Nyaraka za Stripe zinaelezea kuwa inasaidia malipo ya mara moja na ya usajili, kama ukurasa kamili unaoendeshwa na Stripe, ukurasa uliopachikwa kwenye tovuti yako, au fomu iliyopachikwa.
Mtiririko:
- Mteja anabonyeza Nunua kwenye app yako.
- Seva yako inaunda Checkout Session kwa kutumia secret key yako, ikijumuisha ID inayounganisha na mtumiaji au oda yako.
- Mteja anaelekezwa kwa Stripe na analipa.
- Stripe inamrudisha kwenye ukurasa wako wa mafanikio.
- Stripe inatuma tukio la
checkout.session.completedkwenye webhook yako, na seva yako inaweka oda kuwa imelipwa au kufungua ufikiaji.
Hatua ya 2 lazima ifanyike kwenye seva, kwa sababu inatumia secret key yako. Hiyo ndiyo sababu kuu Checkout inahitaji backend.
Usajili
Usajili unatumia Checkout katika hali ya usajili na bei ya kujirudia uliyoiweka kwenye Stripe. Malipo ya kwanza yanafanya kazi kama mtiririko hapo juu. Baada ya hapo, kuongezwa muda, kadi zilizoshindwa, kupandisha mpango na kughairi kunatokea kwa muda — mara nyingi mteja akiwa hayuko kwenye app yako kabisa — kwa hiyo app yako inajifunza kuvihusu kupitia webhooks pekee.
Kwa kumruhusu mteja asimamie usajili wake mwenyewe, Stripe inatoa portal ya wateja inayoendeshwa nayo. Kulingana na nyaraka za Stripe, wateja wanaweza kusasisha njia za malipo na taarifa za bili, kubadilisha au kughairi usajili, na kuona na kupakua ankara huko. Unaisanidi kwenye Stripe Dashboard na kuongeza kitufe cha "Simamia bili" kinachomtuma mteja huko. Hii inakuokoa kujenga skrini hizo mwenyewe.
Webhooks: sehemu usiyoweza kuruka
Webhook ni ombi la HTTP ambalo Stripe inatuma kwenye seva yako jambo fulani linapotokea. (Angalia webhook ni nini kwa wazo la jumla.) Mwongozo wa utimizaji wa Stripe uko wazi: huwezi kutegemea ukurasa wa mafanikio pekee kutimiza oda, kwa sababu mteja anaweza kulipa kisha muunganisho wake ukakatika kabla ukurasa huo haujapakia. Kwa usajili na njia za malipo zilizochelewa, webhooks zinahitajika.
Matukio yanayostahili kushughulikiwa
| Tukio | Maana yake | App yako inafanya nini |
|---|---|---|
checkout.session.completed | Checkout imekamilika | Weka oda kuwa imelipwa au anza ufikiaji |
checkout.session.async_payment_succeeded | Njia iliyochelewa (kama debit ya benki) imekamilika baadaye | Timiza sasa |
checkout.session.async_payment_failed | Malipo hayo yaliyochelewa yameshindwa | Mwambie mteja; usitimize |
invoice.paid | Malipo ya usajili yamefanikiwa, ikijumuisha kuongezwa | Ongeza muda wa ufikiaji |
invoice.payment_failed | Kuongezwa kumeshindwa | Mwonye mtumiaji; Stripe inaweza kujaribu tena |
customer.subscription.updated | Mpango umebadilika, au kughairi kumepangwa | Sasisha mpango wa mtumiaji |
customer.subscription.deleted | Usajili umeisha | Ondoa ufikiaji wa kulipia |
Kanuni za kishughulikiaji sahihi cha webhook
Hizi zinatoka moja kwa moja kwenye nyaraka za webhook za Stripe, na vishughulikiaji vilivyotengenezwa na AI wakati mwingine vinakosa moja:
- Thibitisha sahihi. Kila tukio lina header ya
Stripe-Signature. Kishughulikiaji chako kinaikagua kwa kutumia signing secret ya endpoint (inaanza nawhsec_). Bila hili, mtu yeyote angeweza kutuma "malipo yamefanikiwa" bandia kwenye seva yako. - Tumia body ghafi ya ombi. Ukaguzi wa sahihi unashindwa ikiwa framework yako inachambua au kubadilisha body kwanza.
- Rudisha jibu la 2xx haraka, kisha fanya kazi nzito zaidi. Muda wa kusubiri uliokwisha unahesabiwa kama kushindwa.
- Shughulikia marudio. Stripe inaweza kuwasilisha tukio lilelile zaidi ya mara moja. Rekodi IDs za matukio yaliyoshughulikiwa, au fanya utimizaji uwe salama kuendeshwa mara mbili.
- Usidhani mpangilio. Stripe haihakikishi matukio yanafika kwa mpangilio yalivyotokea.
- Tarajia majaribio tena. Katika hali ya moja kwa moja Stripe inajaribu tena uwasilishaji ulioshindwa hadi siku tatu, kwa hiyo hitilafu fupi haitapoteza malipo — lakini kishughulikiaji chako lazima kiweze kushughulikia matukio ya kuchelewa.
Webhooks zinahitaji anwani ya HTTPS ya umma, kwa hiyo kwa kawaida hufanya kazi tu app yako ikishachapishwa (CLI ya Stripe inaweza kupeleka matukio kwenye kompyuta ya msanidi kwa majaribio).
Maagizo yanayofunika mtiririko mzima
Ongeza ununuzi wa mara moja kwa Stripe Checkout kwa "Pro pack" (price ID iko kwenye STRIPE_PRICE_ID). Unda Checkout Session kwenye seva ukitumia STRIPE_SECRET_KEY kutoka kwenye siri, na jumuisha ID ya mtumiaji aliyeingia kwenye session. Ongeza endpoint ya POST /api/stripe/webhook inayothibitisha sahihi ya Stripe kwa STRIPE_WEBHOOK_SECRET ikitumia body ghafi ya ombi, inashughulikia checkout.session.completed, na inaweka mtumiaji huyo kuwa na Pro pack. Hakikisha ni salama tukio likifika mara mbili. Kurasa za mafanikio na kughairi. Usiwahi kuweka secret key kwenye browser.
Kwa usajili, ongeza: "Tumia hali ya usajili kwa STRIPE_PRICE_ID. Shughulikia invoice.paid, invoice.payment_failed, customer.subscription.updated na customer.subscription.deleted. Ongeza kitufe cha Simamia bili kinachofungua portal ya wateja ya Stripe."
Test mode
Stripe ina mazingira tofauti ya sandbox (test) na ya moja kwa moja yenye funguo tofauti. Funguo za sandbox zinaanza na pk_test_, sk_test_ au rk_test_; funguo za moja kwa moja zinaanza na pk_live_, sk_live_ au rk_live_. Miamala ya majaribio haisogezi pesa.
Kadi za majaribio muhimu kutoka kwenye nyaraka za majaribio za Stripe (tarehe yoyote ya mbeleni ya kuisha, CVC ya tarakimu tatu yoyote):
| Namba ya kadi | Matokeo |
|---|---|
4242 4242 4242 4242 | Malipo yanafanikiwa |
4000 0000 0000 0002 | Kadi inakataliwa |
4000 0000 0000 3220 | Inahitaji uthibitishaji wa 3D Secure, kisha inafanikiwa |
Jaribu angalau:
- Malipo yaliyofanikiwa yanafungua kitu sahihi kwa mtumiaji sahihi
- Kadi iliyokataliwa inaonyesha ujumbe wazi na haifungui chochote
- Kufunga kichupo cha browser mara tu baada ya kulipa bado kunatoa ufikiaji (hii inathibitisha webhook inafanya kazi, si ukurasa wa mafanikio pekee)
- Kughairi kwenye ukurasa wa Stripe kunamrudisha mtumiaji kwenye app yako bila chochote kutozwa
- Kwa usajili: ghairi kwenye portal ya wateja na uthibitishe ufikiaji unaisha inapopaswa
Kuanza kupokea pesa halisi
- Washa akaunti yako ya Stripe kwa taarifa za biashara na benki yako.
- Weka funguo za moja kwa moja kwenye siri za app yako. Stripe inapendekeza funguo zenye vikwazo zenye ruhusa zinazohitajika na muunganisho wako pekee, badala ya secret key isiyo na vikwazo.
- Unda endpoint ya webhook ya moja kwa moja inayoelekeza kwenye app yako iliyochapishwa. Ina signing secret yake, tofauti na ya majaribio — isasishe.
- Unda upya bidhaa na bei katika hali ya moja kwa moja; IDs za test mode hazipo huko.
- Fanya ununuzi mmoja halisi mdogo kisha urudishe pesa.
Weka kila funguo kwenye siri za mradi wako, kamwe usiziweke kwenye msimbo au chat. Orodha yetu ya usalama inashughulikia funguo na uthibitishaji wa webhook kwa kina zaidi.
Kodi, marejesho na karatasi
Malipo yanaleta wajibu ambao msimbo hautatui. Huu si ushauri wa kodi; wasiliana na mhasibu.
- Kodi ya mauzo, VAT na GST. Kulingana na mahali ulipo wewe na wateja wako, huenda ukahitaji kujisajili, kukusanya na kuwasilisha kodi. Stripe Tax inaweza kukokotoa na kukusanya kodi wakati wa checkout, kufuatilia mahali mauzo yako yanaweza kuleta wajibu, na kusaidia usajili na uwasilishaji — lakini wajibu unabaki kwako. Watoa huduma wa merchant-of-record ni mbadala unaochukua zaidi ya hili.
- Marejesho na migogoro. Amua sera yako ya marejesho kabla ya kuzindua na uiweke kwenye tovuti yako. Migogoro (chargebacks) hutokea; weka rekodi za kilichonunuliwa na kilichotolewa.
- Risiti na ankara. Stripe inaweza kutuma risiti kwa barua pepe; biashara zinaweza kuhitaji ankara halisi.
- Ada. Kila mtoa huduma anatoza kwa kila muamala. Angalia ukurasa wa bei wa sasa wa mtoa huduma badala ya kutegemea takwimu za makala.
Usanidi gani unafaa app yako
- Michango au bidhaa chache: Payment Links. Angalia jinsi ya kujenga tovuti ya michango ya shirika lisilo la faida.
- Duka lenye kikapu: Checkout yenye vipengee vya mstari na webhook. Angalia jinsi ya kujenga duka la mtandaoni.
- SaaS au uanachama: Checkout katika hali ya usajili, webhooks na portal ya wateja. Angalia jinsi ya kujenga SaaS MVP na jinsi ya kupanga bei ya bidhaa ya SaaS.
- Soko linalolipa wauzaji: usanidi tofauti zaidi wenye kanuni nyingi (Stripe Connect au kingine kama hicho). Panga kwa tofauti.
Kuongeza malipo kwenye Mythex
Malipo kwenye apps unazojenga kwenye Mythex yanatumia akaunti yako mwenyewe ya Stripe na funguo zako; hakuna "Connect Stripe" ya kubofya mara moja kwa app yako. Mtiririko wa kawaida:
- Pata funguo za majaribio za Stripe.
- Ongeza
STRIPE_SECRET_KEY(na webhook secret baadaye) kwenye siri za mradi — kupitia/secrets, mipangilio ya mradi, au kadi ya siri ambayo wakala anaionyesha anapohitaji funguo. - Omba wakala Checkout ukitumia maagizo kama hapo juu.
- Jaribu kwenye Preview kwa kadi za majaribio. Chapisha kabla ya kusajili webhook, kwa sababu inahitaji URL yako ya umma.
- Baada ya kubadili kwenda funguo za moja kwa moja, chapisha tena ili app ya moja kwa moja izichukue.
Angalia Kubali malipo kwa Stripe na Shughulikia webhooks kwenye backend yako kwenye nyaraka.
Maswali
Njia rahisi zaidi ya kupokea malipo kwenye app ni ipi?
Stripe Payment Link haihitaji msimbo: unaitengeneza kwenye Stripe Dashboard kisha unaiunganisha kutoka kwenye app yako. Ikiwa app yako inahitaji kujua nani amelipa na kufungua kitu kiotomatiki, tumia Stripe Checkout pamoja na webhook badala yake.
Je, ninahitaji webhook ili kupokea malipo?
Ikiwa app yako inapaswa kuitikia malipo — kufungua akaunti, kuweka oda kuwa imelipwa, kushughulikia kuongezwa kwa muda — ndiyo. Nyaraka za Stripe zinasema huwezi kutegemea ukurasa wa mafanikio pekee, kwa sababu mteja anaweza kulipa kisha asifike kwenye ukurasa huo kabisa. Webhooks pia zinahitajika kwa usajili.
Nijaribu malipo bila pesa halisi vipi?
Tumia funguo za sandbox (test) za API ya Stripe na namba za kadi za majaribio, kama 4242 4242 4242 4242 na tarehe yoyote ya mbeleni ya kuisha na CVC ya tarakimu tatu yoyote. Miamala ya majaribio haisogezi pesa halisi.
Je, Stripe inashughulikia kodi ya mauzo na VAT kwa niaba yangu?
Stripe Tax inaweza kukokotoa na kukusanya kodi wakati wa checkout na kufuatilia mahali unapoweza kuhitaji kujisajili, lakini wewe bado una wajibu wa majukumu yako ya kodi. Wasiliana na mhasibu kwa hali yako.