Introduction β
Selamat datang di dokumentasi Duitku Laravel SDK! π
Halaman ini menjelaskan apa itu SDK ini, kenapa kamu membutuhkannya, dan apa saja yang bisa kamu lakukan dengannya.
π€ Apa Itu Payment Gateway? β
Bayangkan kamu punya toko online. Saat pelanggan mau bayar, kamu butuh "kasir" yang bisa menerima pembayaran dari berbagai metode β transfer bank, e-wallet, QRIS, kartu kredit, dll.
Payment Gateway adalah "kasir digital" itu. Duitku adalah salah satu payment gateway di Indonesia yang mendukung 30+ metode pembayaran.
Analogi sederhana:
- Toko online kamu = Aplikasi Laravel
- Kasir digital = Duitku Payment Gateway
- SDK ini = "Telepon langsung" ke kasir, tanpa harus datang ke toko Duitku
π€ Kenapa Pakai SDK ini? (Bukan API Langsung?) β
Duitku menyediakan API HTTP biasa yang bisa kamu panggil langsung. Tapi ada beberapa masalah jika kamu pakai API langsung:
| Masalah Tanpa SDK | Solusi dari SDK |
|---|---|
| β Harus menghitung signature MD5/SHA256 manual β rentan salah | β Auto Signature β SDK hitung otomatis |
| β Response berupa array mentah β gampang typo | β Typed DTOs β auto-complete di IDE |
| β Harus handle HTTP error sendiri | β
Custom Exceptions β tinggal try-catch |
| β Cek status transaksi satu-satu (lambat) | β Parallel Check β cek 50+ transaksi sekaligus |
| β Validasi callback ribet | β Event-Driven β satu baris kode |
| β Harus baca docs Duitku terus-menerus | β 33 Payment Method Enum β kode jadi self-documenting |
Intinya: SDK ini membuat kamu bisa fokus ke bisnis logic, bukan ngurusin detail teknis komunikasi dengan Duitku.
β Apa Saja yang Bisa Dilakukan? β
1. π³ Payments (Terima Pembayaran) β
Buat invoice pembayaran, arahkan pelanggan ke halaman bayar, dan terima notifikasi saat sudah dibayar.
Metode pembayaran yang didukung:
- Virtual Account (BCA, Mandiri, BNI, BRI, Permata, dll)
- E-Wallet (OVO, DANA, ShopeePay, LinkAja)
- QRIS (ShopeePay, Nobu, dll)
- Kartu Kredit (Visa, Mastercard, JCB)
- Ritel (Indomaret, Alfamart/Pegadaian)
- Paylater (Indodana, ATOME)
- E-Commerce (Tokopedia)
2. β‘ Duitku POP (Popup Checkout) β
Alternatif dari redirect β pelanggan bisa bayar langsung di halaman kamu melalui popup, tanpa pindah halaman.
3. π’ Callback System (Webhook) β
Setelah pelanggan bayar, Duitku akan mengirim notifikasi ke server kamu. SDK ini memvalidasi keasliannya dan mengirim Laravel Event yang bisa kamu tangkap.
4. πΈ Disbursement (Transfer Dana) β
Kirim uang dari akun Duitku kamu ke rekening bank lain β untuk fitur payout, withdrawal, atau gaji.
πΊοΈ Alur Transaksi (Flow) β
Berikut alur dari pelanggan klik "Bayar" sampai kamu terima uang:
ββββββββββββ ββββββββββββββββ ββββββββββββ ββββββββββββ
β Pelanggan ββββββΆβ Aplikasi Kamu ββββββΆβ Duitku ββββββΆβ Bank β
β (Browser) β β (Laravel) β β (API) β β / E-Walletβ
ββββββββββββ ββββββββββββββββ ββββββββββββ ββββββββββββ
β β
β βββ Callback ββ β (Duitku beri tahu:
β (Webhook POST) β "Pembayaran berhasil!")
βΌ
ββββββββββββββββ
β Update DB β
β Order = Paid β
ββββββββββββββββ- Pelanggan klik "Bayar" di website kamu
- Aplikasi kamu membuat invoice via SDK β Duitku kasih URL pembayaran
- Pelanggan bayar di halaman Duitku (transfer VA, scan QRIS, dll)
- Bank/E-Wallet proses pembayaran
- Duitku kirim callback (webhook) ke server kamu β SDK validasi otomatis
- Aplikasi kamu update database: order sudah dibayar β
π Apa yang Perlu Disiapkan? β
Sebelum mulai, pastikan kamu punya:
- [ ] PHP 8.2+ dan Laravel 10/11/12
- [ ] Akun Duitku β Daftar di sini (gratis)
- [ ] Merchant Code dan API Key β dapat dari Dashboard Duitku
- [ ] Composer terinstal di komputer kamu
TIP
Kamu bisa langsung memulai dengan mode Sandbox (testing) tanpa perlu verifikasi akun. Semua transaksi di Sandbox adalah simulasi β tidak ada uang sungguhan yang berpindah.
Sudah siap? Mari mulai dengan Instalasi! π