การสมัครสมาชิก
AM จัดการวงจรการสมัครสมาชิกของ Stripe สำหรับบัญชี เพื่อให้คุณโฟกัสที่ราคาและสิทธิ์การเข้าถึง แทนการจัดการ webhook
สร้าง checkout session ให้ลูกค้าจัดการแพ็กเกจเอง และซิงค์สถานะการเข้าถึงกับ Stripe
ลำดับการสมัครสมาชิก
Endpoints
| Endpoint | วัตถุประสงค์ |
|---|---|
POST /api/accounts/:account_id/subscriptions/stripe/checkout-session | เริ่ม checkout สมัครสมาชิก |
POST /api/accounts/:account_id/subscriptions/stripe/portal-session | เปิดพอร์ทัลลูกค้า |
POST /api/accounts/:account_id/subscriptions/stripe/checkout-session-sync | ซิงค์ checkout กับการสมัครสมาชิก |
POST /api/accounts/:account_id/subscriptions/sync | ซิงค์การสมัครสมาชิกจาก Stripe |
POST /api/accounts/:account_id/subscriptions/change | เปลี่ยนแพ็กเกจหรือราคา |
POST /api/accounts/:account_id/subscriptions/cancel | ยกเลิกการสมัครสมาชิก |
GET /api/accounts/:account_id/subscriptions | รายการการสมัครสมาชิก |
GET /api/accounts/:account_id/subscriptions/features | รายการฟีเจอร์ที่ใช้งาน |
GET /api/accounts/:account_id/subscriptions/identity | ดูข้อมูลลูกค้า Stripe |
POST /api/applications/:application_id/subscriptions/stripe/webhook | Webhook ของ Stripe |
Checkout Session
สร้าง Stripe Checkout session สำหรับการสมัครสมาชิกใหม่:
// Request
{
price_id: "price_...",
success_url: "https://app.example.com/success",
cancel_url: "https://app.example.com/cancel"
}
// Response
{
url: "https://checkout.stripe.com/..."
}
ให้ผู้ใช้ไปยัง URL ที่ได้กลับมา เมื่อชำระเงินเสร็จ Stripe จะพากลับไปยัง success URL ของคุณ
Customer Portal
ให้ลูกค้าจัดการเองได้:
- อัปเดตวิธีการชำระเงิน
- ดูใบแจ้งหนี้
- ยกเลิกการสมัครสมาชิก
- เปลี่ยนแพ็กเกจ
// Request
{
return_url: "https://app.example.com/settings";
}
// Response
{
url: "https://billing.stripe.com/...";
}
ตัวตนการสมัครสมาชิก
แต่ละบัญชีมีตัวตนการสมัครสมาชิกเพื่อเชื่อมบัญชีกับลูกค้า Stripe ใช้สำหรับแก้ webhook และซิงค์สถานะการเรียกเก็บเงิน
เหตุการณ์ Webhook
AM จัดการ webhook ของ Stripe และทำการ retry เมื่อไม่สำเร็จ:
| เหตุการณ์ | การทำงาน |
|---|---|
checkout.session.completed | ผูกลูกค้าและสร้างการสมัครสมาชิก |
customer.subscription.* | ซิงค์ข้อมูลการสมัครสมาชิก |
invoice.paid | ซิงค์ใบแจ้งหนี้ + อัปเดตการเข้าถึง |
invoice.payment_failed | อัปเดตช่วงเวลาการเข้าถึง |
ที่เกี่ยวข้อง
- การชำระเงิน - ประวัติการชำระเงิน
- การชำระเงิน - ทรัพยากรการชำระเงิน
- บัญชี - การจัดการบัญชี