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