Panduan Modul Notifikasi Deposit & Transfer Saldo

Panduan Singkat Modul Notifikasi Deposit & Transfer Saldo

Modul ini dipakai untuk mengirim notifikasi otomatis ke user saat saldo bertambah dari deposit atau transfer saldo.

Alur modul: sistem membaca data dari 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:

  1. Upload ZIP modul ke folder utama website, biasanya public_html.
  2. Extract file ZIP.
  3. 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.

SettingFungsi
statustrue untuk aktif, false untuk nonaktif.
notifapk, sms, atau apk|sms.
titleJudul notifikasi APK dan judul di tabel notifikasi.
linkLink saat notifikasi APK dibuka.
messageTemplate 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:

JenisContoh Info Balance History
DepositDeposit melalui BRI #12345
Transfer MasukTransfer saldo dari username_pengirim. Ket: bonus saldo
Transfer KeluarTransfer saldo kepada username_penerima. Ket: pembayaran

7. Parameter Pesan yang Bisa Dipakai

ParameterKeterangan
{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

ModeHasil
apkKirim push notification APK jika user memiliki reg_id.
smsKirim SMS memakai function helper send_sms($us_phone, $pesan).
apk|smsKirim push APK dan SMS sekaligus.

9. Syarat Notifikasi APK

  • Library Firebase sudah aktif.
  • User memiliki data reg_id di users.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

  1. File modul sudah berada di folder application/models/wemod/.
  2. Lisensi sudah diisi di Set_notif_deptrans.php.
  3. Script pemanggil modul sudah dipasang di insert_balance_history().
  4. Setting status sudah true untuk event yang ingin aktif.
  5. Setting notif sudah dipilih: apk, sms, atau apk|sms.
  6. Jika pakai APK, pastikan Firebase dan reg_id user tersedia.
  7. Jika pakai SMS, pastikan send_sms() aktif.

13. Troubleshooting Singkat

KendalaSolusi
Lisensi tidak validPastikan lisensi sesuai domain dan sudah diisi di Set_notif_deptrans.php. Jika memakai OPcache, reload PHP-FPM.
Notif tidak terkirimCek apakah script di insert_balance_history() sudah terpanggil.
Deposit tidak terdeteksiPastikan info mengandung kata deposit dan tanda #.
Transfer tidak terdeteksiPastikan info diawali Transfer saldo dari atau Transfer saldo kepada.
APK tidak masukCek reg_id user dan konfigurasi Firebase.
SMS tidak masukCek function send_sms() dan nomor HP user.
Jika masih error, kirimkan isi log error, contoh isi balance_history.info, dan setting di Set_notif_deptrans.php agar pengecekan lebih cepat.
Lebih lamaTerbaru