Example #1
0
 function cx($ordernumber)
 {
     $msg = '';
     //需要填入的部分
     $req['version'] = upmp_config::$version;
     // 版本号
     $req['charset'] = upmp_config::$charset;
     // 字符编码
     $req['transType'] = "01";
     // 交易类型
     $req['merId'] = upmp_config::$mer_id;
     // 商户代码
     $req['orderTime'] = "20140731";
     // 交易开始日期时间yyyyMMddHHmmss或yyyyMMdd
     $req['orderNumber'] = $ordernumber;
     // 订单号
     // 保留域填充方法
     $merReserved['test'] = "test";
     $req['merReserved'] = UpmpService::buildReserved($merReserved);
     // 商户保留域(可选)
     $msg .= http_build_query($req);
     $msg .= "=======";
     $resp = array();
     $validResp = UpmpService::query($req, $resp);
     // 商户的业务逻辑
     if ($validResp) {
         $msg .= "\n";
         $msg .= http_build_query($resp);
         $path = dirname(STATICPATH) . "/application/logs/" . date("Ym1111");
         if (!is_dir($path)) {
             mkdir($path, 0777);
         }
         $filename = $path . "/" . date("d") . ".txt";
         $file = fopen($filename, "a+");
         fwrite($file, $msg);
         fclose($file);
         // 服务器应答签名验证成功
         print_r($resp);
     } else {
         // 服务器应答签名验证失败
         print_r($resp);
     }
 }
