Skip to content

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 SDKSolusi 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 β”‚
                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Pelanggan klik "Bayar" di website kamu
  2. Aplikasi kamu membuat invoice via SDK β†’ Duitku kasih URL pembayaran
  3. Pelanggan bayar di halaman Duitku (transfer VA, scan QRIS, dll)
  4. Bank/E-Wallet proses pembayaran
  5. Duitku kirim callback (webhook) ke server kamu β†’ SDK validasi otomatis
  6. 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! πŸš€

Released under the MIT License.