Produk & Fitur
Tentukan apa yang kamu jual. Buat produk dengan satu atau lebih varian, lampirkan fitur yang dapat digunakan kembali untuk kontrol akses berbasis entitlement.
Proyecta Commerce menggunakan tiga konsep: produk, varian, dan fitur.
- Produk — hal yang kamu jual (misalnya “Pro Plan”, “Kaos”, “Strategy Call”)
- Varian — tingkatan harga atau konfigurasi dari sebuah produk (misalnya “Pro Bulanan $29”, “Pro Tahunan $290”, “Kaos – Large”)
- Fitur — kunci entitlement yang dapat digunakan kembali, yang diperiksa oleh aplikasimu saat runtime (misalnya
pro_features,unlimited_projects,api_access)
Sebuah produk bisa memiliki beberapa varian. Produk juga memiliki satu atau lebih resource yang dilampirkan — biasanya berupa fitur — yang memberikan akses ketika pelanggan berlangganan.
Membuat produk
Section titled “Membuat produk”Di Dashboard > Commerce > Products, klik Create product (atau tanyakan ke AI: "Create a Pro plan at $29/month and a Business plan at $99/month."). Setiap produk memerlukan:
- Sebuah nama tampilan (misalnya “Pro”)
- Setidaknya satu varian
Varian
Section titled “Varian”Setiap varian memiliki harganya sendiri:
| Kolom | Keterangan |
|---|---|
name | Label tampilan untuk varian (“Monthly”, “Annual”, “Large”) |
currency | Kode ISO tiga huruf — USD, EUR, GBP, JPY, BRL, MXN, INR… (SDK mendukung 130+) |
unit_amount | Harga dalam satuan mata uang terkecil (sen). 2900 = $29.00 |
recurring | Opsional — { interval: 'week' | 'month' | 'year' }. Hilangkan untuk harga satu kali. Penagihan harian belum didukung saat ini. |
is_default | Diterima tetapi belum diterapkan — pemilihan varian default belum diimplementasikan saat ini. |
media | Lampirkan gambar atau video berdasarkan file ID CDN (lihat Files) |
Harga bersifat permanen. Setelah varian dibuat, harganya tidak dapat diubah — buat varian baru sebagai gantinya. Ini melindungi pelanggan yang sudah ada dari perubahan harga yang tidak disengaja.
Fitur (entitlement)
Section titled “Fitur (entitlement)”Fitur adalah elemen dasar kontrol akses. Buat fitur sekali, lalu lampirkan ke satu atau lebih produk.
// Create a featureconst pro = await proyecta.commerce.features.create({ name: 'Pro features', description: 'Unlocks the Pro tier capabilities', // optional custom id — lowercase alphanumeric and underscores only (e.g. 'pro_features')});Saat kamu membuat produk, kamu melampirkan fitur ke dalamnya melalui “resources”. Pelanggan yang berlangganan sebuah produk mendapatkan akses ke setiap fitur yang dilampirkan padanya.
Kemudian, di dalam aplikasimu, periksa apakah pelanggan memiliki akses:
const { has_access } = await proyecta.commerce.check({ customer_id: 'cus_123', resource_id: 'pro_features',});Catatan:
resource_idharus berupa key fitur — slug yang diturunkan dari nama fitur (misalnya,pro_features), bukan properti.iddari objek fitur yang dikembalikan olehfeatures.create().
Inilah cara kamu membatasi akses ke halaman khusus Pro, endpoint API, atau fitur tertentu di kode aplikasimu.
Bentuk produk yang umum
Section titled “Bentuk produk yang umum”Langganan SaaS
Create products: Free ($0/month), Pro ($29/month, $290/year), Business ($99/month, $990/year).Attach a 'pro_features' feature to Pro and Business so I can gate access in my code.Barang fisik
Create a T-shirt product with three variants: Small, Medium, Large at $25 each.Barang digital
Create a course product with a single one-time variant at $149.Donasi
Create a donation product with three variants: $25, $50, $100 — all one-time.Inventaris
Section titled “Inventaris”Proyecta Commerce saat ini tidak melacak inventaris untuk produk fisik. Jika kamu menjual barang stok, kelola jumlah stok di database aplikasimu dan periksa dalam alur checkout-mu.
Segera hadir
Section titled “Segera hadir”- Kustomisasi kolom checkout — kumpulkan informasi tambahan dari pembeli
- Penetapan harga sesuai keinginan pembeli
- Pelacakan inventaris bawaan untuk produk fisik