Ikhtisar
Boilerplate Astro minimal menyediakan titik awal yang siap digunakan untuk mengintegrasikan Dodo Payments dengan aplikasi Astro Anda. Template ini mencakup sesi checkout, penanganan webhook, portal pelanggan, dan komponen UI modern untuk membantu Anda mulai menerima pembayaran dengan cepat.Boilerplate ini menggunakan Astro 5 dengan TypeScript, Tailwind CSS 4, dan adapter
@dodopayments/astro.Fitur
- Quick Setup - Mulai dalam kurang dari 5 menit
- Payment Integration - Alur checkout yang telah dikonfigurasi sebelumnya menggunakan
@dodopayments/astro - Modern UI - Halaman harga bertema gelap yang bersih dengan Tailwind CSS
- Webhook Handler - Endpoint webhook siap pakai untuk event pembayaran
- Customer Portal - Manajemen langganan satu klik
- TypeScript - Sepenuhnya bertipe dengan tipe minimal dan fokus
- Pre-filled Checkout - Menunjukkan cara meneruskan data pelanggan untuk meningkatkan UX
Prasyarat
Sebelum Anda mulai, pastikan Anda memiliki:- Node.js versi LTS (diperlukan untuk Astro 5)
- Akun Dodo Payments (untuk mengakses API dan Kunci Webhook dari dasbor)
Memulai dengan Cepat
Get API Credentials
Daftar di Dodo Payments dan dapatkan kredensial Anda dari dasbor:
- Kunci API: Dasbor → Pengembang → Kunci API
- Kunci Webhook: Dasbor → Pengembang → Webhook
Configure Environment Variables
Buat file Perbarui nilai dengan kredensial Dodo Payments Anda:
.env di direktori root:Add Your Products
Perbarui
src/lib/products.ts dengan ID produk Anda yang sebenarnya dari Dodo Payments:Run the Development Server
Struktur Proyek
Kustomisasi
Perbarui Informasi Produk
Suntingsrc/lib/products.ts untuk mengubah:
- ID Produk (dari dasbor Dodo Anda)
- Harga
- Fitur
- Deskripsi
Isi Data Pelanggan
Disrc/components/ProductCard.astro, gantilah nilai yang dikodekan langsung dengan data pengguna Anda yang sebenarnya:
Perbarui Portal Pelanggan
Disrc/components/Header.astro, gantilah ID pelanggan yang dikodekan langsung dengan ID pelanggan aktual dari sistem otentikasi atau basis data Anda:
Peristiwa Webhook
Boilerplate ini menunjukkan penanganan event webhook disrc/pages/api/webhook.ts:
onSubscriptionActive- Dipicu ketika sebuah langganan menjadi aktifonSubscriptionCancelled- Dipicu ketika sebuah langganan dibatalkan
Penyebaran
Boilerplate ini menggunakan output statis dengan rendering sesuai permintaan untuk rute API. Anda perlu menginstal adapter untuk platform penyebaran Anda:| Platform | Panduan |
|---|---|
| Vercel | Deploy to Vercel |
| Netlify | Deploy to Netlify |
| Cloudflare | Deploy to Cloudflare |
Perbarui URL Webhook
Setelah penyebaran, perbarui URL webhook Anda di Dasbor Dodo Payments:DODO_PAYMENTS_WEBHOOK_KEY di lingkungan produksi Anda agar sesuai dengan kunci penandatanganan webhook untuk domain yang Anda deploy.
Pemecahan Masalah
Module not found or build errors
Module not found or build errors
Hapus
node_modules dan pasang kembali dependensi:Checkout redirect fails
Checkout redirect fails
Penyebab umum:
- ID produk tidak valid - pastikan ada di dasbor Dodo Anda
- Kunci API atau pengaturan lingkungan yang salah di
.env - Periksa konsol browser dan terminal untuk melihat kesalahan
Webhooks not receiving events
Webhooks not receiving events
Untuk pengujian lokal, gunakan ngrok untuk mengekspos server Anda:Perbarui URL webhook di dasbor Dodo Anda ke URL ngrok. Ingat untuk memperbarui file .env Anda dengan kunci verifikasi webhook yang benar.
Customer portal link doesn't work
Customer portal link doesn't work
Ganti
CUSTOMER_ID yang dikodekan langsung di src/components/Header.astro dengan ID pelanggan nyata dari dasbor Dodo Anda.Atau integrasikan sistem otentikasi dan basis data Anda untuk mengambil ID pelanggan secara dinamis.Build fails with adapter error
Build fails with adapter error
Boilerplate ini menggunakan output statis dengan rute API sesuai permintaan. Anda perlu menginstal adapter untuk deployment:Lihat panduan deployment Astro untuk detail.
Pelajari Lebih Lanjut
Dukungan
Butuh bantuan dengan boilerplate?- Bergabunglah dengan komunitas Discord kami untuk pertanyaan dan diskusi
- Periksa repositori GitHub untuk masalah dan pembaruan
- Hubungi tim dukungan kami untuk bantuan