Langganan
AM mengelola siklus hidup langganan Stripe untuk akun sehingga Anda dapat fokus pada harga dan akses, bukan mengurus webhook.
Buat sesi checkout, biarkan pelanggan mengelola paketnya, dan jaga akses akun tetap sinkron dengan Stripe.
Alur Langganan
Endpoint
| Endpoint | Tujuan |
|---|---|
POST /api/accounts/:account_id/subscriptions/stripe/checkout-session | Memulai checkout langganan |
POST /api/accounts/:account_id/subscriptions/stripe/portal-session | Membuka portal pelanggan |
POST /api/accounts/:account_id/subscriptions/stripe/checkout-session-sync | Sinkronisasi checkout ke langganan |
POST /api/accounts/:account_id/subscriptions/sync | Sinkronisasi langganan dari Stripe |
POST /api/accounts/:account_id/subscriptions/change | Mengubah paket atau harga |
POST /api/accounts/:account_id/subscriptions/cancel | Membatalkan langganan |
GET /api/accounts/:account_id/subscriptions | Daftar langganan |
GET /api/accounts/:account_id/subscriptions/features | Daftar fitur aktif |
GET /api/accounts/:account_id/subscriptions/identity | Mendapatkan identitas pelanggan Stripe |
POST /api/applications/:application_id/subscriptions/stripe/webhook | Webhook Stripe |
Sesi Checkout
Membuat sesi Stripe Checkout untuk langganan baru:
// Request
{
price_id: "price_...",
success_url: "https://app.example.com/success",
cancel_url: "https://app.example.com/cancel"
}
// Response
{
url: "https://checkout.stripe.com/..."
}
Arahkan pengguna ke URL yang dikembalikan. Setelah pembayaran, Stripe akan mengarahkan kembali ke URL sukses Anda.
Portal Pelanggan
Biarkan pelanggan mengelola sendiri:
- Memperbarui metode pembayaran
- Melihat faktur
- Membatalkan langganan
- Mengubah paket
// Request
{
return_url: "https://app.example.com/settings";
}
// Response
{
url: "https://billing.stripe.com/...";
}
Identitas Langganan
Setiap akun memiliki identitas langganan yang memetakan akun ke pelanggan Stripe. Ini digunakan untuk menyelesaikan webhook dan menyinkronkan status penagihan.
Event Webhook
AM menangani webhook Stripe dan melakukan retry jika gagal:
| Event | Aksi |
|---|---|
checkout.session.completed | Menghubungkan pelanggan dan membuat langganan |
customer.subscription.* | Sinkronisasi data langganan |
invoice.paid | Sinkronisasi faktur + perbarui akses |
invoice.payment_failed | Perbarui jendela akses |
Terkait
- Pembayaran - Riwayat pembayaran
- Pembayaran - Resource pembayaran
- Akun - Manajemen akun