This page has not been translated to English yet. Showing the Indonesian version.
Stripe
Panduan menghubungkan Stripe Payment Gateway dengan Alusio untuk pembayaran internasional (USD, EUR, dll): API Keys, Webhook Endpoint, dan Signing Secret.
Stripe adalah payment gateway global yang mendukung lebih dari 135 mata uang dan puluhan metode pembayaran internasional: kartu kredit/debit (Visa, Mastercard, Amex, JCB, UnionPay), Apple Pay, Google Pay, Alipay, WeChat Pay, SEPA, sampai bank transfer regional. Alusio terintegrasi via Stripe Checkout — halaman pembayaran hosted yang otomatis adaptif di semua perangkat.
Stripe dipakai untuk pembayaran internasional (USD, EUR, SGD, dll). Untuk pembeli Indonesia yang membayar IDR, gunakan Midtrans, Xendit, atau Duitku.
Prasyarat
- Akun Stripe — daftar di dashboard.stripe.com.
- Bisnis yang berlokasi di salah satu negara yang didukung Stripe (Indonesia belum termasuk per dokumen ini — Anda perlu entitas di Singapura, AS, UK, atau negara lain yang didukung).
- Mata uang toko Alusio sudah diset ke USD, EUR, atau mata uang lain yang didukung Stripe. Stripe tidak mendukung IDR.
Langkah 1 — Aktivasi Akun Stripe
- Buka dashboard.stripe.com dan klik Sign Up.
- Lengkapi data bisnis: nama legal, alamat, dokumen identitas pemilik, dan rekening bank tujuan settlement.
- Klik Activate Payments di dashboard untuk memulai verifikasi.
- Selagi menunggu aktivasi, Anda bisa langsung memakai Test Mode tanpa verifikasi.
Langkah 2 — Salin Secret Key
- Login ke Dashboard Stripe. Toggle View test data di sidebar kiri untuk masuk Test Mode (atau matikan untuk Live Mode).
- Buka Developers → API keys.
- Salin Secret Key — diawali
sk_test_(Test) atausk_live_(Live). Untuk Live Key, klik Reveal live key.
Penting: Secret Key adalah kredensial setara password. Jangan disimpan di repo Git atau halaman frontend.
Langkah 3 — Atur Webhook Endpoint
Webhook adalah notifikasi yang dikirim Stripe saat status checkout berubah (sukses, expired). Tanpa ini, order tidak akan otomatis berubah ke status Paid.
- Di Dashboard Stripe, buka Developers → Webhooks.
- Klik Add endpoint.
- Isi kolom Endpoint URL dengan (ganti
alus.iodengan domain instance Alusio Anda):https://alus.io/api/webhooks/stripe - Di Events to send, pilih dua event berikut:
checkout.session.completedcheckout.session.expired
- Klik Add endpoint.
- Setelah endpoint dibuat, klik Reveal di samping Signing secret dan salin nilainya (diawali
whsec_). Signing Secret ini dipakai untuk memverifikasi keaslian webhook. - Ulangi langkah ini untuk Live Mode setelah akun aktif (Test & Live punya endpoint + signing secret terpisah).
Langkah 4 — Pasang Kredensial di Alusio
- Buka dashboard Alusio, masuk ke Settings → Payments.
- Pilih tab Stripe.
- Isi form:
- Secret Key — dari Langkah 2 (
sk_test_atausk_live_). - Webhook Signing Secret — dari Langkah 3 (
whsec_).
- Secret Key — dari Langkah 2 (
- Klik Simpan Pengaturan Stripe.
Catatan: Stripe tidak punya toggle "Mode Produksi" terpisah di Alusio — environment ditentukan otomatis dari prefix Secret Key (sk_test_ = Test, sk_live_ = Live). Pastikan Signing Secret yang dipasang berasal dari endpoint webhook di environment yang sama.
Langkah 5 — Uji Transaksi Test Mode
- Pastikan Secret Key yang dipasang diawali
sk_test_. - Buka site Anda, tambahkan produk (dengan mata uang USD/EUR/dll) ke cart, lanjut ke checkout, dan pilih Stripe.
- Di halaman Stripe Checkout, gunakan kartu test resmi:
- Sukses:
4242 4242 4242 4242, expiry bebas (di masa depan), CVC bebas 3 digit. - 3DS Wajib:
4000 0027 6000 3184. - Ditolak:
4000 0000 0000 0002.
- Sukses:
- Kembali ke Alusio, buka Orders — status order harus berubah menjadi Paid dalam beberapa detik (via webhook).
Langkah 6 — Naik ke Live Mode
- Pastikan akun Stripe Anda sudah Activated (cek di Dashboard).
- Salin Live Secret Key dari Developers → API keys.
- Buat endpoint webhook baru di Live Mode (Langkah 3) dan salin Signing Secret-nya.
- Di Alusio, ganti Secret Key & Signing Secret dengan kredensial Live, lalu simpan.
- Lakukan satu transaksi kecil (mis. USD 1) sebagai verifikasi end-to-end.
Troubleshooting
Gejala | Penyebab & Solusi |
|---|---|
Tab Stripe tidak muncul di checkout | Stripe hanya aktif jika mata uang toko didukung. Cek Settings → Currency di Alusio — IDR tidak didukung Stripe. |
Order tetap Pending meski sudah bayar | Webhook salah / tidak terdaftar. Cek di Developers → Webhooks, pastikan URL persis |
Error "No signatures found matching the expected signature" | Signing Secret salah atau dari endpoint yang berbeda. Test Mode dan Live Mode punya Signing Secret terpisah — pastikan match dengan environment Secret Key. |
Error 401 saat checkout | Secret Key tidak valid atau dari environment yang salah. |
Pembayaran berhasil tapi order belum tercatat | Cek log di Developers → Webhooks → endpoint Anda. Jika response non-2xx, periksa apakah Alusio bisa menerima request dari Stripe (firewall, IP allowlist, dll). |
Catatan Keamanan
- Secret Key & Signing Secret bersifat rahasia — jangan tampilkan di repo publik atau frontend.
- Jika Secret Key bocor: di Dashboard Stripe, klik Roll key untuk regenerate dan update di Alusio.
- Stripe memverifikasi signature webhook via HMAC-SHA256 — Alusio otomatis menolak request palsu.