Skip to main content
SDK PHP menyediakan cara yang kuat dan fleksibel untuk mengintegrasikan Dodo Payments ke dalam aplikasi PHP Anda. Dibangun mengikuti standar PHP modern dengan autoloading PSR-4, ini menawarkan cakupan pengujian yang luas dan dokumentasi yang mendetail.
Perpustakaan API PHP Dodo Payments saat ini dalam beta. Kami sangat antusias Anda untuk mencobanya! Silakan bagikan saran, laporan bug, atau permintaan fitur dengan mengajukan sebuah issue.

Instalasi

SDK ini membutuhkan PHP 8.1.0 atau lebih tinggi dan Composer untuk manajemen dependensi.

Memulai dengan Cepat

Inisialisasi klien dan buat sesi checkout:
Simpan kunci API Anda dengan aman menggunakan variabel lingkungan. Jangan pernah mengeksposnya di basis kode Anda atau mengunggahnya ke kontrol versi.

Fitur Utama

PSR-4 Compliant

Mengikuti Rekomendasi Standar PHP untuk pengembangan PHP modern

Modern PHP

Dibangun untuk PHP 8.1+ dengan deklarasi tipe dan tipe strict

Extensive Testing

Cakupan pengujian menyeluruh untuk keandalan dan stabilitas

Exception Handling

Jenis pengecualian yang jelas untuk berbagai skenario kesalahan

Objek Nilai

SDK menggunakan parameter bernama untuk menentukan argumen opsional. Anda dapat menginisialisasi objek nilai menggunakan konstruktor statis with:
Builder juga tersedia sebagai pola alternatif:

Konfigurasi

Konfigurasi Ulang

Kesalahan tertentu secara otomatis dicoba ulang 2 kali secara default dengan backoff eksponensial yang singkat. Kesalahan berikut memicu percobaan ulang otomatis:
  • Kesalahan koneksi (masalah konektivitas jaringan)
  • 408 Permintaan Timeout
  • 409 Konflik
  • 429 Batas Laju
  • 500+ Kesalahan Internal
  • Timeout
Konfigurasikan perilaku ulang secara global atau per permintaan:

Operasi Umum

Buat Sesi Checkout

Kelola Pelanggan

Buat dan ambil informasi pelanggan:

Tangani Langganan

POST /subscriptions (metode subscriptions.create milik SDK) deprecated. Metode ini masih berfungsi untuk integrasi yang sudah ada, tetapi integrasi baru sebaiknya membuat subscription melalui Checkout Session.
billing memerlukan setidaknya kode ISO dua huruf country. Teruskan AttachExistingCustomer::with(customerID: '...') untuk mengaitkan customer yang sudah ada, atau NewCustomer::with(email: '...', name: '...') untuk membuat customer baru. productPrice menggunakan denominasi mata uang terkecil.

Pagination

Gunakan respons daftar berpaginasi:

Penanganan Error

Ketika library tidak dapat terhubung ke API atau menerima status code non-sukses (4xx atau 5xx), subclass dari APIException akan dilempar:

Jenis Error

Selalu bungkus panggilan API dalam blok try-catch untuk menangani error yang mungkin terjadi dengan baik dan memberikan umpan balik yang bermakna kepada pengguna.

Penggunaan Lanjutan

Endpoint yang Tidak Didokumentasikan

Buat request ke endpoint yang tidak didokumentasikan:

Parameter yang Tidak Didokumentasikan

Kirim parameter yang tidak didokumentasikan ke endpoint mana pun atau baca properti respons yang tidak didokumentasikan:
Parameter extra* dengan nama yang sama akan menggantikan parameter yang didokumentasikan.

Integrasi Framework

Laravel

Buat service untuk aplikasi Laravel:
Tambahkan konfigurasi di config/services.php:

Symfony

Buat service di Symfony:
Daftarkan di config/services.yaml:

Sumber Daya

GitHub Repository

Lihat source code dan berkontribusilah

API Reference

Dokumentasi API lengkap

Discord Community

Dapatkan bantuan dan terhubung dengan developer

Report Issues

Laporkan bug atau ajukan fitur

Dukungan

Perlu bantuan terkait PHP SDK?

Berkontribusi

Kami menyambut kontribusi! Baca panduan kontribusi untuk memulai.
Terakhir diubah pada 17 Agustus 2026