Skip to main content
Tutorial ini menunjukkan cara menerapkan penetapan harga berbasis seat menggunakan add-on Dodo Payments. Anda akan membuat produk langganan dengan add-on untuk seat tambahan dan membuat payment link dengan jumlah add-on khusus.
Tutorial ini menggunakan Node.js dan Express. Anda dapat menyesuaikan kode untuk framework Anda (Next.js, React, Vue, dll.) serta menyesuaikan UI agar sesuai dengan aplikasi Anda.
Pada akhir tutorial ini, Anda akan tahu cara:
  • Membuat produk langganan dengan penetapan harga berdasarkan kursi
  • Mengatur add-on untuk kursi tambahan
  • Menghasilkan tautan pembayaran dengan jumlah add-on kustom
  • Menangani sesi checkout dengan jumlah kursi dinamis

Apa yang Kita Bangun

Mari kita buat model penetapan harga berdasarkan kursi:
  • Paket Dasar: $49/bulan untuk hingga 5 anggota tim
  • Add-on Seat: $2/bulan per seat tambahan
  • Payment Link: checkout dinamis dengan jumlah seat khusus
Sebelum kita mulai, pastikan Anda sudah memiliki:
  • Akun Dodo Payments
  • Pemahaman dasar tentang TypeScript/Node.js

Langkah 1: Buat Add-On Kursi Anda

Buat add-on yang merepresentasikan seat tambahan. Add-on ini akan dilampirkan ke langganan dasar dan memungkinkan pelanggan membeli seat tambahan.
Membuat add-on seat di dashboard
Yang akan kita buat: Add-on seharga $2/bulan per seat yang dapat ditambahkan ke langganan dasar apa pun.
1

Navigate to Add-Ons

  1. Di dashboard Dodo Payments Anda, tetaplah di bagian Products
  2. Klik tab Add-Ons
  3. Klik Create Add-On
Ini akan membuka formulir pembuatan add-on.
2

Enter add-on details

Isi nilai-nilai berikut untuk add-on kursi kami:Nama Add-On: Additional Team SeatDeskripsi: Add extra team members to your workspace with full access to all featuresHarga: Masukkan → 2.00Mata Uang: Harus sesuai dengan mata uang langganan dasar AndaKategori Pajak: Pilih kategori yang sesuai untuk produk Anda.
3

Save your add-on

  1. Tinjau semua pengaturan Anda:
    • Nama: Additional Team Seat
    • Harga: $2.00/bulan
  2. Klik Create Add-On
Add-on dibuat! Add-on kursi Anda sekarang tersedia untuk dilampirkan ke langganan.

Langkah 2: Buat Produk Langganan Dasar Anda

Buat produk langganan dasar yang mencakup 5 anggota tim. Produk ini akan menjadi dasar model penetapan harga berbasis seat Anda.
Membuat produk langganan dasar di dashboard
1

Navigate to Products

  1. Masuk ke dashboard Dodo Payments Anda
  2. Klik Products di bilah sisi kiri
  3. Klik tombol Create Product
  4. Pilih Subscription sebagai tipe produk
Anda akan melihat formulir tempat kita akan mengonfigurasi langganan dasar.
2

Fill in the subscription details

Sekarang kita akan memasukkan detail spesifik untuk paket dasar kita:Nama Produk: MotionDeskripsi: Where your team's documentation lives.Harga Berulang: Masukkan → 49.00Siklus Penagihan: Pilih → MonthlyMata Uang: Pilih mata uang pilihan Anda (misalnya, USD)

Langkah 3: Hubungkan Add-On ke Langganan

Hubungkan add-on seat Anda dengan langganan dasar agar pelanggan dapat membeli seat tambahan selama checkout.
1

Attach the seat add-on

Melampirkan add-on ke langganan di dashboard
  1. Gulir ke bawah ke bagian Add-Ons
  2. Klik Tambahkan Add-Ons
  3. Dari dropdown, pilih add-on kursi Anda
  4. Konfirmasi bahwa itu muncul dalam konfigurasi langganan Anda
2

Save subscription changes

  1. Tinjau penyiapan langganan lengkap Anda:
    • Paket dasar: $49/bulan untuk 5 kursi
    • Add-on: $2/bulan untuk setiap kursi tambahan
  2. Klik Simpan Perubahan
Penetapan harga berbasis seat telah dikonfigurasi! Pelanggan kini dapat membeli paket dasar Anda dan menambahkan seat ekstra sesuai kebutuhan.
Buat aplikasi Express.js yang menghasilkan payment link dengan jumlah add-on khusus. Dengan demikian, Anda dapat membuat sesi checkout secara dinamis dengan jumlah seat tambahan berapa pun.
1

