BCA Parser lagi

Sambungan dari sini.

Saya kebetulan perlu untuk memasang BCA Parser di server lain, jadi akan saya tuliskan langkah-langkahnya supaya jelas πŸ™‚

Pertama-tama

Buat sebuah folder yang bisa diakses melalui http, misalnya http://www.example.com/bca

Kedua

Kopi IbParser.php ke dalam folder tersebut

Ketiga

Buat sebuah file, misalnya test.php, di dalam folder tersebut, dan ini isinya:

Panggil http://www.example.com/test.php lewat browser, pastikan IP server dan Path terdeteksi dengan benar, Writable = Ya, dan Tanggal & Jam adalah sama persis dengan Waktu Indonesia Barat (kalau tidak sama, ubah variabel $this->conf['time'] di IbParser.php)

Keempat

Jika tidak ada masalah di langkah #3, tambahkan isi test.php sehingga menjadi seperti ini:

Ubah username_klikbca dan password_klikbca menjadi username dan password anda, panggil kembali test.php melalui browser. Jika saldo dan transaksi muncul, berarti semuanya lancar.

Kok nanggung?

IbParser.php 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 IbParser.php 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.

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 notifier.php 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. πŸ˜€

96 thoughts on “BCA Parser lagi”

  1. Mas mau tanya, cara nampilin array menjadi bentuk table gmn yah saya bingung dari variable array di IBParser. Udah otak atik dan cari sana sini mentok ga bisa2 mas πŸ™
    Mohon pencerahannya.

    Contoh bentuk array mutasi yang ingin dirubah menjadi tampilan tabel dari variabel IbParser:
    http://i61.tinypic.com/a101hc.jpg

    1. Iya saya barusan search juga belum nemu tutorial yang jelas ya mas? Padahal ini termasuk hal yang cukup umum… πŸ™‚ Nanti saya buatkan contohnya (tapi saya ga bisa sebut kapan-nya ya) πŸ˜€

  2. Gan bermanfaat nih scripnya, di hosting ane cuma bisa nampilin di browser aja notifiernya belum jalan, kalo dijalanin hasilnya muncul di browser “#!/usr/local/bin/php hapus” mohon pencerahannya gan.

    1. die( ‘hapus’ ) nya dihapus dulu gan πŸ˜€ Kalo ngga saya gituin, ntar tiap kali agan-agan buka file itu di server saya, script nya jalan πŸ˜€

    1. Scriptnya sih masih berjalan pak (saya pakai utk beberapa keperluan).

      Kalau berhenti di Langkah 4, barangkali ada problem ketika melakukan koneksi ke BCA. Hostingnya di mana? Apakah bisa cURL? Lalu, harusnya ada pesan error karena di atas error_reporting() sudah di-set kan? Kalau tidak ada sepertinya disembunyikan oleh settingan server, coba dicari-cari deh pak. Kalau ada pesan error lebih mudah kita troubleshootingnya kan πŸ™‚

    1. Kalau saldo muncul sih sudah ga ada masalah sis, mutasi ga muncul karena kadang memang di klikbca tuh kita bisa lihat informasi saldo tapi ga bisa lihat mutasi rekening πŸ™‚

      Kadang malah 2 2 nya ga bisa (malem-malem seputaran jam 8-12 kalo ga salah)

      1. Jadi demi efisiensi, buat yang nyetel cron, coba diset biar ga jalan pada jam-jam tersebut… Kayaknya buang buang sumberdaya aja gitu kalau script nya jalan padahal pasti ga bisa πŸ˜€

        Trus btw ini ada cron gampang: easycron.com πŸ™‚

  3. Kalo untuk ngelihat detail transaksi 6 bulan yang lalu bisa ndak?
    Ribet soalnya kalo untuk tabungan perorangan mau liat detail transaksi lebih dari 2 bulan yang lalu atau bahkan tidak bisa, jangankan 6 bulan yang lalu, di webnya aja cuma bisa 2 bulan transaksi kebelakang.

  4. Tidak dishare ke github, om?
    Saya juga lagi buat utk project saya, kira-kira sintaxnya seperti ini:

    set(‘bank’, ‘BNI’);
    // Masukkan username dan password.
    $ibank->set(‘username’, ‘MYUSERNAME’);
    $ibank->set(‘password’, ‘MYPASSWORD’);
    // Start object to get transaction history.
    $ibank->history();
    // Set range.
    $ibank->history->start(‘now’); // @see php.net/strtotime
    $ibank->history->end(‘last month’); // @see php.net/strtotime
    // Method execute akan melakukan http request, parsing html, save cookie, dll.
    $ibank->execute();
    // Hasil saldo dan mutasi rekening berada pada property result.
    $ibank->result;
    // Uncomment baris dibawah ini jika ingin menyimpan sebagai file csv.
    // $ibank->history->save(‘mutasi.csv’); // @see php.net/strtotime
    ?>

  5. Tidak dishare ke github, om?
    Saya juga lagi buat utk project saya, kira-kira sintaxnya seperti ini:

    <?php
    /**
    * Contoh Penggunaan Advanced
    * – mengambil saldo terakhir
    * – mengambil mutasi rekening 1 bulan terakhir.
    * – simpan hasil sebagai file CSV.
    */
    $ibank = new intenetBankingID;
    // Pilih bank, opsi tersedia: BCA, BNI, Mandiri.
    $ibank->set(‘bank’, ‘BNI’);
    // Masukkan username dan password.
    $ibank->set(‘username’, ‘MYUSERNAME’);
    $ibank->set(‘password’, ‘MYPASSWORD’);
    // Start object to get transaction history.
    $ibank->history();
    // Set range.
    $ibank->history->start(‘now’); // @see php.net/strtotime
    $ibank->history->end(‘last month’); // @see php.net/strtotime
    // Method execute akan melakukan http request, parsing html, save cookie, dll.
    $ibank->execute();
    // Hasil saldo dan mutasi rekening berada pada property result.
    $ibank->result;
    // Uncomment baris dibawah ini jika ingin menyimpan sebagai file csv.
    // $ibank->history->save(‘mutasi.csv’); // @see php.net/strtotime
    ?>

    1. ga sempet om, om aja terusin siapa tau ntar banyak yang ikutan πŸ˜€

      Masalah syntax sih terserah (yang penting gampang dipakai). Lalu kalau boleh komen, saya ga tau yang punyanya om di dalemnya gimana, tapi proses ngambil mutasi sama cek saldo baiknya dipisah. Jangan sampai cuma ada 1 proses yg melakukan keduanya dan dianggap gagal kalau salah satunya gagal. Soalnya (setidaknya di BCA) frekuensi keberhasilan ngebuka halaman Informasi Saldo lebih tinggi daripada Mutasi Rekening (bukan masalah koding/koneksi tapi emang di klikbca nya begitu).

      Trus perlu diinget juga bahwa hasil di Informasi Saldo itu lebih kecil ceban daripada akhir saldo di Mutasi Rekening.

      Logika script notifier.php saya gini (kalau blum dilihat):
      – cek saldo
      – kalau sama, skip
      – kalau beda, baru cek mutasi

      Proses ngambil saldo beda dengan proses cek mutasi.

      Jadi kadang memang dia berhasil cek saldo (dan bisa ngasi notfikasi kalo ada perubahan saldo) tapi mutasi rekeningnya (informasi mengenai apa yang bikin saldo berubah) gagal diambil.

      Trus sebetulnya ada rencana juga utk otomatis nyimpen data, barangkali flat file aja, supaya data taun lalu juga tetep tersimpan, tapi seperti saya bilang di atas kayaknya ini agak panjang kalau mau dibikin supaya fleksibel / gampang dijalankan di semua settingan server…

  6. sore om , saya nyoba skripnya yang di atas…
    untuk test berhasil hanya saja gagal menampilkan saldo dan mutasi

    saya coba liat errornya dimana, pas saya echokan bari di bawah,
    $src = $this->curlexec();
    echo $src;

    ternyata hasilnya cm nampilin angka β€œ1”, apakah memang demikian ? hasil curlexec() hanya bernilai 1 atau 0 ?
    ataukah harusnya string tag html dibawah ini
    [code]000000,00[/code]

    atau skrip ini udah ga jalan jadi cuma nampilin angka 1 ?

    mohon petunjuknya om, masih bisa diperbaiki ga yaaa…
    makasih πŸ˜€

    1. halo,

      kayaknya harusnya kalau di-echo hasilnya nggak 1, coba di function curlexec(), CURLOPT_RETURNTRANSFER, 1, angka 1 nya ganti jadi 0, trus panggil lagi script nya utk sekedar melihat apakah curl berfungsi. Harusnya nanti akan ada tampilan halaman-halaman klikbca (dengan address bar yang tidak berubah).

      Lebih baik lagi kalau om tulis die(); di fungsi login(), tepat setelah $this->curlexec(); yang pertama. Gunanya supaya script berhenti pada langkah pertama, yaitu setelah mengambil halaman depan (sebelum melakukan login).

      Skripnya sih masih jalan πŸ™‚

  7. Mas, saya coba parsing BCA yang Anda buat. Saya jalankan di server hosting bisa muncul dengan baik. Waktu saya coba di localhost tidak berjalan dengan baik. Padahal filenya saya ambil dari hosting.

    berikut munculnya
    IP Server : 202.67.43.26
    Tanggal & Jam : 2015-05-17 19:45:34
    Path : C:\xampp\htdocs\mutasi
    Writable : Ya

    Akun : BCA ardian
    Saldo : Gagal mengambil saldo

    Transaksi : Gagal mengambil transaksi

    Kira2 kenapa ya? Jam nya sudah disesuaikan.

    1. localhostnya bisa curl ngga mas? coba jalankan fungsi curl sederhana (jgn lupa error_reporing( E_ALL ) biar ketauan kalau ada error.

      kalau memang blum ada, coba cek barangkali di sini utk mengaktifkan curl nya πŸ™‚

  8. sejauh ini ane make lancar bos udah beberapa bulan, tapi ga tau kenapa pagi ini script “GAGAL MENGAMBIL SALDO”, padahal semalem masih lancar2 aja…

    mohon bantu solusi bos ya, thx

  9. UPDATE BOS…
    ga tau kenapa barusan idup lagi rumus nya… jam 10:30 pagi WIB… kegagalan sebelumnya udh ane cek BCA redirect 302 ke halaman mobile, dan tiba2 normal lagi setelah halaman redirect 302 tidak muncul, kemungkinan sih BCA sedang meningkatkan keamanan via USERAGENT nya supaya REAL USER yang bener2 bisa login…

    moga ga terlalu jauh lah perubahan sistemnya, repot ngubek2 script nya beeuuuh…

    STATUS: SCRIPT WORK KEMBALI

    1. iya gan kadang memang suka gagal tapi rasanya itu wajar di BCA nya. Kadang kan kalau kita buka klikbca kita ga bisa lihat saldo/mutasi, walaupun di luar jam yang memang “sangat besar kemungkinan” ga bisa (sekitar setelah jam 8 malam) walau kadang-kadang bisa πŸ˜€

      Script nya masih berfungsi, ane kan pake juga notifiernya di sebuah website toko online yang sering terjadi transaksi, dan sampai barusan masih masuk kok notifikasi-notifikasinya.

    1. maaf gan, kalau itu tergantung os nya, ane ga bisa kasih jawaban yg pasti.
      coba agan tanya ke hostingan, atau baca-baca mengenai cara cron di os yang agan gunakan πŸ™‚

  10. siang gan, sebelumnya minal aidin wal faizin yah gan πŸ™‚

    Script diatas masih work kah? saya coba sesuai komen2 yg disini jg tetep yg muncul :

    Saldo : Gagal mengambil saldo
    Transaksi : Gagal mengambil transaksi

    padahal user n pass dibuat login di klikbca sukses.
    mohon solusinya gan,

    tengkiuu

  11. Mutasi belum muncul barangkali karena memang lagi ga bisa. Teorinya kalau saldo sudah bisa harusnya sudah tidak ada masalah πŸ™‚

  12. UPDATE :
    Bisa munculin saldo bos..
    Mantab.. Ditunggu update class Mandiri n BNI nya gan πŸ™‚

    Ane jg lagi coba2 Bank Mandiri nie. Barangkali ada update an jg dari agan2 dimari bisa di share dimari gans… :-*

        1. Agan bryan, Anda akses per 25 Sept ya ? Saya coba akses per 27 Sept jam 20 an lebih sedikit kok gak bisa.
          Agan pakai yg IbParser atau yg script lama sebelum ada IbParser ?

        2. Eh maaf gan, udah bisa. Ternyata harus copy paste yg
          curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, 0); //skipping SSL_CERT for host
          curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, 0); //skipping SSL_CERT
          curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 0); //ignoring server redirect
          di IbParser nya. Kelupaan :p :p

        3. cara lewatin captcha yang 100% sukses tuh pakai tenaga manusia gan πŸ˜€

          Konsepnya jadi setiap request captcha diteruskan ke segerombolan manusia yang akan nulis jawabannya, baru dibalikin. Ada banyak layanan2 untuk ini misalnya 2captcha.com.

    1. Mungkin juga ya? Waktu itu soalnya kalau ga salah dia mendeteksi referer, jadi kalau kita datang langsung (bukan dari alur yg sebenarnya) ga bisa. Memang di cURL sudah di set referrer sih, tapi waktu itu saya buatnya memang ngikutin alur banget (biar persis sama seperti kalau orang beneran yang ngebrowsing websitenya). Nanti kapan-kapan ane benerin biar makin efisien hehehe πŸ˜€

    1. maksudnya website klikbca yang versi desktop ya? itu emang beda gan alur-alurnya. Dan justru ane pakai yang mobile karena terlihat lebih baru, jadi lebih kecil kemungkinan akan berubah dalam waktu dekat. Kalau yang desktop kan jadul banget, tampilan jelek, pakai frame, dkk…

  13. Gan RL, saya coba pakai 2 cara, yg PHP lama (sebelum ada IbParser) dan versi IbParser.
    Duluuuu memang jalan dua2nya. Top. Tapi ini nyoba lagi sekitar jam 8 malam kok gak bisa. Baca2 respon, bisa jadi krn memang dari server BCA nya.
    Lalu coba pakai web inspector di situs aslinya, ternyata ada tambahan parameter lagi yg dikirim, yaitu CurNum. Isinya rangkaian string acak.
    Apakah agan RL sudah tahu hal tsb ?
    Tks sebelumnya.

    1. Saya lupa deh sama parameter2nya πŸ˜€ Tapi sampai barusan masih jalan kok. Saya kan pakai untuk toko online yang sering transaksi, jadi kalau ada yg error pasti saya langsung tau.

  14. untuk bank mandiri:

    set_time_limit(600);

    $agent = “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2”;
    $fcookie = dirname( __FILE__ ) . “/httpsCurl.cookie.txt”;

    function getMaxDay($year,$month) {
    if( in_array($month,array(1,3,5,7,8,10,12)) ) return 31;
    if( in_array($month,array(4,6,9,11)) ) return 30;
    if($year%4 == 0) return 29; // kabisat sederhana //
    return 28;
    }

    function httpsCurl($url,$urlref=false,$fields=false) {
    global $fcookie, $agent;
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    if($urlref) {
    curl_setopt($ch, CURLOPT_REFERER, $urlref);
    }
    if($fields) {
    $fields_string = ”;
    foreach($fields as $key=>$value) {
    $fields_string .= $key.’=’.$value.’&’;
    }
    curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
    curl_setopt($ch,CURLOPT_POST,count($fields));
    } else {
    curl_setopt($ch,CURLOPT_HTTPGET, TRUE);
    }
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);
    curl_setopt($ch, CURLOPT_COOKIEJAR, $fcookie);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $fcookie);
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    $html = curl_exec($ch);
    return $html;
    }

    function baca_mutasi_bank_mandiri($userID, $password, $month,$year){

    // LOGOUT //
    $url0 = ‘https://ib.bankmandiri.co.id/retail/Logout.do?action=result’;
    $result0 = httpsCurl($url0);
    //file_put_contents(‘./result0.html’,$result0);
    //sleep(2);

    // MASUK //
    $url1 = ‘https://ib.bankmandiri.co.id/retail/Login.do?action=form&lang=in_ID’;
    $result1 = httpsCurl($url1,$url0);
    //file_put_contents(‘./result1.html’,$result1);
    //sleep(2);

    // LOGIN //
    $fields = array(
    ‘action’=>urlencode(“result”)
    , ‘password’=>urlencode($password)
    , ‘userID’=>urlencode($userID)
    , ‘image.x’=>urlencode(“0”)
    , ‘image.y’=>urlencode(“0″)
    );
    $url2 = ‘https://ib.bankmandiri.co.id/retail/Login.do’;
    $result2 = httpsCurl($url2,$url1,$fields);
    //file_put_contents(‘./result2.html’,$result2);
    //sleep(2);

    // BACA KODE CCOUNT //
    $url3 = ‘https://ib.bankmandiri.co.id/retail/TrxHistoryInq.do?action=form’;
    $result3 = httpsCurl($url3,$url2);
    //file_put_contents(‘./result3.html’,$result3);
    //sleep(2);
    $accID = strpos($result3,’name=”fromAccountID”‘);
    if( $accID && ($accID=strpos($result3,’ value=”‘,++$accID)) && ($accID=strpos($result3,’ value=”‘,++$accID)) ) {
    $accID = substr($result3,$accID+8,15);
    $accID = rtrim($accID, ‘”> ‘);
    //echo $accID;
    }

    // BACA MUTASI SATU BULAN //
    $max_day = getMaxDay($year,$month);
    $fields = array(
    ‘action’=>urlencode(“result”)
    , ‘fromAccountID’=>urlencode($accID)
    , ‘fromDay’=>urlencode(“1”)
    , ‘fromMonth’=>urlencode($month)
    , ‘fromYear’=>urlencode($year)
    , ‘orderBy’=>urlencode(“ASC”)
    , ‘searchType’=>urlencode(“R”)
    , ‘sortType’=>urlencode(“Date”)
    , ‘toDay’=>urlencode($max_day)
    , ‘toMonth’=>urlencode($month)
    , ‘toYear’=>urlencode($year)
    );
    $url4 = ‘https://ib.bankmandiri.co.id/retail/TrxHistoryInq.do’;
    $result4 = httpsCurl($url4,$url3,$fields);
    //file_put_contents(‘./result4.html’,$result4);
    //sleep(2);

    // LOGOUT //
    $resultx = httpsCurl($url0);
    // file_put_contents(‘./resultx.html’,$resultx);

    return $result4;
    }

    $_userid = ‘bamban2601’;
    $_passwd = ‘123456’;
    $_bulan = 11; // november
    $_tahun = 2015;

    $sret = baca_mutasi_bank_mandiri($_userid, $_passwd, $_bulan,$_tahun);
    $iawal = strpos($sret,’‘);
    $iakir = strpos($sret,’‘);
    if($iawal && $iakir && $iawal<$iakir) {
    echo substr($sret,$iawal,$iakir-$iawal);
    } else {
    echo "kosong";
    }

  15. IP Server : 139.228.76.174
    Tanggal & Jam : 2016-02-01 19:35:32
    Path : C:\xampp\htdocs\bca\bca
    Writable : Ya
    Akun : BCA [SAYA HIDDEN]
    Saldo : Gagal mengambil saldo
    Transaksi : Gagal mengambil transaksi

    Untuk jam sudah sesuai GMT+7, tapi mengapa masih gagal ambil saldo ya gan?

    Untuk variable time di lbParser.php saya ganti menjadi: $this->conf[‘time’] = time();

    tidak ada keterangan errornya. Mohon pencerahannya. Terima Kasih

  16. Update lagi gan, maaf terlalu panjang. πŸ˜€
    Ternyata ketika saya upload ke server tidak ada masalah dan bisa menampilkan saldo serta mutasi.

    Makasih gan, saya explore2 dulu…

      1. btw dulu saya pernah juga pusing gara-gara ternyata sempat login 2x tanpa logout, akibatnya kan kita ga bisa login selama 10 menit. Jadi kalau nemu masalah dicek2 juga login secara manual lewat browser, siapa tau ini yg terjadi.

    1. Line #14 kalau di file saya itu adalah bagian fungsi file_get_contents() ya? Errornya seperti apa? Fungsi ini berguna untuk mendapatkan ip publik dari servernya agan πŸ™‚

      Kalau filenya sudah diubah (line #14 bukan yang itu), coba kasih tau apa isi dari line #14 dan apa errornya.

  17. Sebelumnya, kusampaikan Terima Kasih banyak buat Pak RL yg sudah membuat Tools membantu para programmer newbie…
    Boleh saya minta diajarin cara parse lebih banyak data ?
    $transactions = $parsernum->getTransactions( $bank, $user, $pass );
    Hanya menghasilkan 8 baris transaksi terakhir…
    Bisakah data di Showall sebanyak 31 hari seperti buka klikbca secara manual ?

    1. Sebetulnya bukan 8 transaksi terakhir, tapi “seluruh transaksi pada (kalau ngga salah) 3 hari terakhir”.

      Untuk 31 hari terakhir, baru saya jawab di komentar satu lagi πŸ™‚

    1. IbParser.php hanya membuka daftar mutasi (kalau ngga salah) 3 hari terakhir. Kalau mau dibuat supaya rentang waktunya lebih lama bisa aja dg mengubah variabel penentu tanggal di file IbParser.php

      Atau lebih baik lagi, IbParser ngga usah diubah, tapi program yg menggunakannya dibuat supaya menyimpan data ke database, jadi nantinya data yg bisa dilihat bukan cuma 1-3 bulan ke belakang πŸ™‚

      1. Terima kasih banget pak atas menyediakan source yg terbuka utk umum….. Coding tanggal ternyata ada di sini:
        $start = mktime( $d[3], $d[4], $d[5], $d[1], ( $d[2] – 31 ), $d[0] );
        mengenai ide bpk yg save ke tabel database sendiri… sgt inspiratif… jadi mau akses data berapa tahun pun tiada masalah lagi… pokoknya keren habis ! πŸ˜€

  18. Halo om mau tanya ni saya masih bertanya2 untuk maksimal pengecekan mutasi di bank bca, yang saya mau tanyakn adakah maksimal pengecekan mutasi rekening di bca internet banking dalam sehari, takutnya keblokir kalo saya bikin tiap 3 menit sekali cek reking.

    karena saya dengan maksimal sehari hanya 48x pengecekan. mohon pencerahanya om.

    1. saya cuma pernah dikasih “nasehat” aja gan, supaya pengecekan nggak lebih dari 100x per hari. Jadi kalau 3 menit itu sepertinya terlalu sering πŸ˜€

        1. kalau log sih ga usah dibandingin. Bandingin perlu (sebetulnya cuma salah 1 cara yg saya pakai) untuk mengetahui apakah ada perubahan data / transaksi baru dengan cepat, tanpa harus membuka halaman mutasi rekening. Cukup buka informasi saldo, yang lebih mudah di-parse, dan lebih jarang gagal (kalau pagi2 gitu kadang informasi saldo bisa dibuka tapi mutasi rekening engga) πŸ˜€

  19. Mas ini tidak bisa dijalankan di localhost ya? padahal fungsi curl sudah aktif.

    muncul pesan seperti ini:

    IP Server : 112.215.XXX.XXX
    Tanggal & Jam : 2016-09-09 03:25:53
    Path : E:\Program Files\Xampp\htdocs\bankparser
    Writable : Ya
    Akun : BCA xxxxxxxxx
    Saldo : Gagal mengambil saldo
    Transaksi : Gagal mengambil transaksi

      1. ok coba yakinkan dulu kalau klikbca nya, atau akun klikbca nya bisa diakses. Coba buka & login langsung melalui browser.

        kalau masih ngga bisa, coba cek function login(). Di situ ada 2 $this->curlexec();, ganti yg pertama menjadi echo $this->curlexec(); die();.

        Trus coba panggil lagi file utk test nya (yg munculin ip, tanggal, dkk). Di browser harusnya muncul halaman login klikbca versi mobile, kalau engga maka masalahnya ada sebelum itu nanti dipikirkan lagi cara test nya gimana. πŸ˜€

Leave a Reply

Your email address will not be published.