$res_cdno = @mysql_query($str_cdno); $N_cdno = @mysql_fetch_array($res_cdno); $aco['cardno'] = $N_cdno[f6no] . $N_cdno[c5no] . $N_cdno[lsno]; $strau_dt = "SELECT procdt FROM o_auth WHERE sr='{$aco['authsr']}' limit 1 "; $au_dt = @mysql_query($strau_dt, $plink); $bau_dt = @mysql_fetch_array($au_dt); $close_dt = substr($bau_dt[procdt], 2, 6); //取出交易日 //先濾掉卡號的空格, 有些卡不是 16碼 $aco[cardno] = str_replace(' ', '', $aco[cardno]); if (preg_match("/[\\x{4e00}-\\x{9fa5}]/u", $bill_name)) { //中文 縮小為23 並在最後補2個空白 $ListAuth .= '1' . $close_dt . CARD_ZAO(16, $aco[cardno]) . '000' . $asv . sprintf("%06s", $aco['auth']) . sprintf("%010s", $amount_ok) . MB_CARD_SPACE(23, substr($bill_name, 0, 10 * 3)) . $aco['eci'] . ' ' . "\r\n"; } else { //英文 $ListAuth .= '1' . $close_dt . CARD_ZAO(16, $aco[cardno]) . '000' . $asv . sprintf("%06s", $aco['auth']) . sprintf("%010s", $amount_ok) . CARD_SPACE(25, substr($bill_name, 0, 25)) . $aco['eci'] . ' ' . "\r\n"; } $trailer++; if ($ss_nb == $PSnb || $amq == $ss_all) { if (preg_match("/[\\x{4e00}-\\x{9fa5}]/u", $bill_name)) { $ListAuthTOP .= '8' . date("ymd") . $MID_nb . $MID_nb_ch . sprintf("%08s", $ss_big) . sprintf("%010s", $ss_big_amount) . sprintf("%08s", $ss_smo) . sprintf("%010s", $ss_smo_amount) . ' ' . MB_CARD_SPACE(38, substr($bill_name, 0, 10 * 3)) . ' ' . "\r\n"; } else { $ListAuthTOP .= '8' . date("ymd") . $MID_nb . $MID_nb_ch . sprintf("%08s", $ss_big) . sprintf("%010s", $ss_big_amount) . sprintf("%08s", $ss_smo) . sprintf("%010s", $ss_smo_amount) . ' ' . CARD_SPACE(40, substr($bill_name, 0, 40)) . ' ' . "\r\n"; } $ListAuthALL .= $ListAuthTOP . $ListAuth; $ss_nb = 0; //批次筆數 $ss_big = 0; //請款筆數 $ss_smo = 0; //退款筆數
$N_cdno = @mysql_fetch_array($res_cdno); $aco['cardno'] = $N_cdno[f6no] . $N_cdno[c5no] . $N_cdno[lsno]; if (strlen($aco[cardno]) == 11) { // NCCC CARD 11碼 4000+$aco[cardno]+0 $aco[cardno] = '4000' . $aco[cardno] . '0'; } // ====取出授權&分期資料 $fffco = "SELECT stage,stast,staed,dt,amount FROM o_auth where bank='{$bankNO}' and client='{$aco['client']}' and sr='{$aco['authsr']}' and remsg='已授權' limit 1 "; $qff = mysql_query($fffco, $plink); $aff = mysql_fetch_array($qff); // $Oth_amount = $amount_ok/$aff[stage]; //各期金額 $Oth_amount = floor($amount_ok / $aff[stage]); // 各期金額 $Fas_amount = $Oth_amount + $amount_ok % $aff[stage]; // 頭期金額=各期金額+餘數 $ListAuth .= 'B05' . $MID_nb . CARD_ZAO(16, $aco[cardno]) . sprintf("%02s", $aff[stage]) . sprintf("%08s", $Fas_amount) . sprintf("%08s", $Oth_amount) . sprintf("%08s", $amount_ok) . substr($aff['dt'], 0, 8) . $aco['auth'] . '00 A ' . "\n"; // . 9 MID . 16 卡號 . 2 期數 . 8 頭期金額 . 8各期金額 . 8 訂單金額 . 授權日 YYYYMMDD . 授權碼 . .完 $trailer++; if ($amq == $ss_all) { $ListAuthTOP .= 'H' . $MID_nb . sprintf("%05s", $PsNb) . sprintf("%05s", $amq) . sprintf("%09s", $ss_smo_amount) . sprintf("%08s", date("Ymd")) . $a['tid'] . 'A ' . "\n"; // . 9 MID . 5 批次號碼 . 5 總筆數 . 9 總金額 . 8 日期 . tid . .完 $ListAuthALL .= $ListAuthTOP . $ListAuth; $ss_smo_amount = 0; // 退款金額 $ListAuthTOP = ''; $ListAuth = ''; $trailer++; } } } // =====取出退款的end