Ejemplo n.º 1
0
 $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;
     //退款筆數
Ejemplo n.º 2
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