A PHP Error was encountered

Severity: Notice

Message: Only variable references should be returned by reference

Filename: core/Common.php

Line Number: 257

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/medantechno/public_html/system/core/Exceptions.php:185)

Filename: libraries/Session.php

Line Number: 675

MedanTechno.com - Tutorial CURL Mutasi Mandiri Internet Banking
admin@medantechno.com
0852 0 7117 555
medantechno.com
Loading...... Refresh
Loading Slide Show...
25 Oktober 2018

Tutorial CURL Mutasi Mandiri Internet Banking

Pada artikel kali ini yang berjudul Tutorial Grab Mutasi Mandiri Internet Banking, kita akan membuat barisan code CURL untuk melakukan request ke url Internet Banking Mandiri dan mengambil mutasi.


Step pertama yang kita buat adalah fungsi CURL seperti contoh dibawah:


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;
}

 

 

Penting !!! untuk mencoba melakukan grab ibanking, jangan pernah melakukan login, sebelum logout. Jika kondisi itu terjadi selama 3 kali, maka acount ibank kita akan terblokir.

Kemudian kita buat CURL untuk Logout:

 $urllogout        = 'https://ib.bankmandiri.co.id/retail/Logout.do?action=result';
$resultlogout    = httpsCurl($urllogout);
file_put_contents('./resultlogin.html',$urllogout);

kita menggunakan file fungsi file_put_contents agar bisa kita telusuri langkah data yang sudah kita dapatkan.

Kemudian untuk Login :

 $url1        = 'https://ib.bankmandiri.co.id/retail/Login.do?action=form&lang=in_ID';
$result1    = httpsCurl($url1,$urllogout);
file_put_contents('./result1.html',$result1);

Selanjutnya  Melengkapi field formnya:

 $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);

Setelah sukses login, sekarang mencoba untuk membaca kode acount:

 $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;
    }

Setelah code acount kita dapatkan, kita mulai mengambil 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);

Untuk hasil terletak di result4.html

 

UPDATE:

Demo Mandiri : https://medantechno.com/tools/mandiri/

Demo BCA : https://medantechno.com/tools/bca/

Semoga bermanfaat...




Artikel Lainnya


Portofolio

  • Agenda
  • Date Title
    15 Februari 2017 Parking Gate Job
    13 September 2016 Finishing pay-inm.co.id
    14 September 2016 Finishing Company Profil Masjid Al-iklas Medan

Loading Counter...



Share...

  • Partner