Mengambil Mutasi Rekening Klik BCA dengan PHP

Script baru 13 Agustus 2013 klik di sini

Beberapa hari yang lalu saya “menagih” ke seseorang yang pernah berjanji untuk mentransfer sejumlah uang ke rekening BCA, yang lantas saya malah malu karena ternyata ia sudah melakukan transfer sejak 1 bulan yang lalu.¬†Saya lantas merasakan kebutuhan untuk lebih mengotomatisasi proses-proses di Klik BCA dan mulai mencari-cari barangkali ada script yang cocok.

Saya menemukan topik ini (topiknya udah ilang gan – 28 Jan 2013). Di sana terdapat cuplikan beberapa script yang dapat digunakan, namun masih sedikit kurang pas. Saya lantas melakukan modifikasi atas sebuah script PHP, dengan tujuan agar setidaknya script tersebut dapat mengirim notifikasi setiap kali ada uang yang masuk.

Terdapat sedikit kesulitan karena tidak ada kolom dengan nilai unik di tabel mutasi rekening, posisi baris yang bisa berubah, tanggal yang bisa berubah, baris yang bisa hilang-muncul (saat status transaksi belum benar-benar clear sepertinya), sehingga akhirnya saya membuat logika seperti ini:

  1. Mulai pengecekan.
  2. Ambil baris-baris di tabel mutasi rekening.
  3. Saat membaca setiap baris, periksa apakah ada baris yang isinya sama persis tercatat di pengecekan sebelum?
  4. Untuk setiap baris yang belum tercatat, kirim notifikasi.
  5. Ganti catatan dengan baris-baris yang baru.

“Baris” yang merupakan kombinasi antara tanggal, keterangan, jumlah, dan saldo akhir, diharapkan dapat unik, setidaknya pada rentang waktu yang berdekatan.

Hasilnya lumayan bisa berguna. Saya akan menerima email setiap kali ada yang berubah di halaman mutasi rekening, yang tapi termasuk juga perubahan dari PEND menjadi tanggal.

Seluruh transaksi akan mengaktifkan notifikasi, jadi tidak hanya transaksi kredit. Tidak jelek juga karena sistim Klik BCA hanya mengirim notifikasi atas transaksi debet yang dilakukan melalui Klik BCA (tidak termasuk transaksi ATM, kartu debit, dsb.).

Script dapat dilihat di sini. Seharusnya script ini akan langsung berfungsi saat dipanggil (setelah diletakkan di server dan setelah mengisi nilai beberapa variabel di bagian atas), dengan asumsi setting server anda sama dengan saya. Jika sudah yakin berfungsi, eksekusi script lantas dapat dilakukan setiap jam melalui cron.

Semoga berguna. Jika anda mencoba script ini dan bingung, jangan ragu untuk bertanya. Jika anda memiliki cara yang lebih baik maupun alur yang lebih efisien, dimohon masukannya. Terima kasih sebelumnya.

