Download the PHP package sikeu/laravel-payment without Composer
On this page you can find all versions of the php package sikeu/laravel-payment. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-payment
SIKEU Laravel Payment
Laravel package untuk integrasi SIKEU Payment Gateway. Package ini hanya menyediakan service layer; controller, route, dan callback handler dibuat di aplikasi Laravel Anda.
Requirements
- PHP 8.0+
- Laravel 9.x sampai 13.x
- Guzzle HTTP Client 7.x
Instalasi
Tambahkan ke .env:
Lalu refresh config:
Alur Yang Direkomendasikan
- Ambil daftar
service_categorylewatgetAvailableServices(). - Ambil daftar
revenue_account_codelewatgetRevenueAccountCodes(). - Simpan atau tampilkan dua daftar itu di aplikasi Anda.
- Saat membuat payment request, kirim hanya nilai yang berasal dari dua method tersebut.
- Cek status dengan
checkPaymentRequest()atau proses notifikasi callback dari SIKEU.
service_categorydanrevenue_account_codetidak boleh di-hardcode berdasarkan asumsi. Dua field ini harus mengikuti master data dari SIKEU.
Implementasi Minimal
Controller paling sederhana yang siap dipakai:
Route yang direkomendasikan:
Contoh request:
Nilai UKT dan 411100 di atas hanya contoh. Ambil nilai validnya dari SIKEU melalui getAvailableServices() dan getRevenueAccountCodes().
QRIS
Jika ingin membuat payment QRIS, gunakan method khusus berikut:
Response QRIS akan mengandung data seperti paymentRequestId, qrId, qrContent, dan expiryDate/qrExpiryDate.
Callback
Setelah pembayaran diproses, SIKEU dapat mengirim HTTP POST ke endpoint callback aplikasi Anda. Callback ini dipakai untuk sinkronisasi status pembayaran tanpa harus terus melakukan polling.
Alur yang direkomendasikan:
- Buat payment request dan simpan
paymentRequestIddi database lokal. - Tampilkan VA atau QRIS ke user.
- Setelah user membayar, SIKEU mengirim callback ke aplikasi Anda.
- Aplikasi Anda memverifikasi signature, mencari data berdasarkan
paymentRequestId, lalu mengubah status pembayaran. - Jika perlu, jalankan proses lanjutan seperti aktivasi tagihan, notifikasi, atau queue job.
Tambahkan callback URL yang bisa diakses publik:
Sampaikan ke admin SIKEU bahwa URL callback ini harus didaftarkan di sisi SIKEU agar notifikasi pembayaran dapat dikirim ke aplikasi Anda.
Route yang direkomendasikan:
Header penting yang perlu divalidasi:
X-TimestampX-Signature
Contoh middleware validasi signature:
Daftarkan middleware tersebut dengan alias sikeu.signature sesuai versi Laravel yang Anda gunakan.
Contoh payload callback:
Contoh handler callback:
Hal penting saat implementasi callback:
- Endpoint callback jangan dipasang auth login biasa; cukup lindungi dengan validasi signature.
- Selalu lakukan idempotency check agar callback yang terkirim ulang tidak memproses pembayaran dua kali.
- Jika
paymentRequestIdtidak ditemukan, tetap balas200 OKagar SIKEU tidak terus retry. - Proses berat seperti sinkronisasi akademik atau kirim notifikasi sebaiknya dikirim ke queue.
- Usahakan response callback cepat; jangan menunggu proses panjang sebelum membalas
200 OK.
Method Yang Tersedia
Master Data
getAvailableServices(): arrayAmbil daftarservice_categoryyang valid dari SIKEU. Gunakan nilaicodedari response.getRevenueAccountCodes(): arrayAmbil daftarrevenue_account_codeyang valid dari SIKEU. Gunakan nilaicodedari response.
Payment Request
createPaymentRequest(array $data): arrayMembuat payment request. Field utama:service_category,customer_no,customer_name,amount,description,revenue_account_code. Field opsional:provider,attributes.getPaymentRequest(string $paymentRequestId): arrayAmbil detail payment request.checkPaymentRequest(string $paymentRequestId): arrayCek status payment request.cancelPaymentRequest(string $paymentRequestId): arrayBatalkan payment request.
QRIS
createQrisPaymentRequest(array $data): arrayMembuat payment request QRIS. Jikaprovidertidak dikirim, package memakaiSIKEU_DEFAULT_QRIS_PROVIDER.checkQrisPaymentStatus(string $paymentRequestId): arrayCek status pembayaran QRIS.
Catatan Penting
service_categorywajib berasal darigetAvailableServices().revenue_account_codewajib berasal darigetRevenueAccountCodes().amountakan dikirim sebagai integer.- Default provider diambil dari
config/sikeu.php. - Logging request/response aktif melalui config package.
License
MIT
All versions of laravel-payment with dependencies
illuminate/support Version ^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/http Version ^9.0|^10.0|^11.0|^12.0|^13.0
guzzlehttp/guzzle Version ^7.0