Langsung ke konten utama

Documentation Index

Fetch the complete documentation index at: https://belajarkoding.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Fitur ini menghubungkan pricing di UI dengan transaksi nyata di backend. Area ini mencakup checkout, order page, pengelolaan subscription, dan webhook payment provider.

Apa yang termasuk di fitur ini

  • /checkout
  • /order/[id]
  • /dashboard/billing
  • POST /api/payments
  • POST /api/subscription
  • POST /api/webhooks/midtrans
  • POST /api/webhooks/doku

Route dan endpoint terkait

Route atau endpointJenisFungsi
/checkoutHalaman publikMemulai checkout dari pricing atau CTA upgrade
/order/[id]Halaman publikMelihat status order dan hasil transaksi
/dashboard/billingHalaman dashboardMengelola paket, upgrade, cancel, atau resume
POST /api/paymentsAPI mutationMembuat sesi pembayaran atau pending payment
POST /api/subscriptionAPI mutationCancel atau resume subscription
GET /payment/callbackRoute callbackMengarahkan balik ke order atau billing sesudah callback payment
POST /api/webhooks/midtransWebhookMemverifikasi dan memproses event Midtrans
POST /api/webhooks/dokuWebhookMemverifikasi dan memproses event Doku

Dependensi utama

ItemWajib?Catatan
NEXT_PUBLIC_ENABLE_PAYMENTS=trueYaMengaktifkan jalur billing
Auth aktifYaUser perlu login untuk billing flow
PAYMENT_PROVIDERYamidtrans atau doku
Credential providerYaSesuai provider yang dipilih
SUPABASE_SERVICE_ROLE_KEYYa untuk banyak writeDipakai untuk payment write, audit, dan subscription update

File dan config yang paling sering disentuh

AreaFile utama
Katalog planconfig/subscriptions.ts
Copy pricingcomponents/sections/*
Payment routeapp/api/payments/route.ts atau area setara
Subscription actionapp/api/subscription/route.ts atau area setara
Webhookapp/api/webhooks/*

Yang biasanya dikustomisasi

  • nama dan benefit plan,
  • harga paket,
  • CTA upgrade,
  • copy checkout,
  • alur sukses atau gagal payment,
  • jalur cancel dan resume subscription,
  • messaging order page.

Kapan fitur ini dimatikan

Payments biasanya dimatikan kalau:
  • produk tidak dijual dengan billing publik,
  • produk hanya berupa portal member internal,
  • launch masih fokus ke waitlist atau validasi awal.
Kalau dimatikan, rapikan:
  • pricing checkout,
  • CTA upgrade,
  • copy yang menjanjikan plan atau subscription,
  • entry dashboard billing yang tidak relevan.

Checklist verifikasi

  1. Satu payment sandbox berhasil dibuat.
  2. Order page menampilkan status yang benar.
  3. Webhook sampai ke route yang benar.
  4. Subscription aktif atau berubah status dengan benar.
  5. Cancel dan resume berjalan untuk akun test.
  6. Admin bisa melihat payment dan event yang relevan.
Kalau kamu sedang memilih provider atau mengisi env, lanjutkan ke Setup layanan dan Environment variables.