//共有多少筆資料
$inclosing = "關帳失敗 - stat關帳中的有" . $aBK . "筆<br>";
$strBK = "SELECT sr FROM " . $O_CLOSE . " WHERE bank_stat='關帳中' and (bank='35' or bank='36') and auth!='777777'";
$qBK = @mysql_query($strBK, $plink);
$Bank_aBK = @mysql_num_rows($qBK);
$inclosing .= "關帳失敗 - bank_stat關帳中的有" . $Bank_aBK . "筆<br>";
@mysql_close($plink);
//沒請款檔通知 (發 Line 警示)
if ($nums_fail && !$TEST_mode) {
    $msg = "萬泰關帳取回 {$dtmYesterday} 請款檔, 應取回 {$nums} 家廠商交易資料, 但有 {$nums_fail} 家取回失敗, 目前關帳中的有 {$aBK} 筆, 請注意! by g_Close_wantaiIn";
    exec_line(4, $msg, 'g_Close_wantaiIn');
}
//被踢退通知 (發 Line 警示)
if ($total_nums_fail && !$TEST_mode) {
    $msg = "萬泰關帳取回 {$dtmYesterday} 請款檔, 有 {$total_nums_fail} 筆資料被踢退, 請注意! by g_Close_wantaiIn";
    exec_line(4, $msg, 'g_Close_wantaiIn');
}
$result = 1;
//$result_note = "應取回".$nums."家成功取回".$nums_succ."家共".$total_nums."筆總金額".$total_amt;
$result_note = "應取回" . $nums . "家成功取回" . $nums_succ . "家共" . $total_nums . "筆";
//如果有失敗
if ($nums_fail) {
    $result_note .= "失敗" . $nums_fail . "家";
}
//如果有踢退
if ($total_nums_fail) {
    $result_note .= "踢退" . $total_nums_fail . "筆";
}
//如果有異常
$get_recv_fail_nums = $total_nums - $total_nums_succ - $total_nums_fail;
if ($get_recv_fail_nums) {
Beispiel #2
-1
            $NO3dOnlyOK = 1;
            //eci 0,7不通過, 就不送授權了
        }
    }
}
//$form['bank'] == 5 || $form['bank'] == 6 || $form['bank'] == 7 || $form['bank'] == 8 || $form['bank'] == 11 || $form['bank'] == 12 || $form['bank'] == 13 || $form['bank'] == 14 || $form['bank'] == 16 || $form['bank'] == 17 ||
if ($form['bank'] == 20 || $form['bank'] == 21 || $form['bank'] == 33 || $form['bank'] == 34) {
    $ch3DxxCity = 1;
    //花旗跟小店的旗標
}
if ($form['stop'] != 0) {
    $str = "update o_auth set remsg='已停用' where sr='{$aa}' limit 1 ";
    $result = mysql_query($str, $plink);
    if (!$result) {
        $line_msg = "授權單號 " . $aa . " 寫 已停用 資料到 o_auth 失敗, " . mysql_error() . ", 請檢查! by form_ssl_3D";
        exec_line(1, $line_msg, 'form_ssl_3D');
    }
    $t2 = microtime(true);
    $running = number_format($t2 - $t1, 3);
    @exec_sr_tracer($aa, "step3", $running, "form_ssl_3D.php", "after3d", $ECI);
    $running = number_format(microtime(true) - $t2, 3);
    @exec_sr_tracer($aa, "step5", $running, "form_ssl_3D.php", "final", "xxx", "已停用");
    $response_msg = $OutPPtextNOuse;
    include 'form_ssl_noan_out.inc';
    @mysql_close($plink);
    session_destroy();
    exit;
}
//加入分期的銀行代碼
if ($form['bank'] == 21 || $form['bank'] == 34) {
    if (!$stage) {
 //授權碼
 $Cxc[3] = $ONO;
 //訂單編號
 $Cxc[9] = $RRN;
 //RRN
 //超過 50 秒發Line
 $running = number_format(microtime(true) - $t3, 3);
 if ($running > 20) {
     if ($Cxc[3]) {
         //$SEND_DT = "單號: ".$aa." 透過玉山授權主機 ".$esunbankPostURL_auth." 回應時間花費 ".$running."秒, 請注意! by form_ssl_esunbank";
         $SEND_DT = "單號: " . $aa . " 玉山銀行回應時間花費 " . $running . "秒, recode: {$RC} 若連續發生可能為銀行端斷線, 請注意! by form_ssl_esunbank";
         exec_line(1, $SEND_DT, 'form_ssl_esunbank');
     } else {
         //$SEND_DT = "玉山授權主機 ".$esunbankPostURL_auth." 沒有回應 (單號:".$aa."), 很重要請檢查! by form_ssl_esunbank";
         $SEND_DT = "單號: " . $aa . " 玉山銀行沒有回應, 若連續發生可能為銀行端斷線, 請注意! by form_ssl_esunbank";
         exec_line(1, $SEND_DT, 'fform_ssl_esunbank');
     }
 }
 if ($IP) {
     //是分期
     $FSamount = $IFPA + 1 - 1;
     //頭期金額
     $EVamount = $IPA + 1 - 1;
     //每期金額
     $Cxc[9] = $FSamount;
     //頭期金額
     $Cxc[8] = $EVamount;
     //每期金額
 }
 if ($redeem == 'Y') {
     $EV_red_dan = $BRP;
                    }
                } else {
                    //若已先關帳, 在被拒絕時, 不更新, 但要通知
                    //if ( $arClose['stat']!='已關帳' || $arClose['bank_stat']!='已關帳' ) {
                    //$szSQL = "UPDATE o_close SET stat='被拒絕' WHERE stat IN ('關帳中', '取消中') AND sr='$szTradeNo' AND authsr='$szMerchantTradeNo' LIMIT 1 ";
                    //mysql_query($szSQL, $databaseLink);
                    //$szSQL = "UPDATE o_close SET bank_stat='被拒絕' WHERE bank_stat IN ('關帳中', '取消中') AND sr='$szTradeNo' AND authsr='$szMerchantTradeNo' LIMIT 1 ";
                    //mysql_query($szSQL, $databaseLink);
                    //$szSQL = "UPDATE o_close_bank SET stat='被拒絕' WHERE stat IN ('關帳中', '取消中') AND sr='$szTradeNo' AND authsr='$szMerchantTradeNo' LIMIT 1 ";
                    //mysql_query($szSQL, $databaseLink);
                    //} else {
                    //    $szSQL = "UPDATE o_close SET bank_stat='被拒絕' WHERE stat='已關帳' AND sr='$szTradeNo' AND authsr='$szMerchantTradeNo' LIMIT 1 ";
                    //mysql_query($szSQL, $databaseLink);
                    //已授權的交易才要發告警 $szTradeNo
                    if ($arAuth['remsg'] == '已授權') {
                        $SEND_DT = "單號: {$szMerchantTradeNo} (" . $arAuth['remsg'] . ") , 金額: {$arClose['amount']} , bank( {$arClose['bank']} ) 請款被拒, 請檢查! by g_ssl_dotNet_Feedback";
                        exec_line(4, $SEND_DT, 'g_ssl_dotNet_Feedback');
                    } else {
                        $SEND_DT = "單號: {$szMerchantTradeNo} (" . $arAuth['remsg'] . ") , 金額: {$arClose['amount']} , bank( {$arClose['bank']} ) 請款被拒, 請檢查! by g_ssl_dotNet_Feedback";
                        exec_line(4, $SEND_DT, 'g_ssl_dotNet_Feedback');
                    }
                    //}
                }
            }
        }
    }
} catch (Exception $ex) {
    $szReturnMessage = "0|{$ex->getMessage}()";
}
echo $szReturnMessage;
exit;
    $ap_client = $client;
    $apMID_client = " and client='{$ap_client}' ";
    include 'g_Close_payamt_xml_body.php';
}
$OUTdata .= "</Root>\n";
//$TEST_mode 為1時不傳送
if ($TEST_mode != 1) {
    $ccc = my_curl_id($payamtURE, $OUTdata);
    if ($ccc == 'ok') {
        $result = 1;
        $result_note = "送檔完成-" . $All_c . "店家" . $All_i . "筆金額" . $AllNEWamtTT . "元";
    } else {
        $result = 2;
        $result_note = "傳送至vendor.allpay主機失敗";
        $msg = "每日撥款檔傳送至vendor.allpay主機失敗, 未收到 ok 回應訊息, 請檢查! by g_Close_payamt_xml";
        exec_line(1, $msg, 'g_Close_payamt_xml');
    }
} else {
    $result = 0;
    $result_note = "XML測試-" . $All_c . "店家" . $All_i . "筆金額" . $AllNEWamtTT . "元";
}
@mysql_close($plink);
//寫入檔案
$OUTfile = $File_home_dir . "/payamt/PayAmt" . date("Ymd") . ".txt";
$fp = fopen($OUTfile, "w");
fputs($fp, $OUTdata);
fclose($fp);
//去除字串中的HTML和PHP標籤
$OUTdata = strip_tags($OUTdata);
$OUTdata = str_replace("\n", '<br>', $OUTdata);
$OUTdata = str_replace('<br><br><br>', '<p>', $OUTdata);
         $str = "update o_auth set remsg='已取消',recode='G19' where remsg='已授權' and sr='{$A}' limit 1 ";
     } else {
         $str = "update o_auth set remsg='已取消',recode='G19' where remsg='已授權' and sr='{$A}' " . $apMID_client . " limit 1 ";
     }
     mysql_query($str, $plink);
     //o_close有 要關帳 的資料也要改成取消
     if ($DOma == 'EN') {
         $str_close = "SELECT sr FROM o_close WHERE authsr='{$A}' and stat='要關帳' limit 1 ";
         $qx_close = mysql_query($str_close, $plink);
         $ax_close = @mysql_fetch_array($qx_close);
         if ($ax_close['sr']) {
             $update_close = "UPDATE o_close SET dt='" . date("YmdHis") . "', stat='取消', bank_stat='取消' WHERE authsr='{$A}' and stat='要關帳' ";
             $res = mysql_query($update_close, $plink);
             if (!$res) {
                 $linemsg = "幕後送放棄 {$A} 取消關帳資料失敗, " . mysql_error() . ", 請注意! by g_auth_close_body_cancel";
                 exec_line(4, $linemsg, 'g_auth_close_body_cancel.php');
             }
             $update_close = "UPDATE o_close_bank SET dt='" . date("YmdHis") . "', stat='取消', bank_stat='幕後取消', uip='{$uip}' WHERE authsr='{$A}' and stat='要關帳' ";
             mysql_query($update_close, $plink);
         }
     }
     if ($Doit_ch == '幕後放棄') {
         $response_str = 'ok';
     } else {
         $response_str = '放棄作業完成!';
     }
 } else {
     if ($Doit_ch == '幕後放棄') {
         $response_str = 'error';
     } else {
         $response_str = '放棄失敗!';
Beispiel #7
-1
        $rtus = @mysql_query($str_CLS, $plink);
        if ($rtus) {
            $nn++;
        } else {
            $nn_str_failed .= "Close更新費率失敗: " . $str_CLS . " <br>";
        }
        $str_CLS = "update o_close_bank set percen='{$a['auth_percen']}', bank_pc='{$a['auth_bank_pc']}' where sr='{$a['sr']}' limit 1 ";
        $rtus = @mysql_query($str_CLS, $plink);
        if (!$rtus) {
            $nn_str_failed .= "Close_bank更新費率失敗: " . $str_CLS . " <br>";
        }
    }
}
if ($nn < $num2 || $nn == 0) {
    $msg = $subject . ", o_close應更新 {$num2} 筆, 但有 " . ($num2 - $nn) . "筆更新失敗, 已將異常資料寄給 raleigh 請檢查! by percen_mak";
    exec_line(1, $msg, 'percen_mak');
}
if ($num1 == $ii && $num2 == $nn) {
    $result = 1;
    $result_note = "Auth=" . $ii . "筆Close=" . $nn . "筆";
} else {
    $result = 2;
    $result_note = "異常-Auth=" . $ii . "筆Close=" . $nn . "筆";
}
//送出信件
$title = $subject . "-" . $result_note;
if ($result == 2) {
    $msg = $title . "<br>Auth更新失敗" . ($num1 - $ii) . "筆-Close更新失敗" . ($num2 - $nn) . "筆<hr size=1>";
} else {
    $msg = $title . "<hr size=1>";
}
     if ($sFTPok) {
         $result = 1;
         $FTPechoTO = "送台鐵平帳檔案到SFTP完成";
         //刪檔, ctcb_in 中的檔案不保留
         exec("rm -rf " . $Train_File_Path);
     } else {
         $result = 2;
         $FTPechoTO = "送台鐵平帳檔案到SFTP失敗";
     }
 } else {
     $result = 2;
     $FTPechoTO = "SFTP連線失敗";
 }
 if ($result == 2) {
     $msg = $subject . ", " . $FTPechoTO . " 台鐵 " . date("Ymd") . " 平帳無法進行. 很重要請檢查! by g_Close_china_re";
     exec_line(1, $msg, 'g_Close_china_re');
 }
 $result_note = $FTPechoTO;
 $title = $subject . "-" . $result_note;
 $msg = $title . "<hr size=1>" . $ListAuthALL;
 if ($sql_error) {
     $title .= "-有執行失敗SQL";
     $msg .= "<br>執行失敗SQL: <br>" . $sql_error;
 }
 if ($TEST_mode == 1) {
     $title .= "-測試";
     $result_note = "測試-" . $result_note;
 }
 if ($TEST_mode == 2) {
     $title .= "-Mode2";
     $result_note = "Mode2-" . $result_note;
                    }
                    if ($line_loop1 == 2) {
                        $msg = $subject . ", 有很多家上傳檔案回應都有異常訊息, 我就不再發了, 自己看Email. 快來檢查吧! by g_Close_ncccOut";
                        exec_line(1, $msg, 'g_Close_ncccOut');
                    }
                    $line_loop1++;
                }
            } else {
                $str_msg = "產生上傳的關帳檔失敗";
                if ($line_loop2 < 2) {
                    $msg = $subject . ", " . $aMID[mid] . " " . $corpname . " 店家產生上傳的關帳檔失敗, 關帳檔未上傳. 請檢查! by g_Close_ncccOut";
                    exec_line(1, $msg, 'g_Close_ncccOut');
                }
                if ($line_loop2 == 2) {
                    $msg = $subject . ", 有很多家產生上傳的關帳檔失敗, 我就不再發了, 自己看Email. 快來檢查吧! by g_Close_ncccOut";
                    exec_line(1, $msg, 'g_Close_ncccOut');
                }
                $line_loop2++;
            }
        }
        $nums++;
        $FTP_m2list .= "<tr><td> " . $nums . " </td><td> " . $aMID[mid] . " </td><td> " . $corpname . " </td><td> " . $ss_all . " </td><td> " . $amount_all . " </td><td> " . $str_msg . " </td></tr>";
    }
}
@mysql_close($plink);
if (!$TEST_mode) {
    $OUTfile = $DirUrlTxt . '/send' . $hohsnYMD . '.log';
    $fp = fopen($OUTfile, "w");
    fputs($fp, $log_str);
    fclose($fp);
    //exec("chmod 666 $OUTfile");
Beispiel #10
-1
//共有多少筆資料
$inclosing = "關帳失敗 - stat關帳中的有" . $aBK . "筆<br>";
$strBK = "SELECT sr FROM " . $O_CLOSE . " WHERE bank_stat='關帳中' and (bank='9' or bank='10') and auth!='777777'";
$qBK = @mysql_query($strBK, $plink);
$Bank_aBK = @mysql_num_rows($qBK);
$inclosing .= "關帳失敗 - bank_stat關帳中的有" . $Bank_aBK . "筆<br>";
@mysql_close($plink);
//沒請款檔通知 (發 Line 警示)
if ($nums_fail && !$TEST_mode) {
    $msg = "新聯信關帳取回 {$dtmYesterday} 請款檔, 應取回 {$nums} 家廠商交易資料, 但有 {$nums_fail} 家取回失敗, 目前關帳中的有 {$aBK} 筆, 請注意! by g_Close_ncccIn";
    exec_line(1, $msg, 'g_Close_ncccIn');
}
//被踢退通知 (發 Line 警示)
if ($total_nums_fail && !$TEST_mode) {
    $msg = "新聯信關帳取回 {$dtmYesterday} 請款檔, 有 {$total_nums_fail} 筆資料被踢退, 請注意! by g_Close_ncccIn";
    exec_line(4, $msg, 'g_Close_ncccIn');
}
$result = 1;
//$result_note = "應取回".$nums."家成功取回".$nums_succ."家共".$total_nums."筆總金額".$total_amt;
$result_note = "應取回" . $nums . "家成功取回" . $nums_succ . "家共" . $total_nums . "筆";
//如果有失敗
if ($nums_fail) {
    $result_note .= "失敗" . $nums_fail . "家";
}
//如果有踢退
if ($total_nums_fail) {
    $result_note .= "踢退" . $total_nums_fail . "筆";
}
//如果有異常
$get_recv_fail_nums = $total_nums - $total_nums_succ - $total_nums_fail;
if ($get_recv_fail_nums) {
Beispiel #11
-1
        $bank_str = "花旗銀行";
    }
    if ($arOrigionAuth['bank'] == 41 || $arOrigionAuth['bank'] == 42) {
        $bank_str = "新光銀行";
    }
    if ($arOrigionAuth['bank'] == 43 || $arOrigionAuth['bank'] == 44) {
        $bank_str = "永豐銀行";
    }
    $res_str = $szResponseCode ? $szResponseCode : "為空";
    //$SEND_DT = "授權(".$MerchantTradeNo.")回覆時間與系統時間差距超過 60 秒, 請檢查 cc.allpay & credit.allpay 的系統時間! by form_ssl_result";
    $SEND_DT = $bank_str . ", 單號(" . $MerchantTradeNo . ")授權時間 " . abs(time() - $receiveTime) . " 秒, 回應碼" . $res_str . ", 若連續發生多筆就需要注意! by form_ssl_result";
    exec_line(1, $SEND_DT, 'form_ssl_result');
}
if (!$arOrigionAuth[sr]) {
    $SEND_DT = "授權單號: " . $szMerchantTradeNo . " 授權比對錯誤, 請檢查! by form_ssl_result";
    exec_line(4, $SEND_DT, 'form_ssl_result');
    $response_msg = '授權失敗';
    $str = "update o_auth set remsg='授權失敗',recode='xxa',rootmemo='{$szRootMemo}' where sr='{$szMerchantTradeNo}' and auth='' limit 1 ";
    mysql_query($str, $databaseLink);
    $ret = array("client" => ${$arOrigionAuth}[client], "SR" => $szMerchantTradeNo, "Amount" => $nTradeAmount, "Response" => $response_msg, "Allsn" => $arOrigionAuth[allsn], "UserIP" => $uip, "RunTime" => number_format(microtime(true) - $t1, 3));
    @write_log("form_ssl", "授權追縱 LOG (END) 授權比對錯誤 form_ssl_result.php", $ret);
    include 'form_ssl_noan_out.inc';
    $running = number_format(microtime(true) - $t1, 3);
    @exec_sr_tracer($szMerchantTradeNo, "step5", $running, "form_ssl_result.php", "final", "xxa", $response_msg);
    exit;
}
// 大特店金鑰序號
$szAllsn = $arOrigionAuth[allsn];
//該筆訂單使用者IP
$szWebIP = $arOrigionAuth[uip];
$arOrigionAuth[hoho] = str_replace('[BR]', '<BR>', $arOrigionAuth[hoho]);
Beispiel #12
-1
// bank in (29, 30) 國泰世華不檢查
$strR = "SELECT sr, authsr, client, amount, dtymd, bank, dt, stat, mid, bank_stat FROM o_close WHERE bank not in (29, 30) and (dt>='" . $dt_start . "' and dt<='" . $dt_end . "') and bank_stat!='已關帳' and bank_stat!='已取消' and bank_stat!='取消' order by authsr ASC ";
$ww = @mysql_query($strR, $plink);
$num1 = @mysql_num_rows($ww);
//未關帳成功筆數
if ($num1) {
    $i = 0;
    $ii_str = "<table border=0><tr align=center><td>序號</td><td>Client</td><td>o_close.sr</td><td>授權單號</td><td align=center>銀行</td><td>金額</td><td>關帳處理日期</td><td>授權</td><td>stat</td><td>bank_stat</td><td>MID</td></tr>";
    while ($ax = @mysql_fetch_array($ww)) {
        $strauth = "select remsg from o_auth where sr='" . $ax['authsr'] . "' limit 1";
        $rsauth = @mysql_query($strauth, $plink);
        $resauth = mysql_fetch_array($rsauth);
        $i++;
        $ii_str .= "<tr align=center><td>" . $i . "</td><td>" . $ax['client'] . "</td><td>" . $ax['sr'] . "</td><td>" . $ax['authsr'] . "</td><td>" . $ax['bank'] . "</td><td>" . $ax['amount'] . "</td><td>" . $ax['dt'] . "</td><td>" . $resauth['remsg'] . "</td><td>" . $ax['stat'] . "</td><td>" . $ax['bank_stat'] . "</td><td>" . $ax['mid'] . "</td></tr>";
    }
    $ii_str .= "</table>";
    $linemsg = "o_close.bank_stat有關帳失敗的交易 " . $num1 . " 筆, 請檢查! by holiday_pay_mak";
    exec_line(4, $linemsg, 'holiday_pay_mak');
    $Mailtitle = "警告-o_close.bank_stat有關帳失敗的交易" . $num1 . "筆";
    $MailStr = $subject . "-" . $Mailtitle . "<hr><p>" . $strR . "<p>" . $ii_str;
    $MailStr .= "<hr size=1>於 Settlement 每日 " . $settime . " 執行的 " . $filename . " 執行時間 " . number_format(microtime(true) - $t1, 3) . " 秒<br>" . date("Y/m/d H:i:s");
    exec_mail(2, $Mailtitle, $MailStr, 'holiday_pay_mak');
} else {
    $Mailtitle = "o_close.bank_stat昨日關帳正常";
    $MailStr = $subject . "-" . $Mailtitle . "<hr><p>" . $strR . "<p>";
    $MailStr .= "<hr size=1>於 Settlement 每日 " . $settime . " 執行的 " . $filename . " 執行時間 " . number_format(microtime(true) - $t1, 3) . " 秒<br>" . date("Y/m/d H:i:s");
    exec_mail(2, $Mailtitle, $MailStr, 'holiday_pay_mak');
}
echo $subject . "-第三階段驗證:未關帳成功警告-結束 \r\n";
@mysql_close($plink);
exit;
ftp_pasv($ftp_link, true);
if ($login) {
    //ftp_put($ftp_link, "上傳的檔案名稱", "本地的檔案路徑", FTP_BINARY);
    ftp_put($ftp_link, $FTP_fileName, $OUTfileName_zip, FTP_BINARY);
    $result = 1;
    $FTPechoTO = '中信FTP上傳國旅檔完成';
} else {
    $result = 2;
    $FTPechoTO = '中信FTP連線失敗(國旅)';
}
ftp_close($ftp_link);
if ($result == 1) {
    $result_note = "成功送出國旅" . $allamq . "筆新增" . $re_nums . "筆重送" . $re_nums . "筆台鐵" . $ss_all . "筆";
} else {
    $msg = $subject . ", " . $FTPechoTO . " 未上傳中信 " . date("Ymd") . " 國旅檔, 需在17:00前送, 請檢查! by g_Close_china_glu";
    exec_line(1, $msg, 'g_Close_china_glu');
    $result_note = "異常-未送出國旅" . $allamq . "筆新增" . $re_nums . "筆重送" . $re_nums . "筆台鐵" . $ss_all . "筆";
}
$FTPechoTO = '中信新國旅送檔明細' . "\r\n" . $allamq . "筆 \r\n";
$title = $subject . "-" . $result_note;
$msg = $title . " " . $FTPechoTO;
if ($sql_error) {
    $title .= "-有異常";
    $msg .= "<br>執行失敗SQL: <br>" . $sql_error;
}
if ($TEST_mode) {
    $title .= "-測試";
    $result_note = "測試-" . $result_note;
}
//記DBLOG
$arr = array('setdate' => $setdate, 'settime' => $settime, 'period' => $period, 'result' => $result, 'result_note' => $result_note, 'running' => number_format(microtime(true) - $t1, 3), 'start_time' => $start_time, 'end_time' => date("YmdHis"));
Beispiel #14
-1
if ($r_msg == '非台灣卡片') {
    $response_msg = $OutPPnoTW;
    $ret = array("client" => $client, "SR" => $aa, "Response" => $response_msg, "Allsn" => $allsn, "UserIP" => $uip, "RunTime" => number_format(microtime(true) - $t1, 3));
    @write_log("form_ssl", "授權追縱 LOG (END) " . $r_msg . " form_ssl.php", $ret);
    include 'form_ssl_noan_out.inc';
    $running = number_format(microtime(true) - $t2, 3);
    @exec_sr_tracer($aa, "step5", $running, "form_ssl.php", "final", "---", $r_msg);
    session_destroy();
    exit;
}
if ($r_msg == '連續可疑刷卡') {
    include 'g_stop_log_in.php';
    //寫入客服警示
    //發Line
    $SEND_DT = "{$client} {$form['corpname']} - 單號: {$aa} , 金額: {$amount} , 可能有盜刷試卡, 要注意! {$uip}, 後碼: {$lsno} by form_ssl";
    exec_line(3, $SEND_DT, 'form_ssl');
    if ($Enn == 'e') {
        $OutPPtext = 'informantion has been sent to police. tracing your IP:' . $uip;
    } else {
        $OutPPtext = '電信警察通連查測中!目標ip:' . $uip . '追查中!';
    }
    $response_msg = $OutPPtext;
    $ret = array("client" => $client, "SR" => $aa, "Response" => $response_msg, "Allsn" => $allsn, "UserIP" => $uip, "RunTime" => number_format(microtime(true) - $t1, 3));
    @write_log("form_ssl", "授權追縱 LOG (END) " . $r_msg . " form_ssl.php", $ret);
    $running = number_format(microtime(true) - $t2, 3);
    @exec_sr_tracer($aa, "step5", $running, "form_ssl.php", "final", "---", $r_msg);
    include 'form_ssl_noan_out.inc';
    session_destroy();
    exit;
}
//額度超過上限
Beispiel #15
-2
function mylink($plink, $dbname = DB_NAME)
{
    mysql_query("set names 'utf8'", $plink);
    //UTF-8一定要有這行
    $result = mysql_select_db($dbname);
    if (!$result) {
        $linemsg = "警告: Settlement USE DB (" . $dbname . ") 失敗, " . mysql_error() . " 請檢查這個時間點執行的排程是否正常! by Settlement";
        exec_line(1, $linemsg, 'Settlement');
        die('Can\'t use foo : ' . mysql_error());
    }
    return $result;
}
Beispiel #16
-2
    $result = mylink($plink);
    $BankTitel = array('9' => '新聯信', '10' => '新聯信(分期)', '18' => '台新', '19' => '台新(分期)', '26' => '美國運通', '27' => '玉山', '28' => '玉山(分期)', '33' => '中信新', '35' => '萬泰', '35' => '萬泰(分期)', '37' => '富邦', '38' => '富邦(分期)', '41' => '新光', '42' => '新光(分期)', '43' => '永豐', '44' => '永豐(分期)');
    //前1小時
    $MKtime = mktime(date("H") - 1, date("i"), date("s"), date("m"), date("d"), date("Y"));
    $OneHourAgo = date("YmdHis", $MKtime);
    //檢查各銀行別
    foreach ($BankTitel as $key => $value) {
        //echo "Key: $key; Value: $value <br>\n";
        $err_count = 0;
        //記錄連續錯誤筆數
        $flag = 0;
        //SELECT sr, recode, remsg FROM `o_auth` where bank = 18 and procdt >= '20140407140115' ORDER BY `o_auth`.`sr`  DESC limit 5
        $str = "SELECT sr, recode, remsg, dt FROM `o_auth` where bank = {$key} and procdt >= '{$OneHourAgo}' and recode != 'A01' and auth != '777777' ORDER BY `o_auth`.`sr`";
        $q = @mysql_query($str, $plink);
        while ($arr = @mysql_fetch_array($q)) {
            if ($arr[remsg] == '已授權') {
                //授權 err_count 就歸 0
                $err_count = 0;
            } else {
                $err_count++;
            }
        }
        //多於 5 筆錯誤
        if ($err_count > 5) {
            //發 Line 群通知
            $msg = "[" . $value . "]授權連續 " . $err_count . " 筆失敗 請檢查! by form_ssl_check";
            exec_line(1, $msg, 'form_ssl_check');
        }
        echo " {$value} 連續錯誤筆數 {$err_count} , 檢查完成!\r\n";
    }
}
Beispiel #17
-2
        $iswhy = $OutPPtextA015;
        $succ = 0;
        //找出回傳網址
        if ($form[urlfail]) {
            $ROTurlOK = $form[urlfail];
        }
    }
}
//有roturl回傳網址的
if ($Mpisr[roturl]) {
    $ROTurlOK = $Mpisr[roturl];
}
//發Line, 通知防火牆的問題造成錯誤
if ($ResponseCode == '921') {
    $SEND_DT = "聯信萬泰授通道, 防火牆的問題造成錯誤 ResponseCode=921 {$remsg_in} by form_ssl_Nccc";
    exec_line(4, $SEND_DT, 'form_ssl_Nccc');
}
if ($UpdateOKyet == 0) {
    //$rehohsn = date("YmdHis");
    $rehohsn = $TransDate . $TransTime;
    //交易日期時間, 因請款需要, 故需記銀行回覆的時間
    $red_de_amt = $amount - $CreditAmt;
    $str = "update o_auth set remsg='{$remsg_in}',recode='{$ResponseCode}',eci='{$ECI}',dt='{$rehohsn}',trace_no='{$trace_no}',auth='{$ApproveCode}',stast='{$FirstAmt}',staed='{$EachAmt}',rootmemo='{$RTlogo}',red_dan='{$RedeemUsed}',red_de_amt='{$red_de_amt}',red_ok_amt='{$CreditAmt}',red_yet='{$RedeemBalance}' where sr='{$OrderID}' and amount='{$amount}' and auth='' limit 1 ";
    $result = mysql_query($str, $plink);
    if (!$result) {
        $title = "Credit更新單號o_auth-SQL執行失敗";
        $msg = "SQL執行失敗! " . mysql_error() . "<hr size=1>" . $str . "<br>";
        $msg .= "<hr size=1>於 pay-web 執行的 from_ssl_Nccc.php 執行時間 " . number_format(microtime(true) - $t1, 3) . " 秒<br>" . date("Y/m/d H:i:s");
        @exec_mail(2, $title, $msg, $filename);
    }
    //馬上發動要關帳的要求
$SendNEC .= "##";
//2014.06.18 增加記錄
$ret = array("SR" => $sr, "Time" => date("Y-m-d H:i:s"), "Note" => "送出資料前", "Server" => $City_host_id, "SendNEC" => $SendNEC);
@write_log("g_Close_taishin_re", "台新18,19, 中信33,34, 花旗39,40 取消用API LOG (2)", $ret);
$response_str = "";
$fp = fsockopen("{$City_host_id}", "16688", $errno, $errstr, 50);
//正式上線的,網址IP,PORT,回應代碼,回應訊息,等待時間
if ($fp) {
    $txtnb = strlen($SendNEC);
    $goNEC = @fwrite($fp, $SendNEC, $txtnb);
    $bsb = @fread($fp, 1024);
    fclose($fp);
    $bsb = str_replace(' ', "", $bsb);
    //過濾空格
    $VCBSB = substr($bsb, 0, 8);
    //比對是不是 B002**00
    if ($VCBSB == 'B002**00') {
        $response_str = 'OK_' . $bsb;
    } else {
        $response_str = 'xx_' . $bsb;
    }
} else {
    $response_str = 'x_2tiger';
    $msg = "授權單號 {$sr} 退刷時無法連至 {$City_host_id} , 請檢查!";
    @exec_line(1, $msg, "g_Close_taishin_re");
}
echo $response_str;
//2014.06.18 增加記錄
$ret = array("SR" => $sr, "Time" => date("Y-m-d H:i:s"), "Note" => "結束", "Echo" => $response_str, "bsb" => $bsb);
@write_log("g_Close_taishin_re", "台新18,19, 中信33,34, 花旗39,40 取消用API LOG (End)", $ret);
exit;
                     }
                     if ($line_loop1 == 2) {
                         $msg = $subject . ", 有很多家上傳檔案回應都有異常訊息, 我就不再發了, 自己看Email. 快來檢查吧! by g_Close_wantaiOut";
                         exec_line(1, $msg, 'g_Close_wantaiOut');
                     }
                     $line_loop1++;
                 }
             } else {
                 $str_msg = "產生上傳的關帳檔失敗";
                 if ($line_loop2 < 2) {
                     $msg = $subject . ", " . $aMID[mid] . " " . $corpname . " 產生上傳的關帳檔失敗, 關帳檔未上傳. 請檢查! by g_Close_wantaiOut";
                     exec_line(1, $msg, 'g_Close_wantaiOut');
                 }
                 if ($line_loop2 == 2) {
                     $msg = $subject . ", 有很多家產生上傳的關帳檔失敗, 我就不再發了, 自己看Email. 快來檢查吧! by g_Close_wantaiOut";
                     exec_line(1, $msg, 'g_Close_wantaiOut');
                 }
                 $line_loop2++;
             }
         }
         $nums++;
         $FTP_m2list .= "<tr><td> " . $nums . " </td><td> " . $aMID[mid] . " </td><td> " . $corpname . " </td><td> " . $ss_all . " </td><td> " . $amount_all . " </td><td> " . $str_msg . " </td></tr>";
     }
 }
 @mysql_close($plink);
 //寫入完整LOG
 if ($TEST_mode != 1) {
     $OUTfile = $DirUrlTxt . '/send' . $hohsnYMD . '.log';
     $fp = fopen($OUTfile, "w");
     fputs($fp, $log_str);
     fclose($fp);
Beispiel #20
-2
$CloseLineStr = '';
$tsYesterday = mktime(date("H"), date("i"), date("s"), date("m"), date("d") - 1, date("Y"));
$dtmYesterday = date("Ymd", $tsYesterday);
// 昨天的日期
$dtmStartDateTime = $dtmYesterday . '200001';
$szSQL = "SELECT sr,client,bank,authsr FROM o_close WHERE dt < '{$dtmStartDateTime}' AND remsg='要關帳' ";
$rsCloses = @mysql_query($szSQL, $plink);
while ($arClose = @mysql_fetch_array($rsCloses)) {
    $CloseFlag = 1;
    $CloseLineStr .= $arClose['authsr'] . ",";
    $CloseMailStr .= "授權單號: " . $arClose['authsr'] . " (Bank: " . $arClose['bank'] . ", Client: " . $arClose['client'] . ", o_close.sr: " . $arClose['sr'] . ") 狀態為 要關帳 未處理<br>";
}
if ($CloseFlag) {
    //發 Line 群通知
    $linemsg = "警告: 有逾期未處理的要關帳資料 " . $CloseLineStr . " 請檢查! by 000_auto";
    exec_line(4, $linemsg, '000_auto');
    //ALLPAY ALERT
    $CloseMailtitle = "警告-有逾期未處理的要關帳資料";
    $CloseMailStr .= "<hr size=1>於 Settlement 每日 " . $settime . " 執行的 000_auto.php 執行時間 " . number_format(microtime(true) - $t1, 3) . " 秒<br>" . date("Y/m/d H:i:s");
    exec_mail(2, $CloseMailtitle, $CloseMailStr, '000_auto');
}
@mysql_close($plink);
//更新已到期之商家旗標
$DBHOST = DB_HOST;
//主DB
$plink = checkdblink($DBHOST);
$result = mylink($plink);
$flag = 0;
$tsYesterday = mktime(date("H"), date("i"), date("s"), date("m"), date("d") - 1, date("Y"));
$dtmYesterday = date("Y-m-d", $tsYesterday);
// 昨天的日期
Beispiel #21
-2
$start_time = date("YmdHis");
$filename = "i.php";
set_time_limit(60);
include 'g_common.inc';
header("Cache-Control: no-cache, must-revalidate");
header("Content-Type: text/html; charset=UTF-8");
@write_log("i", "HTTP_REFERER: " . $_SERVER['HTTP_REFERER'] . " (" . $uip . ")", $_REQUEST);
$URI = $_SERVER['REQUEST_URI'];
$URI = explode("/", $URI);
//echo urlencode("發Line測試");
//https://credit.allpay.com.tw/i.php/line/ecbank/%E7%99%BCLine%E6%B8%AC%E8%A9%A6
if ($URI[2] == "line" && ($URI[3] == "ecbank" || $URI[3] == "anow")) {
    $plink = mylink();
    $filename = $URI[3];
    $linemsg = urldecode($URI[4]);
    exec_line(4, $linemsg, $filename);
    echo "1|OK";
    exit;
}
if (!in_array($uip, $SYSTEM_IP)) {
    echo "非授權IP: {$uip}, STOP!";
    exit;
}
//同步廠商開立紙本or電子發票資料 o_user.wcom  0:電  1:紙 q:查詢
//https://credit.allpay.com.tw/i.php/invoice/0/1020203
if ($URI[2] == "invoice" && $URI[3] != "" && $URI[4] != "") {
    if (($URI[3] == 0 || $URI[3] == 1 || $URI[3] == 'q') && is_numeric($URI[4]) && (strlen($URI[4]) == 6 || strlen($URI[4]) == 7)) {
        if ($URI[3] == 'q') {
            $plink = B_mylink();
            $str = "select wcom from o_user where allpayMID=" . mysql_real_escape_string($URI[4]) . " limit 1 ";
            $qq = mysql_query($str, $plink);
Beispiel #22
-2
mylink($plink);
$result = mysql_query("SELECT sr FROM o_auth WHERE remsg = '已授權' and procdt >= '{$Yesterday}'", $plink);
$auth42_num = mysql_num_rows($result);
mysql_close($plink);
if ($auth41_num == 0 && date("H") >= 9) {
    $result = 2;
    $msg = "無任何成功交易";
    $linemsg = "Credit系統 5 分鐘內無任何成功交易, 請注意! by db_check";
    exec_line(1, $linemsg, 'db_check');
} else {
    $diff_num = $auth41_num - $auth42_num;
    if (abs($diff_num) >= 6) {
        $result = 2;
        $msg = "資料差距 {$diff_num} 筆 DB41: {$auth41_num} DB42: {$auth42_num}";
        $linemsg = "Credit系統同步 5 分鐘內成功授權資料差距 {$diff_num} 筆, 請檢查! by db_check";
        exec_line(1, $linemsg, 'db_check');
        echo "兩邊資料\r\n 4.1: {$auth41_num} \r\n 4.2: {$auth42_num} \r\n差距 {$diff_num} 筆!\r\n";
    } else {
        $result = 1;
        $msg = "資料差距 {$diff_num} 筆";
        echo "兩邊資料\r\n 4.1: {$auth41_num} \r\n 4.2: {$auth42_num} \r\n檢查完成!\r\n";
    }
}
//若執行時間大於 6 秒 則發 Line群 通知
$t2 = microtime(true);
$running_time = number_format($t2 - $t1, 3);
if ($running_time >= 6) {
    $title = "Credit系統 DB 查詢回應時間過久, 執行時間 " . $running_time . " 秒警告通知, 請注意! by db_check";
    //exec_line(1, $title, 'db_check');
    $end_time = date("YmdHis");
    $msg = "Settlement 10.0.4.7 執行程式 db_check.php <br>";