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); } }
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 "参数为空"; } }
$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"; }
/** * 生成支付代码 * @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; } }