nodev / mutaku
Package for getting mutations from OrderKuota QRIS Transactions (Unofficial)
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 1
Open Issues: 0
pkg:composer/nodev/mutaku
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- ext-openssl: *
- vlucas/phpdotenv: ^5.6
This package is not auto-updated.
Last update: 2025-12-12 03:21:01 UTC
README
Package PHP untuk mengambil data mutasi, saldo, dan gambar QRIS dari OrderKuota secara mudah (Non-Resmi). Mendukung Laravel dan PHP Native.
✨ Fitur
- 🏦 Ambil Data Mutasi - Riwayat transaksi QRIS dengan filter tanggal
- 💰 Cek Saldo - Saldo QRIS real-time
- 📱 Gambar QRIS - URL gambar QRIS untuk ditampilkan
- 🚀 Multi Environment - Support Laravel dan PHP Native
- 📅 Filter Tanggal - Filter transaksi berdasarkan range tanggal
- 💳 Filter Status Transaksi - Filter status transaksi incoming atau outgoing
- 📄 Pagination - Support pagination untuk data yang banyak
- 🔧 Easy Setup - Instalasi dan konfigurasi yang mudah
📄 Requirements
- PHP >= 7.4
- ext-curl
- ext-json
- ext-openssl
- vlucas/phpdotenv
🔑 Cara Mendapatkan Auth Token
Untuk mendapatkan Auth Token, silakan mengikuti tutorial berikut.
📦 Instalasi
Via Composer
composer require nodev/mutaku
⚙️ Konfigurasi
1. Laravel
Publish Config
php artisan vendor:publish --tag=mutaku-config
Set Environment Variables
Tambahkan ke file .env:
ORDERKUOTA_AUTH_TOKEN=your_auth_token_here ORDERKUOTA_ACCOUNT_USERNAME=your_username_here
2. PHP Native
Buat file .env atau set environment variables
ORDERKUOTA_AUTH_TOKEN=your_auth_token_here ORDERKUOTA_ACCOUNT_USERNAME=your_username_herr
Atau konfigurasi manual
<?php require_once 'vendor/autoload.php'; use Nodev\Mutaku\Config; Config::initialize(); // Load dari .env // atau Config::load([ 'authToken' => 'your_auth_token_here', 'accountUsername' => 'your_username_here', ]);
🚀 Penggunaan
1. Ambil Data Mutasi
Method Core::getMutations() menerima parameter berikut secara berurutan:
- fromDate Tanggal mulai filter mutasi (default: 30 hari terakhir).
- toDate Tanggal akhir filter mutasi (default: hari ini).
- page Untuk pagination, default halaman 1.
- filterOut
Jika
true, hanya menampilkan transaksi masuk (IN). Jikafalseatau tidak diisi, menampilkan semua status transaksi.
Semua parameter bersifat opsional, Anda tidak perlu mengisi semuanya.
Contoh penggunaan:
use Nodev\Mutaku\Core; $result = Core::getMutations([ 'fromDate' => '01-01-2025', // Tanggal awal mutasi 'toDate' => '31-01-2025', // Tanggal akhir mutasi 'page' => 1, // Page 'filterOut' => true // Hanya menampilkan status transaksi IN ]); if ($result['error']) { echo "Error: " . $result['message']; } else { echo "Data: " . json_encode($result['data']); }
2. Cek Saldo QRIS
use Nodev\Mutaku\Core; $result = Core::getBalance(); if ($result['error']) { echo "Error: " . $result['message']; } else { echo "Saldo: " . $result['balance']; }
3. Ambil Gambar QRIS
use Nodev\Mutaku\Core; $result = Core::getImage(); if ($result['error']) { echo "Error: " . $result['message']; } else { echo "URL Gambar: " . $result['image_url']; }
📅 Format Tanggal
Package ini menggunakan format tanggal d-m-Y (contoh: 31-12-2024).
// ✅ Benar $result = Core::getMutations('01-01-2025', '31-01-2025'); // ❌ Salah $result = Core::getMutations('2025-01-01', '2025-01-31'); $result = Core::getMutations('01/01/2025', '31/01/2025');
📊 Format Response
Semua method mengembalikan array dengan format yang konsisten:
Success Response
[
'error' => false,
'data' => [...] // atau 'balance' => '...', 'image_url' => '...'
]
Example Success Response
1. Get Mutations
All Transaction
{
"error": false,
"date": "10-06-2025 to 10-07-2025",
"filter_out": false,
"data": {
"success": true,
"qris_history": {
"success": true,
"total": 2,
"page": 1,
"pages": 1,
"results": [
{
"id": 157XXXXXX,
"debet": "1.000",
"kredit": "1.000",
"saldo_akhir": "1.010",
"keterangan": "Pencairan Saldo R#20XXX",
"tanggal": "10/07/2025 16:43",
"status": "OUT",
"fee": "",
"brand": {
"name": "Orderkuota",
"logo": "https://app.orderkuota.com/assets/qris/orderkuota.png"
}
},
{
"id": 156XXXXXX,
"debet": "0",
"kredit": "1.000",
"saldo_akhir": "2.710",
"keterangan": "NOBU / JOHN DOE ",
"tanggal": "08/07/2025 22:33",
"status": "IN",
"fee": "",
"brand": {
"name": "BCA",
"logo": "https://app.orderkuota.com/assets/qris/bca.png"
}
}
]
}
}
}
**IN Transaction (filterOut = true)
{
"error": false,
"date": "10-06-2025 to 10-07-2025",
"filter_out": false,
"data": {
"success": true,
"qris_history": {
"success": true,
"total": 2,
"page": 1,
"pages": 1,
"results": [
{
"id": 156XXXXXX,
"debet": "0",
"kredit": "1.000",
"saldo_akhir": "2.710",
"keterangan": "NOBU / JOHN DOE ",
"tanggal": "08/07/2025 22:33",
"status": "IN",
"fee": "",
"brand": {
"name": "BCA",
"logo": "https://app.orderkuota.com/assets/qris/bca.png"
}
}
]
}
}
}
2. Get Balance
{
"error": false,
"balance": "Rp 1.010"
}
3. Get Image
{
"error": false,
"image_url": "https://qris.orderkuota.com/qrnobu/1554446-29b8594e1aa4c23ac999XXXXXXXXXXXXXXXXXXXX-QR.png"
}
Error Response
[
'error' => true,
'message' => 'Error description'
]
🔧 Troubleshooting
1. "Invalid date format"
Pastikan format tanggal benar (d-m-Y)
$result = Core::getMutations('31-12-2024', '01-01-2025');
2. "Config not loaded"
Pastikan telah set environment variables, tambahan khusus PHP Native yaitu initialize config
Config::initialize();
3. "User tidak ditemukan dan/ Token tidak benar"
Pastikan auth token dan username di environment variables berikut sudah tepat
ORDERKUOTA_AUTH_TOKEN= ORDERKUOTA_ACCOUNT_USERNAME=
4. "Parameter tidak benar"
Pastikan tidak ada kesalahan dalam penulisan environment variables dan tidak kosong
ORDERKUOTA_AUTH_TOKEN= ORDERKUOTA_ACCOUNT_USERNAME=
🐞 Lapor Issues
Jika Anda menemukan bug, masalah, atau memiliki saran fitur, silakan buat issue baru di GitHub. Sertakan detail troubleshooting yang telah dilakukan, pesan error, dan environment (native/laravel & versi) yang digunakan agar kami dapat membantu lebih cepat.
📝 License
Package ini menggunakan MIT License.
⚠️ Disclaimer
Package ini tidak resmi dan tidak berafiliasi dengan OrderKuota. Gunakan dengan risiko sendiri dan patuhi terms of service OrderKuota.
Di coding oleh Fieza Ghifari & Dio Rizqi