46 thoughts on “Mengambil Mutasi Rekening Klik BCA dengan PHP”

  1. Terima kasih, Script nya dah di tes, lancar jaya…

    script diatas ada perintah value%28Submit%29=LOGIN
    untuk kasus lain, bagaimana jika tombol submit nya tidak ada name nya
    misal :

    bgmn untuk mengatasinya?

    Terima kasih.

    1. Ngga muncul tuh tulisannya :D

      Kalau form element input type=”submit” ngga ada namanya, tombol akan tetap muncul, bisa di-klik dan akan mensubmit form, tapi element tombol submit tsb ngga ikut dikirimkan.

      Jadi ngga perlu dibuat/disertakan kalau kita membuat script yang mirip dengan ini (menggunakan cURL untuk otomatisasi submit dkk).

      Contoh:

      http://www.randomlog.org/bca/test.html

      Lihat URL-nya setelah tombol submit ditekan, trus view source juga.

      Contoh tadi kalau mau dibuat lewat cara yang sama maka kira-kira akan menjadi seperti ini (cuma 2 elemen yang dikirimkan):

      $params[] = ‘textfield1=nilai+kolom+1′;
      $params[] = ‘textfield2=nilai+kolom+2′;

  2. sorry masih rada pemula nih. saya dah coba tapi gak berhasil, karena tidak ada muncul text apa2 jadi saya gak bisa check salah nya dimana. tidak ada file yang create juga sih. kalau misalnya mau supaya muncul di browser dulu gimana caranya?
    check mutasinya ini dari kapan sampai kapan yah?

    boleh minta contoh settingan server anda? apa aja yang harus di enabled?

    1. Hostingnya di mana? Saya di DreamHost dan kebetulan tidak ada yang perlu diubah.

      Scriptnya sudah saya ubah-ubah lagi supaya bisa “ngirim notifikasi” untuk lebih dari 1 account pada setiap pengecekan. Tampilan email yang dikirim juga diubah supaya lebih “berguna”.

      Ini script yang saya gunakan sekarang, yang sudah saya pangkas supaya:

      - Langsung menampilkan source dari halaman “Lihat Mutasi Rekening”
      - Ngga ngirim email

      Silakan coba jalankan script tsb (setelah mengisi username & password) langsung dari browser.

      1. ohhhh
        thanks balas nya..
        kalo yang BNI, agan ada skrip nya ngak ya?
        mohon masukan nya kalo ada..
        trims banyak..^^

          1. ok gan..
            terima kasih sudah mau di bikin..
            ane tunggu ya..
            dalam ini 1 minggu bisa ngak ya gan siap nya?
            coal nya itu tugas ane dari kuliah..
            trims ^^

          2. Blum dunk, wkwkwk :D

            Maap gan, situasi ane saat ini bener-bener sedang nggak memungkinkan untuk bikin-bikin sesuatu di luar kerjaan.

  3. gan.. masalah yang PEND itu gmn ya gan?
    bisa diakalin gak kira” ya kalo misalnya mao simpen semua transaksi di database..
    kalo ada PEND nya gitu kan.. datanya jadi ke dobel2
    uda coba utak atik mala berantakan hehe..

    1. Kalau mau nyimpen semuanya ke DB, terus terang ane belom kepikiran cara yang 100% foolproof gan.

      Tapi sebetulnya ane ada nemu logika baru yang lebih oke untuk mastiin adanya “transaksi baru”. Jadi pertama-tama kita cek Informasi Saldo dulu, kalau sama ama sebelomnya, berarti ga ada transaksi baru. Kalo beda, baru buka Mutasi Rekening dkk.

      Jadi perobahan dari PEND ke tanggal gak akan mengirim notifikasi.

      Ane sebetulnya lagi menggunakan script baru berdasarkan logika di atas, tapi masih berantakan codingnya. Ntar kalau udah rapi ane posting deh.

    2. Untuk nyimpen semuanya ke DB, masalah utamanya adalah nilai kolom yang gak konsisten.

      Bukan cuma tanggal vs PEND doang, kolom keterangannya juga nggak konsisten tuh. Bisa jadi sekarang isinya AAA, taunya besok berobah jadi ABA.

      Jadi agak sulit kalau kita mau bikin “unique key” berdasarkan kolom. Kalau kita pakai kolom angka2nya doang (debit-kredit-saldo) yang kayaknya cukup konsisten, kemungkinan nanti bakalan ada yang sama kalau rentang waktunya panjang. Bakal ada transaksi yang gak kecatet karna dianggep udah pernah disimpen.

      Ada ide gan? :D

  4. Mau tanya gan, kalo misalnya saya punya 2-3 rekening bca prosesnya biar bisa ada laporan ke email kalo ada transfer masuk dari buyer (saya belum paham itu di scriptnya apa aja yg perlu diganti dan dimasukan kedalam script di atas) , Soalnya saya pun ya toko online dengan menggunakan 3 rekening bca untuk memudahkan pencatatan.

    Tapi kalo bisa masuk laporan transfer 3 rekening ke 1 email lebih bampang karena saya tidak perlu login 1-1 ke klikbca saya dan bisa meminimalisir kesalahan memasukan passsword dari karyawan saya.

    1. Yang perlu diganti: proses-prosesnya dimasukkan ke dalam loop di mana setiap loop mewakilkan sebuah account. Sebetulnya script yang ane pakai sekarang seperti ini cara kerjanya, tapi maaf seperti ane sebut di komentar atas, script-nya masih berantakan. Nanti kalau sudah ada kesempatan untuk merapikan, pasti ane rapikan dan langsung posting di sini.

  5. Web ente tampilannya standard wordpress bangettt….. tapiiiii… isinya ga standard…. LUAR BIASA BERGUNA NYAAAA……

      1. Kalo yang Mutasi Bank Mandiri ada gak gan ?.
        saya udah coba scripnya agan yag bca dan sudah berhasill,,

        1. Mandiri lebih ribet gan karna dia pake captcha. Teorinya sih bisa, tapi rumit.

          Yang agak simple mungkin dengan menghubungkan aplikasinya ke salah satu layanan captcha solver (musti bayar).

          1. kira2 agan punya gak yg referensi ato scriptnya yang bank mandiri,,, kalo ada tolong donk kash tahu,, ntar ane ganti ongkosnya, hehe

          2. maap gan ane ga punya :D

            untuk bikin2 juga kayaknya ga bisa deh gan, rumit ngakalin captcha nya. Sementara kalau pake layanan-layanan captcha solver harus dipikir matang-matang dulu karna gak gratis.

          3. Hah, iya ya? :D

            Kalau gitu berarti bisa. Tapi seperti yang ane tulis di komen-komen atas, sekarang ini ane lagi bener-bener ga punya waktu untuk ngerjainnya. :D

  6. gan klo ingin mengetahui ada orang transfer ke rekening kita gmn ya gan klo pakai php, tolong ya gan??? untuk bank nya terserah.

  7. Very very nice postingan gan ! Jempol dehhh !

    Gan, kebeneran ane ada kerjaan (real project, real client) yg memerlukan hal semacam itu, tapi utk account bisnis BCA dan Mandiri. Kalo yg agan share di postingan kan utk BCA account personal ya. Berani terima tantangan kerja sama dgn ane gan ? Ane sudah siapin account bisnis BCA dan Mandiri demi project tsb. Beda banget pokoknya. Gimana gan ?Heheheh ….Email saja kl misal agan minat utk pembicaraan lebih lanjut ya….

    Yg kedua, agan pakai tools apa utk mendeteksi HTTP request dan responsenya sehingga bisa tahu header dan variabel2 apa saja yg dikirimkan ke web server ? Mohon dishare dong…

    Thanks

    1. Untuk deteksi variabel yg terkirim sejujurnya di kasus ini ane gak banyak melakukannya gan. Script dasarnya kan ane ambil di Kaskus dan ane cuma ubah-ubah dikit. Memang ada sedikit keperluan untuk cek-cek gituan yang cuma ane lakukan dengan sistem trial & error :D Plus ada juga bantuan element inspector di Chrome.

      Mengenai tantangannya, sekedar pembicaraan lebih lanjut supaya ane tau lebih banyak mengenai detilnya sih tidak ada salahnya gan. :D

  8. gan apakah harus punya account di internet banking nya bca???…trs klo sdh punya di isikan dimananya?maaf baru newbie gan…

Comments are closed.