{"id":342,"date":"2011-08-08T02:36:27","date_gmt":"2011-08-07T19:36:27","guid":{"rendered":"http:\/\/www.randomlog.org\/?p=342"},"modified":"2014-10-17T09:50:33","modified_gmt":"2014-10-17T02:50:33","slug":"membaca-mutasi-rekening-di-klik-bca","status":"publish","type":"post","link":"https:\/\/randomlog.org\/blog\/membaca-mutasi-rekening-di-klik-bca","title":{"rendered":"Mengambil Mutasi Rekening Klik BCA dengan PHP"},"content":{"rendered":"<blockquote><p><a href=\"http:\/\/www.randomlog.org\/article\/bca-parser-lagi\/\">Script baru 29 September 2014 klik di sini<\/a><\/p><\/blockquote>\n<p><span style=\"line-height: 1.5;\">Beberapa hari yang lalu saya &#8220;menagih&#8221; 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.\u00a0Saya lantas merasakan kebutuhan untuk lebih mengotomatisasi proses-proses di Klik BCA dan mulai mencari-cari barangkali ada script yang cocok.<\/span><\/p>\n<p>Saya menemukan <del>topik ini<\/del> (topiknya udah ilang gan &#8211; 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.<\/p>\n<p>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 <em>clear<\/em> sepertinya), sehingga akhirnya saya membuat logika seperti ini:<\/p>\n<ol>\n<li>Mulai pengecekan.<\/li>\n<li>Ambil baris-baris di tabel mutasi rekening.<\/li>\n<li>Saat membaca setiap baris, periksa apakah ada baris yang isinya sama persis tercatat di pengecekan sebelum?<\/li>\n<li>Untuk setiap baris yang belum tercatat, kirim notifikasi.<\/li>\n<li>Ganti catatan dengan baris-baris yang baru.<\/li>\n<\/ol>\n<p>&#8220;Baris&#8221; yang merupakan kombinasi antara tanggal, keterangan, jumlah, dan saldo akhir, diharapkan dapat unik, setidaknya pada rentang waktu yang berdekatan.<\/p>\n<blockquote><p>Logika di atas kurang baik, lebih mudah untuk membandingkan saldo antara setiap pengecekan, kalau beda berarti ada transaksi baru kan? \ud83d\ude00 Memang ada kemungkinan debet &amp; kredit yang sama persis yang terjadi tepat di antara pengecekan, tapi sepertinya kecil sekali.<\/p>\n<p><a href=\"http:\/\/www.randomlog.org\/article\/bca-parser-lagi\/\">29 September 2014<\/a><\/p><\/blockquote>\n<p>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.<\/p>\n<p>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.).<\/p>\n<p><a href=\"http:\/\/www.randomlog.org\/wp-content\/uploads\/2012\/02\/Untitled-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-347 alignnone\" title=\"Notifikasi Kredit BCA di Email\" src=\"http:\/\/www.randomlog.org\/wp-content\/uploads\/2012\/02\/Untitled-1-300x47.png\" alt=\"\" width=\"300\" height=\"47\" srcset=\"https:\/\/randomlog.org\/blog\/wp-content\/uploads\/2012\/02\/Untitled-1-300x47.png 300w, https:\/\/randomlog.org\/blog\/wp-content\/uploads\/2012\/02\/Untitled-1-1024x160.png 1024w, https:\/\/randomlog.org\/blog\/wp-content\/uploads\/2012\/02\/Untitled-1-500x78.png 500w, https:\/\/randomlog.org\/blog\/wp-content\/uploads\/2012\/02\/Untitled-1.png 1440w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Script dapat dilihat <a href=\"http:\/\/www.randomlog.org\/bca\/bcabot.php.txt\">di sini<\/a>. 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.<\/p>\n<p>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.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Script baru 29 September 2014 klik di sini Beberapa hari yang lalu saya &#8220;menagih&#8221; 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.\u00a0Saya lantas merasakan kebutuhan untuk lebih mengotomatisasi proses-proses di Klik BCA dan mulai mencari-cari [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[26,27,25,24,23],"class_list":["post-342","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-bca","tag-cron","tag-curl","tag-klik-bca","tag-php"],"_links":{"self":[{"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/posts\/342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/comments?post=342"}],"version-history":[{"count":42,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/posts\/342\/revisions"}],"predecessor-version":[{"id":468,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/posts\/342\/revisions\/468"}],"wp:attachment":[{"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/media?parent=342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/categories?post=342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/tags?post=342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}