Langsung ke konten utama
Dodo Payments menyediakan adaptor framework resmi yang menyederhanakan integrasi pembayaran. Setiap adaptor dirancang untuk bekerja secara mulus dengan konvensi framework Anda, menawarkan checkout, portal pelanggan, dan penanganan webhook secara langsung.
Adaptor framework memungkinkan Anda mengintegrasikan Dodo Payments dalam kurang dari 10 baris kode. Mereka menangani otentikasi, parsing permintaan, dan format respons secara otomatis.

Adaptor Framework yang Tersedia

Pilih adaptor yang sesuai dengan framework Anda:

Fitur Utama

Semua adaptor framework menyediakan kemampuan bawaan ini:
FiturDeskripsi
Penangan CheckoutDukungan untuk alur checkout statis, dinamis, dan berbasis sesi
Portal PelangganPenangan bawaan untuk manajemen langganan dan penagihan
Penangan WebhookVerifikasi tanda tangan yang aman dengan penangan acara bertipe
Konfigurasi LingkunganPengaturan sederhana melalui variabel lingkungan
Keamanan TipeDukungan penuh TypeScript dengan payload bertipe

Memulai dengan Cepat

Mulai dengan adaptor framework mana pun dalam tiga langkah:
1

Instal Adaptor

Gunakan manajer paket Anda untuk menginstal adaptor spesifik framework:
npm install @dodopayments/nextjs
2

Konfigurasi Variabel Lingkungan

Tambahkan kredensial Dodo Payments Anda ke lingkungan Anda:
DODO_PAYMENTS_API_KEY=your-api-key
DODO_PAYMENTS_WEBHOOK_KEY=your-webhook-secret
DODO_PAYMENTS_RETURN_URL=https://yourdomain.com/checkout/success
DODO_PAYMENTS_ENVIRONMENT="test_mode" # or "live_mode"
Jangan pernah mengkomit file .env atau rahasia Anda ke kontrol versi.
3

Buat Penangan Rute

Siapkan rute checkout, portal pelanggan, dan webhook Anda:
// app/checkout/route.ts
import { Checkout } from "@dodopayments/nextjs";

export const GET = Checkout({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
  environment: process.env.DODO_PAYMENTS_ENVIRONMENT,
});
Anda sekarang siap untuk memproses pembayaran! Kunjungi halaman adaptor individu untuk panduan rinci dan semua opsi yang tersedia.

Jenis Alur Checkout

Semua adaptor mendukung tiga jenis alur checkout:
Gunakan checkout statis untuk tautan pembayaran yang sederhana dan dapat dibagikan. Kirimkan ID produk sebagai parameter kueri:
/api/checkout?productId=pdt_xxx&quantity=1
Mendukung pengisian pra-pelanggan dan kustomisasi opsional melalui parameter kueri.
Gunakan checkout dinamis untuk membuat pembayaran secara programatis dengan detail kustom:
{
  "product_id": "pdt_xxx",
  "customer": {
    "email": "customer@example.com",
    "name": "John Doe"
  },
  "quantity": 1
}
Mendukung pembayaran satu kali dan langganan.
Gunakan sesi checkout untuk pengalaman checkout yang paling fleksibel dengan dukungan keranjang:
{
  "product_cart": [
    { "product_id": "pdt_xxx", "quantity": 1 },
    { "product_id": "pdt_yyy", "quantity": 2 }
  ],
  "customer": {
    "email": "customer@example.com"
  }
}
Pelajari lebih lanjut di Panduan Sesi Checkout.

Penanganan Acara Webhook

Semua adaptor menyediakan penanganan webhook yang aman tipe dengan callback acara yang terperinci:
Webhooks({
  webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY,
  onPayload: async (payload) => {
    // Handle any webhook event
  },
  onPaymentSucceeded: async (payload) => {
    // Handle successful payments
  },
  onSubscriptionActive: async (payload) => {
    // Handle new subscriptions
  },
  // ... 20+ event types supported
});
Semua penangan webhook secara otomatis memverifikasi tanda tangan dan memvalidasi payload menggunakan skema Zod. Permintaan yang tidak valid ditolak dengan kode kesalahan yang sesuai.

Memilih Adaptor yang Tepat

FrameworkTerbaik UntukRuntime
Next.jsAplikasi React full-stack dengan App RouterNode.js, Edge
NuxtAplikasi Vue.js full-stackNode.js
ExpressREST API dan aplikasi Node.js tradisionalNode.js
FastifyAPI berkinerja tinggiNode.js
HonoPenempatan edge, Cloudflare WorkersEdge, Node.js
AstroSitus konten dengan endpoint serverNode.js, Edge
SvelteKitAplikasi Svelte full-stackNode.js
RemixReact full-stack dengan routing bersarangNode.js
TanStack StartReact full-stack yang aman tipeNode.js
Better AuthAplikasi yang sudah menggunakan Better AuthBerbagai
ConvexAplikasi yang menggunakan Convex untuk backendConvex Runtime

Mendapatkan Bantuan

Butuh bantuan dengan adaptor framework?