{"id":456,"date":"2014-09-29T15:46:51","date_gmt":"2014-09-29T08:46:51","guid":{"rendered":"http:\/\/www.randomlog.org\/?p=456"},"modified":"2022-06-28T14:25:08","modified_gmt":"2022-06-28T07:25:08","slug":"bca-parser-lagi","status":"publish","type":"post","link":"https:\/\/randomlog.org\/blog\/bca-parser-lagi","title":{"rendered":"BCA Parser lagi"},"content":{"rendered":"<p><span style=\"color: #ff0000;\">Saat ini script tidak berfungsi karena ada sesuatu yang diubah di KlikBCA.<\/span><\/p>\n<ol>\n<li><span style=\"color: #ff0000;\">Sebetulnya masih bisa diperbaiki, nanti kalau ada waktu saya posting. Yang punya saya sudah terintegrasi jadi nggak bisa langsung kopas.<\/span><\/li>\n<li><span style=\"color: #ff0000;\"><a href=\"https:\/\/developer.bca.co.id\/\">BCA membuka API<\/a>. Untuk pelanggan corporate dan ada biayanya. Tapi barangkali ini adalah pilihan yang baik karena misalnya, tiap transaksi pasti ada unique ID nya yang bakalan mempermudah banyak hal ^_^<\/span><\/li>\n<\/ol>\n<p><span style=\"color: #ff0000;\">RL &#8211; 28 Juni 2022<\/span><\/p>\n<p>Sambungan dari <a title=\"BCA Parser\" href=\"http:\/\/www.randomlog.org\/article\/bca-parser\/\">sini<\/a>.<\/p>\n<p>Saya kebetulan perlu untuk memasang BCA Parser di server lain, jadi akan saya tuliskan langkah-langkahnya supaya jelas \ud83d\ude42<\/p>\n<h2>Pertama-tama<\/h2>\n<p>Buat sebuah folder yang bisa diakses melalui http, misalnya <code>http:\/\/www.example.com\/bca<\/code><\/p>\n<h2>Kedua<\/h2>\n<p>Kopi <code>IbParser.php<\/code> ke dalam folder tersebut<\/p>\n<h2>Ketiga<\/h2>\n<p>Buat sebuah file, misalnya <code>test.php<\/code>, di dalam folder tersebut, dan ini isinya:<\/p>\n<pre class=\"lang:php htmlscript:true decode:1 \">&lt;?php\n\nerror_reporting( E_ALL );\nrequire( 'IbParser.php' );\n$parser = new IbParser();\n\n?&gt;\n\n&lt;pre&gt;\nIP Server     : &lt;?php echo $parser-&gt;conf['ip']; ?&gt;\n\nTanggal &amp; Jam : &lt;?php echo date( 'Y-m-d H:i:s', $parser-&gt;conf['time'] ); ?&gt;\n\nPath          : &lt;?php echo $parser-&gt;conf['path']; ?&gt;\n\nWritable      : &lt;?php echo ( is_writable( $parser-&gt;conf['path'] ) )? 'Ya': '&lt;span style=\"color: #ff0000;\"&gt;Tidak!&lt;\/span&gt;'; ?&gt;\n\n&lt;\/pre&gt;<\/pre>\n<p>Panggil <code>http:\/\/www.example.com\/test.php<\/code> lewat browser, pastikan IP server dan Path terdeteksi dengan benar, Writable = Ya, dan Tanggal &amp; Jam adalah sama persis dengan Waktu Indonesia Barat (kalau tidak sama, ubah variabel <code>$this-&gt;conf['time']<\/code> di <code>IbParser.php<\/code>)<\/p>\n<h4>Keempat<\/h4>\n<p>Jika tidak ada masalah di langkah #3, tambahkan isi <code>test.php<\/code> sehingga menjadi seperti ini:<\/p>\n<pre class=\"lang:php htmlscript:true decode:1 \">&lt;?php\n\nerror_reporting( E_ALL );\nrequire( 'IbParser.php' );\n$parser = new IbParser();\n\n?&gt;\n\n&lt;pre&gt;\nIP Server     : &lt;?php echo $parser-&gt;conf['ip']; ?&gt;\n\nTanggal &amp; Jam : &lt;?php echo date( 'Y-m-d H:i:s', $parser-&gt;conf['time'] ); ?&gt;\n\nPath          : &lt;?php echo $parser-&gt;conf['path']; ?&gt;\n\nWritable      : &lt;?php echo ( is_writable( $parser-&gt;conf['path'] ) )? 'Ya': '&lt;span style=\"color: #ff0000;\"&gt;Tidak!&lt;\/span&gt;'; ?&gt;\n\n&lt;\/pre&gt;\n\n&lt;?php\n\n$bank   = 'BCA';\n$user   = 'username_klikbca';\n$pass   = 'password_klikbca';\n\n$balance = $parser-&gt;getBalance( $bank, $user, $pass );\n\n?&gt;\n\n&lt;pre&gt;\nAkun          : &lt;?php echo $bank . ' ' . $user; ?&gt;\n\nSaldo         : &lt;?php echo ( !$balance )? 'Gagal mengambil saldo': number_format( $balance, 2 ); ?&gt;\n&lt;\/pre&gt;\n\n&lt;?php $transactions = $parser-&gt;getTransactions( $bank, $user, $pass ); ?&gt;\n&lt;pre&gt;Transaksi     : &lt;?php echo ( !$transactions )? 'Gagal mengambil transaksi': print_r( $transactions, true ); ?&gt;&lt;\/pre&gt;<\/pre>\n<p>Ubah <code>username_klikbca<\/code> dan <code>password_klikbca<\/code> menjadi username dan password anda, panggil kembali <code>test.php<\/code> melalui browser. Jika saldo dan transaksi muncul, berarti semuanya lancar.<\/p>\n<h2>Kok nanggung?<\/h2>\n<p><code>IbParser.php<\/code> adalah dasar yang dibutuhkan untuk melakukan koneksi ke Klik BCA sekaligus melihat saldo dan mutasi rekening. Implementasi selanjutnya sangat luas, saya tidak bisa membuatkan sesuatu yang akan pas digunakan untuk semuanya. Postingan ini saya buat lagi untuk lebih menjelaskan cara penggunaan <code>IbParser.php<\/code> karena di postingan sebelum barangkali kurang begitu jelas, tapi tidak ada kode yang diubah. Postingan ini juga saya buat lagi karena kebetulan saya sedang utak-atik sebuah aplikasi yang perlu mendeteksi transferan dengan angka unik, yang tentunya terhubung ke database user yang pasti beda-beda untuk tiap aplikasi.<\/p>\n<p>Untuk sekedar menerima notifikasi melalui email setiap kali saldo BCA berubah termasuk karena belanja dengan debit card, atau ada duit masuk karena menerima transferan, silakan lihat <code>notifier.php<\/code> di postingan sebelum. Nah tapi kayaknya file tsb agak kurang oke sedikit, kemungkinan besar akan membutuhkan penyesuaian sana-sini agar bisa berjalan lancar di server anda. \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Saat ini script tidak berfungsi karena ada sesuatu yang diubah di KlikBCA. Sebetulnya masih bisa diperbaiki, nanti kalau ada waktu saya posting. Yang punya saya sudah terintegrasi jadi nggak bisa langsung kopas. BCA membuka API. Untuk pelanggan corporate dan ada biayanya. Tapi barangkali ini adalah pilihan yang baik karena misalnya, tiap transaksi pasti ada unique [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[35],"class_list":["post-456","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-bca-parser"],"_links":{"self":[{"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/posts\/456","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=456"}],"version-history":[{"count":11,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/posts\/456\/revisions"}],"predecessor-version":[{"id":623,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/posts\/456\/revisions\/623"}],"wp:attachment":[{"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/media?parent=456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/categories?post=456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/randomlog.org\/blog\/wp-json\/wp\/v2\/tags?post=456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}