Mengurus Langganan
Kendalikan pelan dan pembaharuan.
Mengurus Langganan ialah pelajaran Pengekodan Vibe percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pengekodan Vibe, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pengekodan Vibe merangkumi sejumlah 4 pelajaran.
Langganan Menyimpan Keadaan
Langganan bukan satu caj tunggal — ia ialah hubungan berterusan yang berlangsung mengikut masa. Langganan mempunyai status, tempoh semasa dan jadual pengebilan yang dimajukan oleh penyedia secara automatik.
Tugas anda ialah mencerminkan keadaan itu dalam pangkalan data sendiri supaya aplikasi sentiasa mengetahui sama ada pengguna tertentu sedang layak menggunakan ciri berbayar.
Mesin Status
Langganan bergerak melalui beberapa keadaan: percubaan, aktif, tertunggak, dibatalkan dan tidak berbayar. Setiap peralihan membawa akibat terhadap akses.
Modelkan perkara ini secara jelas. Anggap "aktif" dan "percubaan" sebagai layak, "tertunggak" sebagai tempoh ihsan, dan "dibatalkan" atau "tidak berbayar" sebagai akses yang ditarik balik. Menetapkan satu nilai benar atau palsu sahaja akan membuang maklumat yang anda perlukan kemudian.
List every subscription status Stripe can report (trialing, active, past_due, canceled, unpaid, incomplete) and tell me, for each, whether my app should grant or revoke access to paid features. Put it in a decision table.Kelayakan, Bukan Penanda
Elakkan menaburkan "jika user.paid" di merata-rata tempat. Pusatkan satu fungsi yang menjawab "apakah kelayakan pengguna ini sekarang?" berdasarkan keadaan langganannya.
Semakan kelayakan ini menjadi satu-satunya tempat logik akses anda berada. Ubah peraturan sekali sahaja dan seluruh aplikasi akan mematuhinya.
Write a single getEntitlements(userId) function that reads the stored subscription status and plan, and returns the feature set the user can access. Make every feature gate in the app call this one function instead of checking raw flags.Tempoh Percubaan
Tempoh percubaan memberikan akses sebelum caj pertama. Langganan berada dalam keadaan percubaan; pada akhir tempoh percubaan, penyedia akan cuba membuat pembayaran dan menukarnya kepada aktif atau tertunggak.
Tentukan sama ada percubaan memerlukan kad sejak awal. Kad sejak awal mengurangkan penyalahgunaan tetapi mengurangkan pendaftaran; tanpa kad lebih mesra pengguna tetapi menarik pengguna yang tidak benar-benar berminat.
I want a 14-day free trial. Compare requiring a card up front versus no card at all: conversion, abuse, and the webhook events I need to handle when the trial ends and the first real charge succeeds or fails.Naik Taraf dan Turun Taraf
Pelanggan menukar pelan di tengah-tengah kitaran. Naik taraf biasanya berkuat kuasa serta-merta dengan caj berkadar untuk baki tempoh. Turun taraf selalunya berkuat kuasa pada pembaharuan seterusnya bagi mengelakkan bayaran balik.
Pengkadaran prorata ialah pengiraan kredit bagi masa yang tidak digunakan dan pengebilan perbezaan. Biarkan penyedia mengiranya; tugas anda ialah memilih dasar masa pelaksanaannya.
Explain proration when a user upgrades from the $10 plan to the $30 plan halfway through a billing month. Show how Stripe handles the credit and charge, and recommend whether downgrades should be immediate or deferred to period end.Pembatalan
Pembatalan jarang bermaksud akses diputuskan serta-merta. Corak standard ialah pembatalan pada akhir tempoh: pengguna mengekalkan akses sehingga tempoh yang telah dibayarnya tamat, kemudian akses luput.
Ini mengelakkan pertikaian bayaran balik dan menghormati perkara yang telah dibayar oleh pelanggan. Cerminkan kedua-dua permintaan pembatalan dan pelupusan sebenar dalam keadaan anda.
Implement cancellation as cancel_at_period_end so the user keeps paid access until the end of the current period, then loses it. Show which webhook tells me the subscription actually ended versus merely being scheduled to cancel.Pembaharuan Gagal dan Kutipan Tunggakan
Kad boleh tamat tempoh dan gagal. Apabila pembaharuan gagal, langganan menjadi tertunggak dan penyedia akan mencuba semula mengikut jadual — proses pemulihan ini dipanggil kutipan tunggakan.
Semasa kutipan tunggakan, anda boleh mengekalkan akses (tempoh ihsan) atau menyekatnya. Hantar e-mel kepada pelanggan supaya mereka mengemas kini kad. Tentukan dasar tempoh ihsan anda dengan jelas.
Set up dunning for failed subscription renewals: configure Stripe's retry schedule, decide a 3-day grace period where access continues, and send the customer a card-update email. List the webhook events that drive each step.Menyegerakkan Pangkalan Data Anda
Penyedia ialah sumber kebenaran, tetapi menanyakannya pada setiap permintaan adalah lambat. Sebaliknya, simpan keadaan langganan dalam pangkalan data anda dan kemas kininya setiap kali webhook tiba.
Setiap peristiwa yang berkaitan — dicipta, dikemas kini, dipadam, pembayaran gagal — hendaklah menulis status baharu kepada rekod anda. Aplikasi anda kemudian membaca salinan tempatan yang pantas itu.
Design a subscriptions table that mirrors Stripe state (status, plan, current_period_end, cancel_at_period_end). Write the webhook handler that updates this row on customer.subscription.created, updated, and deleted so my app reads its own copy.Portal Pelanggan
Membina antara muka pengebilan layan diri memerlukan banyak kerja. Kebanyakan penyedia menawarkan portal pelanggan terhos yang membolehkan pengguna mengemas kini kad, menukar pelan, melihat invois dan membatalkan langganan.
Anda menjana pautan portal daripada pelayan; penyedia mengendalikan selebihnya dan mengeluarkan webhook untuk sebarang perubahan yang dibuat pengguna. Ini menjimatkan masa berminggu-minggu untuk kerja antara muka.
Add a "Manage Billing" button that calls my server to create a Stripe Billing Portal session for the logged-in customer and redirects them there. Confirm that plan changes they make in the portal come back to me as webhook events.Tempoh Ihsan, Pengaktifan Semula dan Kes Tepi
Kehidupan sebenar penuh dengan keadaan yang rumit: pengguna yang tertunggak membayar lewat dan patut mendapat semula akses; pengguna yang membatalkan melanggan semula; bayaran balik membalikkan caj. Setiap keadaan mesti mengemas kini kelayakan dengan betul.
Salurkan setiap perubahan melalui logik status kepada kelayakan yang sama. Jika pengaktifan semula menukar status kembali kepada aktif, akses hendaklah dipulihkan secara automatik tanpa kod kes khas.
Menguji Kitar Hayat Langganan
Gunakan jam ujian atau peristiwa simulasi untuk mempercepatkan masa: mulakan percubaan, tamatkan percubaan, gagalkan pembaharuan, pulihkan langganan, kemudian batalkan. Sahkan kelayakan pada setiap langkah.
Langganan gagal pada masa hadapan, bukan semasa pembayaran. Menguji keseluruhan kitar hayat ialah satu-satunya cara untuk mengesan pepijat pembaharuan sebelum pelanggan mengalaminya.
Use Stripe test clocks to simulate a full subscription lifecycle: trial start, trial end with successful charge, a failed renewal that goes past_due, recovery, and finally cancellation. For each phase, tell me what my entitlement check should return.Semakan Pantas
Sahkan cara paling kemas untuk mengurus logik akses.
Ringkasan
Langganan ialah hubungan berkeadaan dengan mesin status: percubaan, aktif, tertunggak, dibatalkan dan tidak berbayar. Pusatkan akses dalam satu fungsi kelayakan supaya setiap kawalan mematuhi peraturan yang sama, dan simpan keadaan penyedia dalam pangkalan data anda melalui webhook dan bukannya tinjauan berkala.
Kendalikan percubaan, naik taraf berkadar, pembatalan pada akhir tempoh dan kutipan tunggakan bagi pembaharuan yang gagal. Tawarkan portal pelanggan terhos untuk menjimatkan kerja antara muka, dan uji keseluruhan kitar hayat dengan jam ujian sebelum pelancaran.
Pelajari JavaScript dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 25
- Pelajaran
- 100
Soalan Lazim
Adakah pelajaran “Mengurus Langganan” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pengekodan Vibe, termasuk “Mengurus Langganan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pengekodan Vibe merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Mengurus Langganan”?
Kendalikan pelan dan pembaharuan. Anda berlatih Pengekodan Vibe menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pengekodan Vibe?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pengekodan Vibe di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Mengurus Langganan” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pengekodan Vibe ini?
Ya. Setiap pelajaran Pengekodan Vibe menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Konsep Pembayaran
- Menyediakan Halaman Pembayaran
- Mengurus Langganan
- Mengesahkan Pembayaran dengan Selamat