Set up your project

Buat proyek Node.js baru dan instal dependensi yang diperlukan:
Buat file tsconfig.json:
2

Create your environment file

Buat file .env dengan API key Dodo Payments Anda:
Jangan pernah commit API key Anda ke version control. Tambahkan .env ke file .gitignore Anda.
3

Implement the checkout session creation

Buat file src/server.ts dengan kode berikut:
4

Add a simple web interface

Buat file public/index.html untuk pengujian dengan mudah:
Antarmuka web telah dibuat! Kini Anda memiliki UI sederhana untuk menguji berbagai jumlah seat.
5

Serve static files

Tambahkan ini ke src/server.ts Anda untuk menyajikan file HTML:
File statis telah dikonfigurasi! Kunjungi http://localhost:3000 untuk melihat antarmuka demo Anda.

Langkah 5: Uji Implementasi Anda

Mari uji implementasi penetapan harga berbasis seat untuk memastikan semuanya berfungsi dengan benar.
1

Start your server

  1. Pastikan Anda memiliki file .env dengan API key yang benar
  2. Perbarui ID produk dan add-on dalam kode Anda dengan nilai aktual dari dashboard Dodo Payments
  3. Jalankan server Anda:
Server Anda seharusnya berhasil dimulai dan menampilkan “Server is running on port 3000”
2

Test the web interface

Antarmuka demo penetapan harga berbasis seat
  1. Buka browser Anda dan buka http://localhost:3000
  2. Anda seharusnya melihat antarmuka demo penetapan harga berbasis seat
  3. Coba berbagai jumlah seat (0, 3, 10, dll.)
  4. Klik “Generate Checkout Link” untuk setiap jumlah
  5. Verifikasi bahwa URL checkout dibuat dengan benar
3

Test a checkout session

  1. Buat payment link dengan 3 seat tambahan
  2. Klik URL checkout untuk membuka checkout Dodo Payments
  3. Verifikasi bahwa checkout menampilkan:
    • Paket dasar: $49/bulan
    • Seat tambahan: 3 × 2 dolar = $6/bulan
  4. Selesaikan pembelian pengujian
Checkout seharusnya menampilkan rincian harga yang benar dan memungkinkan Anda menyelesaikan pembelian.
4

Listen for webhooks and update your database

Jaga database Anda tetap sinkron dengan perubahan langganan dan seat dengan mendengarkan event webhook dari Dodo Payments. Webhook memberi tahu backend Anda saat pelanggan menyelesaikan checkout, memperbarui langganan, atau mengubah jumlah seat.Ikuti panduan webhook resmi Dodo Payments untuk mendapatkan instruksi langkah demi langkah tentang penyiapan endpoint webhook dan penanganan event:

Dodo Payments Webhooks Documentation

Pelajari cara menerima dan memproses event webhook dengan aman untuk mengelola langganan dan seat.

Pemecahan Masalah

Masalah umum dan solusinya:
Kemungkinan penyebab:
  • ID produk atau ID add-on tidak valid
  • API key tidak memiliki izin yang memadai
  • Add-on tidak dikaitkan dengan langganan dengan benar
  • Masalah konektivitas jaringan
Solusi:
  1. Verifikasi bahwa ID produk dan add-on tersedia di dashboard Dodo Payments Anda
  2. Periksa bahwa add-on telah dilampirkan dengan benar ke langganan
  3. Pastikan API key memiliki izin untuk membuat sesi checkout
  4. Uji konektivitas API dengan request GET sederhana

Selamat! Anda Telah Menerapkan Penetapan Harga Berbasis Seat

Anda telah berhasil membuat sistem penetapan harga berbasis seat dengan Dodo Payments. Berikut hal-hal yang telah Anda capai:

Base Subscription

Membuat produk langganan dengan 5 seat yang disertakan seharga $49/bulan

Seat Add-ons

Mengonfigurasi add-on untuk seat tambahan seharga $2/bulan per seat

Checkout

Membangun API yang menghasilkan sesi checkout dengan jumlah seat khusus

Web Interface

Membuat antarmuka web sederhana untuk menguji berbagai jumlah seat
Contoh ini menunjukkan implementasi minimal penetapan harga berbasis seat. Untuk penggunaan production, tambahkan error handling, authentication, validasi data, langkah-langkah keamanan, dan sesuaikan logikanya dengan kebutuhan aplikasi Anda.
Terakhir diubah pada 28 September 2026