nasionalpay / php-sdk
NasionalPay PHP SDK - payment gateway QRIS & DANA Indonesia untuk merchant, UMKM, dan toko online. Buat invoice QRIS, cek status, payout, dan verifikasi callback.
dev-main
2026-09-07 08:24 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-09 05:16:44 UTC
README
SDK resmi NasionalPay — payment gateway QRIS & DANA Indonesia untuk merchant, UMKM, toko online, dan penjual produk digital. Satu class PHP tanpa dependensi eksternal untuk membuat invoice QRIS, mengecek status transaksi, melakukan payout, dan menerima callback.
- Website: https://nasionalpay.com
- Dokumentasi & API: https://nasionalpay.com/payment-gateway-api
- Biaya (MDR QRIS, fee withdraw): https://nasionalpay.com/pricing
- Settlement & pencairan dana: https://nasionalpay.com/settlement
- Keamanan: https://nasionalpay.com/keamanan
- FAQ: https://nasionalpay.com/faq
- Panel merchant: https://merchant.nasionalpay.com
Kebutuhan Sistem
- PHP 7.4 atau lebih baru
- Ekstensi
curldanjsonaktif - Store Key aktif dari halaman Manajemen Toko di panel merchant
Instalasi
Composer
composer require nasionalpay/php-sdk
Manual
- Salin
class.nasionalpay.phpke project Anda. - Isi
config.jsondengan Store Key dan Base URL gateway. - Jalankan
php tester.phpuntuk memastikan koneksi berhasil.
Contoh Pemakaian
require_once __DIR__ . '/class.nasionalpay.php'; $gateway = new NasionalPay([ 'store_key' => 'YOUR_STORE_KEY', 'base_url' => 'https://merchant.nasionalpay.com/api/payment', ]); // Buat invoice QRIS $invoice = $gateway->createQRIS(15000, 'player123'); echo $invoice['data']['qris_image']; // Cek status $status = $gateway->checkStatus($invoice['data']['transaction_id']); // Payout ke DANA $gateway->payout(50000, 'DANA', '081234567890', 'BUDI SANTOSO', 'player123');
Menerima Callback
require_once __DIR__ . '/class.nasionalpay.php'; $data = NasionalPay::readCallback(); if ($data['status'] === 'success') { // Tambah saldo user berdasarkan $data['transaction_id'] dan $data['amount'] } http_response_code(200); echo json_encode(['status' => 'ok']);
Selalu jadikan transaction_id sebagai kunci idempoten agar callback ganda tidak dobel kredit.
Alur Integrasi Singkat
- Daftar akun di merchant.nasionalpay.com, buat toko, tunggu aktivasi admin.
- Salin Store Key dari halaman Manajemen Toko.
- Panggil
createQRIS()— tampilkan QR ke pembeli. - Pembeli scan dengan aplikasi bank/e-wallet apa pun (QRIS nasional).
- NasionalPay mengirim callback ke URL toko Anda; saldo masuk ke dashboard merchant dan bisa ditarik ke rekening bank/e-wallet.
Lihat panduan lengkap di https://nasionalpay.com/cara-kerja.
Lisensi
MIT — lihat LICENSE.