Men-debug Script Transaksi IPN
Script IPN adalah script yang digunakan oleh online payment processor untuk mem-verifikasi suatu transaksi. Disini kan kita tidak tau apakah script tersebut berjalan dengan semestinya atau ada yang gagal di suatu bagian script. Cara yang biasa saya lakukan adalah dengan membuat log proses yang dilakukan. Apa input dari server, bagaimana script saya mengolah, query apa saja (kalau ada) yang dilakukan, apa response script saya kepada server.
Log yang biasa saya lakukan ada dua cara, pertama dengan menulis step by step proses ke file log dan yang kedua, dengan cara membuffer output dan menyimpan serta meng-echo hasilnya ke file dan output stream. Cara pertama, biasanya saya hanya menggunakan function sebagai berikut:
function writeLog($log)
{
$fl = fopen("IPN_logger.txt", "ab");
fwrite($fl, "$log\n");
fclose($fl);
}
//cara menggunakannya:
writeLog('=======PROCESS START=======');
writeLog('date:'.date('Y-m-d H:i:s'));
writeLog('=======PROCESS END=======');
Sedangkan untuk cara kedua, caranya sebagai berikut:
<?php
$file = "IPN_logger.txt";
ob_start();
//mulai tulis output
echo '=======PROCESS START=======';
echo 'date:'.date('Y-m-d H:i:s');
//lakukan proses
echo '=======PROCESS END=======';
//selesai, ambil outputnya
$saved_page = ob_get_contents();
$fl = fopen($file, 'ab');
fwrite($fl, $saved_page);
fclose($fl);
//clean up buffer;
ob_end_clean();
//outputkan HTML-nya.
echo $saved_page;
?>









Pingback: Output Buffering Untuk Template | Silent's Spot