Panduan Singkat Modul Notifikasi Deposit & Transfer Saldo
Modul ini dipakai untuk mengirim notifikasi otomatis ke user saat saldo bertambah dari deposit atau transfer saldo.
insert_balance_history(), lalu mengirim notifikasi sesuai setting di Set_notif_deptrans.php. Notifikasi bisa lewat APK, SMS, atau keduanya.
1. Download dan Upload Modul
Download file modul Notifikasi Deposit & Transfer Saldo melalui link berikut:
Download Modul Notifikasi Deposit & Transfer
Setelah file ZIP berhasil didownload, lakukan langkah berikut:
- Upload ZIP modul ke folder utama website, biasanya
public_html. - Extract file ZIP.
- Pastikan file masuk ke path berikut:
application/models/wemod/Notif_deptrans.php
application/models/wemod/Set_notif_deptrans.php
2. Pasang Lisensi
Buka file berikut:
application/models/wemod/Set_notif_deptrans.php
Lalu isi kode lisensi pada function lisensi().
public function lisensi()
{
return 'ISI_LISENSI_DARI_WEKIOS';
}
3. Atur Notifikasi Deposit dan Transfer
Masih di file yang sama, buka function:
public function custom_notifikasi()
Di sana kamu bisa mengatur status, jenis notifikasi, judul, link, dan isi pesan.
| Setting | Fungsi |
|---|---|
status | true untuk aktif, false untuk nonaktif. |
notif | apk, sms, atau apk|sms. |
title | Judul notifikasi APK dan judul di tabel notifikasi. |
link | Link saat notifikasi APK dibuka. |
message | Template pesan yang bisa dicustom bebas. |
4. Contoh Setting Notifikasi
public function custom_notifikasi()
{
return array(
'deposit' => array(
'status' => true,
'notif' => 'apk',
'title' => 'Topup Stok Mitra Berhasil',
'link' => 'akun/riwayat-saldo',
'message' => 'Hi {us_name}, Pembayaran Topup Stok Mitra sebesar {kredit} melalui {de_payment} sudah kami terima dan Stok Mitra sudah ditambahkan ke akun kamu dengan rincian sebagai berikut {saldo_awal} + {kredit} = {saldo_akhir}. Terimakasih.',
),
'transfer_in' => array(
'status' => true,
'notif' => 'apk',
'title' => 'Transfer Stok Mitra Masuk',
'link' => 'akun/riwayat-saldo',
'message' => 'Hi {us_name_recipient}, Anda baru saja menerima transfer Stok Mitra dari {us_name_sender} sebesar {kredit} dengan keterangan: {desc}',
),
'transfer_out' => array(
'status' => true,
'notif' => 'apk',
'title' => 'Transfer Stok Mitra Berhasil',
'link' => 'akun/riwayat-saldo',
'message' => 'Hi {us_name_sender}, Anda baru saja melakukan transfer Stok Mitra ke {us_name_recipient} sebesar {debet} dengan keterangan: {desc}',
),
);
}
5. Pasang Script di Helper Balance History
Buka file helper yang berisi function berikut:
function insert_balance_history($data = array())
Tambahkan script ini setelah proses insert balance_history.
// Notif Deposit/Transfer Saldo
if (
(strstr(strtolower($data['4']), 'deposit') && strstr(strtolower($data['4']), '#')) ||
substr($data['4'], 0, 19) == 'Transfer saldo dari' ||
substr($data['4'], 0, 21) == 'Transfer saldo kepada'
) {
$CI = get_instance();
$CI->load->model('wemod/Notif_deptrans', 'notif_deptrans');
$CI->notif_deptrans->add_notif($data);
}
// End Notif Deposit/Transfer Saldo
6. Format Data yang Terdeteksi Modul
Modul akan berjalan jika info saldo memiliki format seperti berikut:
| Jenis | Contoh Info Balance History |
|---|---|
| Deposit | Deposit melalui BRI #12345 |
| Transfer Masuk | Transfer saldo dari username_pengirim. Ket: bonus saldo |
| Transfer Keluar | Transfer saldo kepada username_penerima. Ket: pembayaran |
7. Parameter Pesan yang Bisa Dipakai
| Parameter | Keterangan |
|---|---|
{us_id} | ID user penerima notifikasi. |
{us_name} | Nama user. |
{us_username} | Username user. |
{us_phone} | Nomor HP user. |
{kredit} | Nominal saldo masuk, otomatis memakai format_uang2(). |
{debet} | Nominal saldo keluar, otomatis memakai format_uang2(). |
{saldo_awal} | Saldo sebelum transaksi. |
{saldo_akhir} | Saldo setelah transaksi. |
{tanggal_format} | Tanggal transaksi, otomatis memakai format_tanggal(). |
{info} | Isi info dari balance history. |
{desc} | Keterangan transfer setelah tulisan Ket:. |
{de_id} | ID deposit dari tanda pagar, contoh #12345. |
{de_payment} | Nama metode pembayaran deposit. |
{de_payment_key} | Key payment deposit. |
{us_name_sender} | Nama pengirim transfer. |
{us_name_recipient} | Nama penerima transfer. |
8. Mode Notifikasi
| Mode | Hasil |
|---|---|
apk | Kirim push notification APK jika user memiliki reg_id. |
sms | Kirim SMS memakai function helper send_sms($us_phone, $pesan). |
apk|sms | Kirim push APK dan SMS sekaligus. |
9. Syarat Notifikasi APK
- Library Firebase sudah aktif.
- User memiliki data
reg_iddiusers.us_data. - Channel APK menggunakan channel
info.
10. Syarat Notifikasi SMS
- Function
send_sms()sudah tersedia dari main helper. - Nomor HP user tersedia di
users.us_phone. - Tidak perlu membuat function SMS khusus di modul.
11. Insert Tabel Notifikasi
Setiap event aktif tetap akan masuk ke tabel notifikasi, walaupun mode notifikasi hanya SMS.
Pastikan tabel notifikasi memiliki field umum berikut:
us_id
nf_judul
nf_teks
nf_link
nf_tanggal
12. Checklist Sebelum Tes
- File modul sudah berada di folder
application/models/wemod/. - Lisensi sudah diisi di
Set_notif_deptrans.php. - Script pemanggil modul sudah dipasang di
insert_balance_history(). - Setting
statussudahtrueuntuk event yang ingin aktif. - Setting
notifsudah dipilih:apk,sms, atauapk|sms. - Jika pakai APK, pastikan Firebase dan
reg_iduser tersedia. - Jika pakai SMS, pastikan
send_sms()aktif.
13. Troubleshooting Singkat
| Kendala | Solusi |
|---|---|
| Lisensi tidak valid | Pastikan lisensi sesuai domain dan sudah diisi di Set_notif_deptrans.php. Jika memakai OPcache, reload PHP-FPM. |
| Notif tidak terkirim | Cek apakah script di insert_balance_history() sudah terpanggil. |
| Deposit tidak terdeteksi | Pastikan info mengandung kata deposit dan tanda #. |
| Transfer tidak terdeteksi | Pastikan info diawali Transfer saldo dari atau Transfer saldo kepada. |
| APK tidak masuk | Cek reg_id user dan konfigurasi Firebase. |
| SMS tidak masuk | Cek function send_sms() dan nomor HP user. |
balance_history.info, dan setting di Set_notif_deptrans.php agar pengecekan lebih cepat.