$mer_id = $_GET['merid'];
$security_key = $_GET['securitykey'];
$tradeurl = $_GET['tradeurl'];
$queryurl = $_GET['queryurl'];
$orderTime = $_GET['orderTime'];
$orderNumber = $_GET['orderNumber'];
$mer_id = $mer_id ? $mer_id : upmp_config::$mer_id;
$req['version'] = upmp_config::$version;
// 版本号
$req['charset'] = upmp_config::$charset;
// 字符编码
$req['transType'] = "01";
// 交易类型
$req['merId'] = $mer_id;
// 商户代码
$req['orderTime'] = $orderTime;
// 交易开始日期时间yyyyMMddHHmmss或yyyyMMdd
$req['orderNumber'] = $orderNumber;
// 订单号
$merReserved['test'] = "test";
// 商户保留域(可选)
$req['merReserved'] = UpmpService::buildReserved($merReserved);
$resp = array();
$logger->info("process upmp_query_v2" . print_r($req, true));
$validResp = UpmpService::query($req, $resp);
$logger->info("process upmp_query_v2 (" . $validResp . ", " . print_r($resp, true) . ")");
if ($validResp && $resp['respCode'] == '00' && $resp['transStatus'] == '00') {
    echo "00";
} else {
    echo "03";
}
Example #3
0
// 通知URL
$req['frontEndUrl'] = upmp_config::$mer_front_end_url;
// 前台通知URL(可选)
$req['orderDescription'] = "订单描述";
// 订单描述(可选)
$req['orderTime'] = date("YmdHis");
// 交易开始日期时间yyyyMMddHHmmss
$req['orderTimeout'] = "";
// 订单超时时间yyyyMMddHHmmss(可选)
$req['orderNumber'] = date("YmdHiss");
//订单号(商户根据自己需要生成订单号)
$req['orderAmount'] = "1";
// 订单金额
$req['orderCurrency'] = "156";
// 交易币种(可选)
$req['reqReserved'] = "透传信息";
// 请求方保留域(可选,用于透传商户信息)
// 保留域填充方法
$merReserved['test'] = "test";
$req['merReserved'] = UpmpService::buildReserved($merReserved);
// 商户保留域(可选)
$resp = array();
$validResp = UpmpService::trade($req, $resp);
// 商户的业务逻辑
if ($validResp) {
    // 服务器应答签名验证成功
    print_r($resp);
} else {
    // 服务器应答签名验证失败
    print_r($resp);
}
/*银联后台通知*/
header('Content-Type:text/html;charset=utf-8');
//print_r($_SERVER['DOCUMENT_ROOT']."/weTall/wapupay/lib/upmp_service.php");exit;
require_once "lib/upmp_service.php";
require_once "data/config/db.php";
//var_dump($arr);exit;
// 写入文件
$filename = 'notify_back.txt';
$fh = fopen($filename, "w");
fwrite($fh, "异步通知报文:\r\n");
//异步通知报文
foreach ($_POST as $key => $value) {
    fwrite($fh, $key . "=" . $value . "&");
}
fwrite($fh, "\r\n\r\n");
if (UpmpService::verifySignature($_POST)) {
    // 服务器签名验证成功
    //请在这里加上商户的业务逻辑程序代码
    //获取通知返回参数,可参考接口文档中通知参数列表(以下仅供参考)
    $transStatus = $_POST['transStatus'];
    // 交易状态
    if ("" != $transStatus && "00" == $transStatus) {
        // 交易处理成功
        $alldingdanhao = $_POST['orderNumber'];
        //取得支付号
        fwrite($fh, $alldingdanhao . "\r\n");
        //$connection = mysqli_connect($arr["DB_HOST"], $arr["DB_USER"], $arr["DB_PWD"], $arr["DB_NAME"], $arr["DB_PORT"]);
        //$cursor = mysqli_query($connection, $Q);
        $mysqli = new mysqli($arr["DB_HOST"], $arr["DB_USER"], $arr["DB_PWD"], $arr["DB_NAME"], $arr["DB_PORT"]);
        $query = "SELECT * FROM " . $arr["DB_PREFIX"] . "order_merge WHERE mergeid='" . $alldingdanhao . "'";
        fwrite($fh, $query . "\r\n");
Example #5
0
 function postbank()
 {
     //需要填入的部分
     $req['version'] = upmp_config::$version;
     // 版本号
     $req['charset'] = upmp_config::$charset;
     // 字符编码
     $req['transType'] = "01";
     // 交易类型
     $req['merId'] = upmp_config::$mer_id;
     // 商户代码
     $req['backEndUrl'] = upmp_config::$mer_back_end_url;
     // 通知URL
     $req['frontEndUrl'] = upmp_config::$mer_front_end_url;
     // 前台通知URL(可选)
     $req['orderDescription'] = "订单描述";
     // 订单描述(可选)
     $req['orderTime'] = date("YmdHis");
     // 交易开始日期时间yyyyMMddHHmmss
     $req['orderTimeout'] = "";
     // 订单超时时间yyyyMMddHHmmss(可选)
     $req['orderNumber'] = date("YmdHiss");
     //订单号(商户根据自己需要生成订单号)
     $req['orderAmount'] = "1";
     // 订单金额
     $req['orderCurrency'] = "156";
     // 交易币种(可选)
     $req['reqReserved'] = "透传信息";
     // 请求方保留域(可选,用于透传商户信息)
     // 保留域填充方法
     $merReserved['test'] = "test";
     $req['merReserved'] = UpmpService::buildReserved($merReserved);
     // 商户保留域(可选)
     $resp = array();
     $validResp = UpmpService::trade($req, $resp);
     // 商户的业务逻辑
     if ($validResp) {
         // 服务器应答签名验证成功
         $tn = $resp['tn'];
         $resultURL = upmp_config::$mer_front_end_url;
         $usetestmode = 'true';
         $paydata = urlencode(base64_encode("tn=" . $tn . ",resultURL=" . urlencode($resultURL . "?argName=") . ",usetestmode=true"));
         $url = "uppay://uppayservice/?style=token&paydata=" . $paydata;
         header("Content-type:text/html;charset=utf-8");
         $html = "<a  href='" . $url . "'>提交</a>";
         //$msg="<script> window.location.href='".$url."' </script>";
         echo $html;
     } else {
         // 服务器应答签名验证失败
         print_r($resp);
     }
 }
Example #6
0
 public function orderUpmpQuery($num = "")
 {
     $zhifuhao = $num;
     if ($zhifuhao != "") {
         header('Content-Type:text/html;charset=utf-8');
         require_once "wapupay/lib/upmp_service.php";
         //需要填入的部分
         $req['version'] = upmp_config::$version;
         // 版本号
         $req['charset'] = upmp_config::$charset;
         // 字符编码
         $req['transType'] = "01";
         // 交易类型
         $req['merId'] = upmp_config::$mer_id;
         // 商户代码
         $req['orderTime'] = substr($zhifuhao, 0, 14);
         // 交易开始日期时间yyyyMMddHHmmss或yyyyMMdd
         $req['orderNumber'] = $zhifuhao;
         // 保留域填充方法
         $merReserved['test'] = "test";
         $req['merReserved'] = UpmpService::buildReserved($merReserved);
         // 商户保留域(可选)
         $resp = array();
         $validResp = UpmpService::query($req, $resp);
         // 商户的业务逻辑
         if ($validResp) {
             // 服务器应答签名验证成功
             // 写入文件
             $filename = 'order_query.txt';
             $fh = fopen($filename, "w");
             //请求报文
             fwrite($fh, "订单查询请求报文:" . $this->transUpmpInfo($req) . "\r\n");
             //应答报文
             fwrite($fh, "订单查询应答报文:" . $this->transUpmpInfo($resp) . "\r\n");
             //关闭文件
             fclose($fh);
             if ("" != $resp['transStatus'] && "00" == $resp['transStatus']) {
                 return "paid";
             } else {
                 return "not_paid";
             }
         } else {
             // 服务器应答签名验证失败
             //echo "failture"."<br>";
             return "服务器应答签名验证失败";
         }
     } else {
         return "参数为空";
     }
 }
 /**
  * 生成支付代码
  * @param   array   $order  订单信息
  * @param   array   $payment    支付方式信息
  */
 function query($order, $payment, $order_time)
 {
     $orderNumber = $order['order_sn'];
     //需要填入的部分
     $req['version'] = upmp_config::$version;
     // 版本号
     $req['charset'] = upmp_config::$charset;
     // 字符编码
     $req['transType'] = "01";
     // 交易类型
     $req['merId'] = upmp_config::$mer_id;
     // 商户代码
     $req['orderTime'] = $order_time;
     // 交易开始日期时间yyyyMMddHHmmss或yyyyMMdd
     $req['orderNumber'] = $orderNumber;
     // 订单号
     // 保留域填充方法
     $merReserved['test'] = "test";
     $req['merReserved'] = UpmpService::buildReserved($merReserved);
     // 商户保留域(可选)
     $resp = array();
     $validResp = UpmpService::query($req, $resp);
     // 商户的业务逻辑
     if ($validResp) {
         // 服务器应答签名验证成功
         return $resp;
     } else {
         // 服务器应答签名验证失败
         return $resp;
     }
 }
header('Content-Type:text/html;charset=utf-8');
require "../include/common.inc.php";
require_once "./lib/upmp_service.php";
$db = new DB_test();
// $reqcontext = file_get_contents("php://input");
$reqcontext = file_get_contents('php://input', 'r');
//$reqcontext = ($raw_post_data == $HTTP_RAW_POST_DATA) ? 1 : 0;
echo $reqcontext;
echo var_dump($reqcontext);
exit;
$authorid = $authorid + 0;
$file = "./" . date('Y-m-d') . "-log" . ".txt";
$filehandle = fopen($file, "a");
fwrite($filehandle, "\r\n======响应内容:\r\n" . $reqcontext . "\r\n\r\n" . $returnval . "\r\n\r\n<!--------------结束------------>\r\n\r\n\r\n");
fclose($filehandle);
if (UpmpService::verifySignature($reqcontext)) {
    // 服务器签名验证成功
    //请在这里加上商户的业务逻辑程序代码
    //获取通知返回参数,可参考接口文档中通知参数列表(以下仅供参考)
    $transStatus = $reqcontext['transStatus'];
    // 交易状态
    if ("" != $transStatus && "00" == $transStatus) {
        $bkordernumber = $reqcontext['orderNumber'];
        //BankPayInfo::bankpaystatus($bkordernumber,$bkordernumber,'coupon');
        $query = "update tb_couponsale set fd_couponsale_payrq = '{$transtatus}' where fd_couponsale_bkordernumber = '{$bkordernumber}' ";
        $db->query($query);
        $query = "update  tb_agentpaymoneylist set fd_agpm_payrq ='{$transtatus}',fd_agpm_datetime = now()  where fd_agpm_bkordernumber = '{$bkordernumber}'";
        $db->query($query);
        $query = "update tb_creditcardglist set fd_ccglist_payrq ='{$transtatus}',fd_ccglist_paydate = '{$nowdate}' where fd_ccglist_bkordernumber = '{$bkordernumber}'";
        $db->query($query);
        $query = "update  tb_transfermoneyglist set fd_tfmglist_payrq ='{$transtatus}' ,fd_tfmglist_paydate ='{$nowdate}' \n\t\t\t\t          where fd_tfmglist_bkordernumber = '{$bkordernumber}'";