Panduan Modul Konfirmasi Deposit Manual Satuan/Massal

Panduan Singkat Modul Konfirmasi Deposit Manual

Modul ini dipakai untuk membantu admin mengkonfirmasi deposit secara manual, baik satuan maupun massal, langsung dari halaman riwayat deposit.

Fitur utama: konfirmasi deposit manual, tautkan mutasi bank, kirim notifikasi APK ke user, dan kirim notifikasi Telegram ke owner saat admin mengkonfirmasi deposit.

1. Download Modul

Download file modul versi PHP 7.2 melalui link berikut:

Download Modul PHP72

2. Upload dan Extract Modul

  1. Upload ZIP modul ke folder utama website, biasanya public_html.
  2. Extract file ZIP.
  3. Pastikan file masuk ke folder application/.

Path file utama:

application/controllers/admin/Confirm_depo.php
application/models/wemod/Confirm_depo_model.php
application/views/admin/riwayat_deposit/confirm_depo.php
application/views/admin/riwayat_deposit/mass_confirm_modal.php
Jika file index.php dan view.php riwayat deposit kamu sudah banyak custom, jangan langsung timpa. Lebih aman pasang tombolnya manual seperti contoh di bawah.

3. Pasang Lisensi Modul

Buka file berikut:

application/models/wemod/Confirm_depo_model.php

Cari function lisensi, lalu isi lisensi dari Wekios:

public function lisensi()
{
    return 'ISI_LISENSI_DISINI';
}

4. Setting Notifikasi User APK

Masih di file yang sama, kamu bisa aktifkan atau nonaktifkan notifikasi APK ke user.

SettingKeterangan
statustrue untuk aktif, false untuk nonaktif.
titleJudul notifikasi yang muncul di APK.
messageIsi pesan notifikasi, bisa dicustom bebas.
linkLink yang dibuka saat notifikasi ditekan.

Contoh parameter yang bisa dipakai di pesan:

{us_name}
{us_username}
{kredit}
{saldo_awal}
{saldo_akhir}
{de_payment}
{de_id}
{tanggal_format}

5. Setting Notifikasi Telegram Owner

Di Confirm_depo_model.php, isi bot token dan chat ID Telegram owner.

SettingKeterangan
statustrue untuk aktif, false untuk nonaktif.
bot_tokenToken bot Telegram dari BotFather.
chat_idID Telegram penerima pesan. Bisa 1 atau lebih sesuai format modul.
admin_scopeFilter admin yang dikirim ke Telegram.
messageTemplate pesan Telegram owner.

Pilihan admin_scope:

ValueFungsi
ordinary_onlyHanya kirim notifikasi jika yang konfirmasi adalah admin biasa.
utama_onlyHanya kirim notifikasi jika yang konfirmasi adalah admin utama.
allKirim notifikasi untuk admin biasa dan admin utama.
Admin utama dideteksi dari users.us_rights = 10. Selain itu dianggap admin biasa.

Contoh pesan Telegram:

Admin a/n {admin_name} [{admin_username}] Mengkonfirmasi Manual Deposit #{id} sebesar {kredit}

Deposit Link: {deposit_link}

6. Pasang Tombol Konfirmasi Manual di view.php

Buka file:

application/views/admin/riwayat_deposit/view.php

Tempatkan tombol ini di area tombol action/detail deposit. Contohnya di bawah tombol edit atau di bagian atas detail deposit.

<?php if ($trx->de_status == 'pending'): ?>
    <a class="btn btn-success"
       href="<?php echo site_url('admin/confirm_depo/confirm/'.$trx->de_id); ?>"
       data-toggle="modal"
       data-target="#myModal">
        <i class="fa fa-check"></i> Konfirmasi Manual
    </a>
<?php endif; ?>
Tombol ini hanya muncul kalau status deposit masih pending. Saat ditekan, form konfirmasi akan dibuka lewat modal #myModal.

7. Pasang Tombol Konfirmasi Massal di index.php

Buka file:

application/views/admin/riwayat_deposit/index.php

Tempatkan tombol ini di atas tabel/list deposit, dekat tombol hapus/filter/export.

<button class="btn btn-success btn-block btn-sm" type="button" id="btn-confirm-mass" style="margin-bottom:15px;">
    <i class="fa fa-check-circle"></i> Konfirmasi Massal
</button>

Lalu pasang script ini di bagian bawah file index.php, setelah jQuery sudah diload.

<script>
$('#btn-confirm-mass').on('click', function(e) {
    e.preventDefault();

    var selected = [];
    $('.checkbox1:checked').each(function() {
        selected.push($(this).val());
    });

    if (selected.length === 0) {
        alert('Silakan pilih setidaknya satu deposit.');
        return;
    }

    $('#myModal').modal('show');
    $('#myModal .modal-content').html('<div class="p-4 text-center"><i class="fa fa-spinner fa-spin fa-2x"></i><p>Memuat data...</p></div>');

    $.get('<?php echo site_url('admin/confirm_depo/mass_confirm_view'); ?>', { ids: selected.join(',') }, function(data) {
        $('#myModal .modal-content').html(data);
    }).fail(function() {
        alert('Gagal memuat jendela konfirmasi.');
        $('#myModal').modal('hide');
    });
});
</script>
Pastikan checkbox deposit di tabel memakai class checkbox1 dan value-nya berisi de_id. Kalau class checkbox berbeda, sesuaikan bagian $('.checkbox1:checked').

8. Pastikan Modal Quick Action Tersedia

Modul ini memakai modal bawaan admin dengan ID:

#myModal

Kalau tombol ditekan tapi modal tidak muncul, pastikan template admin kamu sudah punya modal myModal dan Bootstrap modal aktif.

9. Cara Test Modul

  1. Buat atau cari deposit dengan status pending.
  2. Buka detail deposit, lalu klik Konfirmasi Manual.
  3. Isi nominal yang ingin dikonfirmasi.
  4. Opsional: pilih mutasi bank yang ingin ditautkan.
  5. Klik konfirmasi.
  6. Cek saldo user, riwayat saldo, notifikasi APK, dan Telegram owner.

10. Checklist Sebelum Dipakai

  1. File modul sudah masuk ke path application/.
  2. Lisensi sudah diisi di Confirm_depo_model.php.
  3. Tombol satuan sudah dipasang di view.php.
  4. Tombol massal sudah dipasang di index.php.
  5. Modal #myModal tersedia di template admin.
  6. Jika ingin notifikasi APK, pastikan Firebase sudah aktif dan user punya reg_id.
  7. Jika ingin Telegram owner, pastikan bot token dan chat ID sudah benar.

11. Troubleshooting Singkat

KendalaSolusi
Tombol konfirmasi tidak munculPastikan status deposit masih pending.
Modal kosong / loading terusCek URL admin/confirm_depo/confirm/{id} atau admin/confirm_depo/mass_confirm_view.
Lisensi tidak validPastikan domain sesuai dan lisensi sudah diisi di Confirm_depo_model.php.
Notifikasi APK tidak masukCek setting APK aktif, Firebase aktif, dan user punya reg_id.
Telegram owner tidak masukCek bot_token, chat_id, dan setting admin_scope.
Konfirmasi massal tidak membaca pilihanPastikan checkbox list deposit memakai class checkbox1 dan value berisi ID deposit.
Jika masih error, kirimkan domain, screenshot halaman deposit, log error, dan file Confirm_depo_model.php yang sudah diisi lisensi/settings agar pengecekan lebih cepat.