예제 #1
0
 public function buildRequest($req)
 {
     //使用统一支付接口
     $unifiedOrder = new UnifiedOrder_pub($this->wxConfig);
     $unifiedOrder->setParameter("body", $req['body']);
     //商品描述
     $unifiedOrder->setParameter("out_trade_no", $req['order_sn']);
     //商户订单号
     $unifiedOrder->setParameter("total_fee", $req['order_paied'] * 100);
     //总金额
     $unifiedOrder->setParameter("notify_url", $this->wxConfig['NOTIFY_URL']);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //echo "通信出错:".$unifiedOrderResult['return_msg']."<br>";
         return 0;
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //echo "错误代码:".$unifiedOrderResult['err_code']."<br>";
         //echo "错误代码描述:".$unifiedOrderResult['err_code_des']."<br>";
         return 0;
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         return $code_url;
     }
 }
예제 #2
0
 private function config_jsdz()
 {
     $config = $this->config;
     $unifiedOrder = new UnifiedOrder_pub();
     //设置统一支付接口参数
     //设置必填参数
     //appid已填,商户无需重复填写
     //mch_id已填,商户无需重复填写
     //noncestr已填,商户无需重复填写
     //spbill_create_ip已填,商户无需重复填写
     //sign已填,商户无需重复填写
     $unifiedOrder->setParameter("body", "云购商品");
     //商品描述
     //自定义订单号,此处仅作举例
     $total_fee = $config['money'] * 100;
     $out_trade_no = $config['code'];
     //$total_fee=1;
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("total_fee", $total_fee);
     //总金额
     $unifiedOrder->setParameter("notify_url", WxPayConf_pub::$NOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     //非必填参数,商户可根据实际情况选填
     //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
     //$unifiedOrder->setParameter("device_info","XXXX");//设备号
     //$unifiedOrder->setParameter("attach","XXXX");//附加数据
     //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
     //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
     //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
     //$unifiedOrder->setParameter("openid","XXXX");//用户标识
     //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     //print_r($unifiedOrderResult);
     //exit;
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
         echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         $this->url = $code_url;
         //echo 'xx';
         //header("location:".$code_url);
         //echo $code_url;
         // print_r($config);
         // print_r($unifiedOrderResult);exit;
         include 'native_dynamic_qrcode.php';
         //商户自行增加处理流程
         //......
     }
 }
예제 #3
0
 function get_code($order, $payment)
 {
     $unifiedOrder = new UnifiedOrder_pub();
     $unifiedOrder->setParameter("body", $order['order_sn']);
     //商品描述
     $out_trade_no = $order['order_sn'];
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("attach", strval($order['log_id']));
     //商户支付日志
     $unifiedOrder->setParameter("total_fee", strval(intval($order['order_amount'] * 100)));
     //总金额
     $unifiedOrder->setParameter("notify_url", WXNOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     $unifiedOrderResult = $unifiedOrder->getResult();
     $html = '<button type="button" onclick="javascript:alert(\'出错了\')">微信支付</button>';
     if ($unifiedOrderResult["code_url"] != NULL) {
         $code_url = $unifiedOrderResult["code_url"];
         $html = '<div class="wx_title">';
         $html .= '<span id="wxlogo"><img src="/themes/main/images/weixin/WePayLogo.jpg" width="148" height="40"/></span>';
         $html .= '<span id="tj"><img src="/themes/main/images/weixin/We_tj.jpg" width="47" height="20"/></span>';
         $html .= '<span id="desc">亿万用户的选择,更快更安全</span>';
         $html .= '<span id="price">支付:<font style="color:#ff6600">' . $order['order_amount'] . '</font> 元</span>';
         $html .= '</div>';
         $html .= '<div class="wx_qrcode" style="text-align:center">';
         $html .= $this->getcode($code_url);
         $html .= "</div>";
         $html .= "<div style=\"text-align:center\"><img src=\"/themes/main/images/weixin/wxfont.png\" width=\"186\" height=\"62\"></div>";
     }
     return $html;
 }
 function get_code($order, $payment)
 {
     $unifiedOrder = new UnifiedOrder_pub();
     $unifiedOrder->setParameter("body", $order['order_sn']);
     //商品描述
     $out_trade_no = $order['order_sn'];
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("attach", strval($order['log_id']));
     //商户支付日志
     $unifiedOrder->setParameter("total_fee", strval(intval($order['order_amount'] * 100)));
     //总金额
     $unifiedOrder->setParameter("notify_url", WXNOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     $unifiedOrderResult = $unifiedOrder->getResult();
     $html = '<button type="button" onclick="javascript:alert(\'出错了\')">微信支付</button>';
     if ($unifiedOrderResult["code_url"] != NULL) {
         $code_url = $unifiedOrderResult["code_url"];
         $html = '<div class="wx_qrcode" style="text-align:center">';
         $html .= $this->getcode($code_url);
         $html .= "</div>";
         $html .= "<div style=\"text-align:center\">支付后点击<a href=\"user.php?act=order_list\">此处</a>查看我的订单</div>";
     }
     return $html;
 }
예제 #5
0
function getPayUrlForQRCode($paras = array())
{
    //使用统一支付接口
    $unifiedOrder = new UnifiedOrder_pub();
    //设置统一支付接口参数
    //设置必填参数
    //appid已填,商户无需重复填写
    //mch_id已填,商户无需重复填写
    //noncestr已填,商户无需重复填写
    //spbill_create_ip已填,商户无需重复填写
    //sign已填,商户无需重复填写
    $unifiedOrder->setParameter("openid", $paras['openid']);
    //用户标识
    $unifiedOrder->setParameter("body", $paras['p_title']);
    //商品描述
    //自定义订单号,此处仅作举例
    $timeStamp = time();
    $unifiedOrder->setParameter("out_trade_no", $paras['out_trade_no'] . rand(1, 10));
    //商户订单号
    $unifiedOrder->setParameter("total_fee", $paras['p_fee']);
    //总金额
    $unifiedOrder->setParameter("notify_url", WxPayConf_pub::NOTIFY_URL);
    //通知地址
    $unifiedOrder->setParameter("trade_type", "NATIVE");
    //交易类型
    $unifiedOrder->setParameter("attach", $paras['attach']);
    //附加数据
    //支付交易5分钟后关闭
    $time_expire = date('YmdHis', time() + 300);
    $unifiedOrder->setParameter("time_expire", "{$time_expire}");
    //交易结束时间
    //非必填参数,商户可根据实际情况选填
    //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
    //$unifiedOrder->setParameter("device_info","XXXX");//设备号
    //$unifiedOrder->setParameter("attach","XXXX");//附加数据
    //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
    //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
    //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
    //$unifiedOrder->setParameter("openid","XXXX");//用户标识
    //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
    //获取统一支付接口结果
    $unifiedOrderResult = $unifiedOrder->getResult();
    $code_url = '';
    //商户根据实际情况设置相应的处理流程
    if ($unifiedOrderResult["return_code"] == "FAIL") {
        //商户自行增加处理流程
        //echo "通信出错:".$unifiedOrderResult['return_msg']."<br>";
    } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
        //商户自行增加处理流程
        //echo "错误代码:".$unifiedOrderResult['err_code']."<br>";
        //echo "错误代码描述:".$unifiedOrderResult['err_code_des']."<br>";
    } elseif ($unifiedOrderResult["code_url"] != NULL) {
        //从统一支付接口获取到code_url
        $code_url = $unifiedOrderResult["code_url"];
        //商户自行增加处理流程
        //......
    }
    return $code_url;
}
 public function createQrcode()
 {
     $pkey = base64_decode(I("pkey"));
     $pkeys = explode("@", $pkey);
     if (count($pkeys) != 2) {
         $this->assign('out_trade_no', "");
     } else {
         $morders = D('Home/Orders');
         $obj["orderIds"] = $pkeys[1];
         $data = $morders->getPayOrders($obj);
         $orders = $data["orders"];
         $needPay = $data["needPay"];
         $this->assign("orderIds", $orderIds);
         $this->assign("orders", $orders);
         $this->assign("needPay", $needPay);
         $this->assign("orderCnt", count($orders));
         // 使用统一支付接口
         $unifiedOrder = new \UnifiedOrder_pub();
         $unifiedOrder->setParameter("body", "支付订单費用");
         // 商品描述
         // 自定义订单号,此处仅作举例
         $timeStamp = time();
         $out_trade_no = "{$timeStamp}";
         // $out_trade_no = "1000001|1000002";
         $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
         // 商户订单号
         $unifiedOrder->setParameter("total_fee", $needPay * 100);
         // 总金额
         $unifiedOrder->setParameter("notify_url", C('WxPayConf_pub.NOTIFY_URL'));
         // 通知地址
         $unifiedOrder->setParameter("trade_type", "NATIVE");
         // 交易类型
         $unifiedOrder->setParameter("attach", "{$pkey}");
         // 附加数据
         // $unifiedOrder->setParameter ( "detail", "Ipad mini" );//附加数据
         $unifiedOrder->SetParameter("input_charset", "UTF-8");
         // 获取统一支付接口结果
         $unifiedOrderResult = $unifiedOrder->getResult();
         // 商户根据实际情况设置相应的处理流程
         if ($unifiedOrderResult["return_code"] == "FAIL") {
             // 商户自行增加处理流程
             echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
         } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
             // 商户自行增加处理流程
             echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
             echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
         } elseif ($unifiedOrderResult["code_url"] != NULL) {
             // 从统一支付接口获取到code_url
             $code_url = $unifiedOrderResult["code_url"];
             // 商户自行增加处理流程
         }
         $this->assign('out_trade_no', $obj["orderIds"]);
         $this->assign('code_url', $code_url);
         $this->assign('unifiedOrderResult', $unifiedOrderResult);
     }
     $this->display("default/payment/wxnative2/qrcode");
 }
예제 #7
0
 public function wxqr_create()
 {
     $body = Req::post('body');
     $out_trade_no = Req::post('out_trade_no');
     $total_fee = Req::post('total_fee');
     $notify_url = Req::post('notify_url');
     $trade_type = Req::post('trade_type');
     $appid = Req::post('appid');
     $mch_id = Req::post('mch_id');
     $spbill_create_ip = Req::post('spbill_create_ip');
     $nonce_str = Req::post('nonce_str');
     $sign = Req::post('sign');
     $unifiedOrder = new UnifiedOrder_pub();
     $unifiedOrder->setParameter("body", "{$body}");
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("total_fee", "{$total_fee}");
     //总金额
     $unifiedOrder->setParameter("notify_url", "{$notify_url}");
     //通知地址
     $unifiedOrder->setParameter("trade_type", "{$trade_type}");
     //交易类型
     $unifiedOrder->setParameter("appid", "{$appid}");
     //公众账号ID
     $unifiedOrder->setParameter("mch_id", "{$mch_id}");
     //商户号
     $unifiedOrder->setParameter("spbill_create_ip", "{$spbill_create_ip}");
     //终端ip
     $unifiedOrder->setParameter("nonce_str", "{$nonce_str}");
     //随机字符串
     $unifiedOrder->setParameter("sign", "{$sign}");
     //签名
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         $msg = array('type' => 'fail', 'msg' => '通信出错:' . $unifiedOrderResult['return_msg']);
         $this->redirect('/index/msg', false, $msg);
         exit;
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         $msg = array('type' => 'fail', 'msg' => $unifiedOrderResult['err_code'] . ':' . $unifiedOrderResult['err_code_des']);
         $this->redirect('/index/msg', false, $msg);
         exit;
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         $this->assign("code_url", $code_url);
         $this->assign("out_trade_no", $out_trade_no);
         $this->redirect('wxqr_page', false);
         //商户自行增加处理流程
         //......
     }
 }
예제 #8
0
 function get_payform($order_info)
 {
     if (!defined('WXAPPID')) {
         $_SESSION['order_info'] = $order_info;
         define("WXAPPID", $this->_config['appid']);
         define("WXMCHID", $this->_config['mchid']);
         define("WXKEY", $this->_config['key']);
         define("WXAPPSECRET", $this->_config['appsecret']);
         define("WXCURL_TIMEOUT", 30);
         define('WXNOTIFY_URL', $this->_create_notify_url($order_info["order_id"], $order_info['payment_code']));
         define('WXJS_API_CALL_URL', $this->_create_notify_url($order_info["order_id"], $order_info['payment_code']));
         define('WXSSLCERT_PATH', ROOT_PATH . '/data/cacert/1/apiclient_cert.pem');
         define('WXSSLKEY_PATH', ROOT_PATH . '/data/cacert/1/apiclient_key.pem');
     }
     require_once dirname(__FILE__) . "/WxPayPubHelper/WxPayPubHelper.php";
     $unifiedOrder = new UnifiedOrder_pub();
     $out_trade_no = $this->_get_trade_sn($order_info);
     $_SESSION['out_trade_on'] = $out_trade_no;
     $unifiedOrder->setParameter("body", $out_trade_no);
     //商品描述
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("attach", $order_info['order_id']);
     //商户支付日志
     $unifiedOrder->setParameter("total_fee", strval(intval($order_info['order_amount'] * 100)));
     //总金额
     $unifiedOrder->setParameter("notify_url", WXNOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     $unifiedOrderResult = $unifiedOrder->getResult();
     $html = '<button type="button" onclick="javascript:alert(\'出错了\')">微信支付</button>';
     if ($unifiedOrderResult["code_url"] != NULL) {
         $code_url = $unifiedOrderResult["code_url"];
         $html = '<div class="wxnative" style="text-align:center">';
         $html .= $this->getcode($code_url, $order_info['order_id']);
         $html .= "</div>";
         $html .= "<div style=\"text-align:center;font-size:14px;\"><a href=\"index.php?app=buyer_order\" style=\"color:#ff0000;\">支付后点击此处</a>查看我的订单</div>";
     }
     return $html;
 }
예제 #9
0
 public function dynamic_qrcode($payid, $fee, $out_trade_no, $tUrl, $eUrl, $proDesc)
 {
     //使用统一支付接口
     $unifiedOrder = new \UnifiedOrder_pub();
     if (!$payid || !$fee || !$out_trade_no || !$tUrl || !$eUrl || !$proDesc) {
         showTips('/index.php?s=/Pc/Centerall/my_order.html', "参数提交有误!");
     }
     //自定义订单号,此处仅作举例
     $fee = $fee * 100;
     $unifiedOrder->setParameter("body", "{$proDesc}");
     //商品描述
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("total_fee", "{$fee}");
     //总金额
     $unifiedOrder->setParameter("notify_url", WxPayConf_pub::NOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     $unifiedOrder->setParameter("attach", "{$payid}");
     //附加数据 订单ID
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         return "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         return "错误代码:" . $unifiedOrderResult['err_code'] . "<br>" . "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         //商户自行增加处理流程
         //......
         return $code_url;
     }
 }
예제 #10
0
 /**
  * 动态模式支付   生成二维码
  * $dataArr 提交参数内容
  */
 function NativeDynamicInterface($dataArr = array())
 {
     $unifiedOrder = new UnifiedOrder_pub();
     $unifiedOrder->setParameter("body", $dataArr['body']);
     //商品描述
     $timeStamp = time();
     $out_trade_no = WxPayConf_pub::APPID . "{$timeStamp}";
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("total_fee", $dataArr['total_fee']);
     //总金额
     $unifiedOrder->setParameter("notify_url", WxPayConf_pub::NOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
         echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         //商户自行增加处理流程
         //......
     }
     return $code_url;
 }
예제 #11
0
 function natpayHtml($order)
 {
     if (!strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')) {
         $unifiedOrder = new UnifiedOrder_pub();
         // 设置统一支付接口参数
         $return_url = 'http://' . $_SERVER['HTTP_HOST'] . '/respond.php';
         $unifiedOrder->setParameter("body", $order['order_sn']);
         $unifiedOrder->setParameter("out_trade_no", $order['order_id']);
         // 商户订单号
         $unifiedOrder->setParameter("total_fee", $order['order_amount'] * 100);
         // 总金额
         $unifiedOrder->setParameter("notify_url", $return_url);
         // 通知地址
         $unifiedOrder->setParameter("trade_type", "NATIVE");
         // 交易类型
         $unifiedOrderResult = $unifiedOrder->getResult();
         if ($unifiedOrderResult["return_code"] == "FAIL") {
             return "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
         } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
             $log_id = $GLOBALS['db']->getOne("SELECT log_id FROM " . $GLOBALS['ecs']->table('pay_log') . "where order_id='{$order['order_id']}' and is_paid=0 order by log_id desc");
             if ($log_id > 0 && $unifiedOrderResult['err_code'] == 'ORDERPAID') {
                 order_paid($log_id, 2);
             }
             return "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
         }
         $product_url = $unifiedOrderResult["code_url"];
         return "<img src='http://qr.liantu.com/api.php?text=" . $product_url . "' alt='扫描进行支付'><iframe src='weixin_order_check.php?oid={$order['order_id']}' style='display:none'></iframe>";
     }
 }
예제 #12
0
 function wechat_qcode_pay()
 {
     require_once APPPATH . 'libraries/wechat/WxPayPubHelper.php';
     $out_trade_no = $this->uri->segment(3);
     $order_temp = $this->tickets->select('orders', array('to_order_sn' => $out_trade_no));
     $order = $order_temp[0];
     if ($order->to_status == ORDER_PAYED) {
         redirect('/member/order_list');
     }
     $wechat_config_temp = $this->tickets->select('payment', array('name' => 'wechat'));
     $weipay = $wechat_config_temp[0];
     //使用统一支付接口
     $unifiedOrder = new UnifiedOrder_pub($weipay->app_id, $weipay->payname, $weipay->partner_key, $weipay->app_secret);
     //设置统一支付接口参数
     //设置必填参数
     //appid已填,商户无需重复填写
     //mch_id已填,商户无需重复填写
     //noncestr已填,商户无需重复填写
     //spbill_create_ip已填,商户无需重复填写
     //sign已填,商户无需重复填写
     $unifiedOrder->setParameter("body", "小树好吃");
     //商品描述
     //自定义订单号,此处仅作举例
     $timeStamp = time();
     $notify_url = base_url() . '/wechat/wnotice';
     //$out_trade_no = $weipay->app_id."$timeStamp";
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("total_fee", 100 * $order->to_order_amount);
     //总金额
     $unifiedOrder->setParameter("notify_url", $notify_url);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     //非必填参数,商户可根据实际情况选填
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
         echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         //商户自行增加处理流程
         //......
     }
     $data['out_trade_no'] = $out_trade_no;
     $data['code_url'] = $code_url;
     $data['unifiedOrderResult'] = $unifiedOrderResult;
     $this->load->view('/wechat/qcode', $data);
 }
예제 #13
0
 public function native_pays()
 {
     //全局引入微信支付类
     Vendor('Wxpay.WxPayPubHelper.WxPayPubHelper');
     //使用统一支付接口
     $unifiedOrder = new \UnifiedOrder_pub();
     //设置统一支付接口参数
     //设置必填参数
     //appid已填,商户无需重复填写
     //mch_id已填,商户无需重复填写
     //noncestr已填,商户无需重复填写
     //spbill_create_ip已填,商户无需重复填写
     //sign已填,商户无需重复填写
     $unifiedOrder->setParameter("body", "贡献一分钱");
     //商品描述
     //自定义订单号,此处仅作举例
     $timeStamp = time();
     $out_trade_no = \WxPayConf_pub::APPID . $timeStamp;
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("total_fee", "1");
     //总金额
     $unifiedOrder->setParameter("notify_url", \WxPayConf_pub::NOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     //非必填参数,商户可根据实际情况选填
     //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
     //$unifiedOrder->setParameter("device_info","XXXX");//设备号
     //$unifiedOrder->setParameter("attach","XXXX");//附加数据
     //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
     //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
     //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
     //$unifiedOrder->setParameter("openid","XXXX");//用户标识
     //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
         echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         //商户自行增加处理流程
         //......
     }
     $this->assign('out_trade_no', $out_trade_no);
     $this->assign('code_url', $code_url);
     $this->assign('unifiedOrderResult', $unifiedOrderResult);
     $this->display();
 }
예제 #14
0
    public function send_pay()
    {
        //使用统一支付接口
        $unifiedOrder = new UnifiedOrder_pub();
        $amount = trim($this->config['money']) * 100;
        $notify_url = $this->config['NotifyUrl'];
        //通知URL
        $weixinMoney = $amount / 100 + '.00';
        //设置统一支付接口参数
        //设置必填参数
        //appid已填,商户无需重复填写
        //mch_id已填,商户无需重复填写
        //noncestr已填,商户无需重复填写
        //spbill_create_ip已填,商户无需重复填写
        //sign已填,商户无需重复填写
        //iconv("gb2312","utf-8//IGNORE",
        $unifiedOrder->setParameter("body", $this->config['title']);
        //商品描述
        //自定义订单号,此处仅作举例
        $out_trade_no = $this->config['code'];
        $unifiedOrder->setParameter("out_trade_no", $out_trade_no);
        //商户订单号
        $unifiedOrder->setParameter("total_fee", $amount);
        //总金额
        $unifiedOrder->setParameter("notify_url", $notify_url);
        //通知地址
        $unifiedOrder->setParameter("trade_type", "NATIVE");
        //交易类型
        //非必填参数,商户可根据实际情况选填
        //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
        //$unifiedOrder->setParameter("device_info","XXXX");//设备号
        $unifiedOrder->setParameter("attach", "111");
        //附加数据
        //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
        //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
        //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
        //$unifiedOrder->setParameter("openid","XXXX");//用户标识
        //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
        //         ["parameters"]=> array(6) {
        //          ["body"]=> string(10) "1元雨购"
        //           ["out_trade_no"]=> string(18) "C14523207927686403"
        //           ["total_fee"]=> int(1000)
        //           ["notify_url"]=> string(54) "http://www.gd1yyg.com/index.php/pay/weixin_url/houtai/"
        //            ["trade_type"]=> string(6) "NATIVE"
        //             ["attach"]=> string(3) "111" }
        //             ["response"]=> NULL
        //             ["result"]=> NULL
        //              ["url"]=> string(46) "https://api.mch.weixin.qq.com/pay/unifiedorder"
        //              ["curl_timeout"]=> int(30)
        //获取统一支付接口结果
        $unifiedOrderResult = $unifiedOrder->getResult();
        var_dump($unifiedOrder);
        exit;
        //商户根据实际情况设置相应的处理流程
        if ($unifiedOrderResult["return_code"] == "FAIL") {
            //商户自行增加处理流程
            echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
        } else {
            if ($unifiedOrderResult["result_code"] == "FAIL") {
                //商户自行增加处理流程
                echo iconv("utf-8", "gb2312//IGNORE", "错误代码:" . $unifiedOrderResult['err_code'] . "<br>");
                echo iconv("utf-8", "gb2312//IGNORE", "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>");
            } else {
                if ($unifiedOrderResult["code_url"] != NULL) {
                    $qrcode = 'http://www.gd1yyg.com/statics/templates/auto-moban/js/qrcode.js';
                    //从统一支付接口获取到code_url
                    $code_url = $unifiedOrderResult["code_url"];
                    $saomiao = "微信安全支付,请扫我";
                    //		//参数1表示图像大小,取值范围1-10;参数2表示质量,取值范围'L','M','Q','H'
                    if ($unifiedOrderResult["code_url"] != NULL) {
                        $hehe = '	var url = "' . $code_url . '";var qr = qrcode(10, "M");qr.addData(url);qr.make();var wording=document.createElement("p");	var code=document.createElement("DIV");	code.innerHTML = qr.createImgTag();var element=document.getElementById("qrcode");
					element.appendChild(wording);element.appendChild(code);';
                    }
                    $def_url = '
                    <html>
                        <head></head>
                        <body>
                        <div class="wx_header">
                            <div class="wx_logo">
                                <img title="微信支付" alt="微信支付标志" src="http://skin.1yyg.com/mycart/images/wxlogo_pay.png?v=1">
                            </div>
                        </div>
                        <div class="weixin">
        <div class="weixin2">
            <b class="wx_box_corner left pngFix"></b><b class="wx_box_corner right pngFix"></b>
            <div class="wx_box pngFix">
                <div class="wx_box_area">
                    <div class="pay_box qr_default">
                        <div class="area_bd"><span class="wx_img_wrapper" id="qr_box">
                                                 <div  id="qrcode" ></div>
                            <img style="left: 50%; opacity: 0; display: none; margin-left: -101px;" class="guide pngFix" src="http://skin.1yyg.com/mycart/images/wxwebpay_guide.png" alt="" id="guide">
                        </span>
                            <div class="msg_default_box1"><i class="icon60_qr pngFix"></i>
                                <p>
                                    请使用微信<br>
                                    扫一扫完成支付
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="wx_hd">
                    <div class="wx_hd_img icon_wx"></div>
                </div>
                <div class="wx_money"><span>¥</span>' . $weixinMoney . '.00</div>
                <!--支付订单号-->
                <div class="wx_pay">
                    <p><span class="wx_left">支付订单号</span><span class="wx_right">' . $out_trade_no . '</span></p>
                    <!--p><span class="wx_left">支付订单号</span><span class="wx_right"></span></p-->
                </div>
                <div class="wx_kf">
                    <div class="wx_kf_img icon_wx"></div>
                    <div class="wx_kf_wz">
                        <p>客服400-992-2280</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
                            
<div class="g-copyrightCon">
      <div class="w1190">
          <div class="g-links">
              <a href="http://www.gd1yyg.com/" target="_blank" title="首页">首页</a><s></s>
              <a href="http://www.1yyg.com/help/1" target="_blank" title="关于雨购">关于雨购</a><s></s>
              <a href="http://www.1yyg.com/help/3" target="_blank" title="隐私声明">隐私声明</a><s></s>
              <a href="http://www.gd1yyg.com/single/business" target="_blank" title="合作专区">合作专区</a><s></s>
              <a href="http://www.gd1yyg.com/link.html" target="_blank" title="友情链接">友情链接</a><s></s>
              <a href="http://www.1yyg.com/help/22" target="_blank" title="联系我们">联系我们</a>
          </div>
          <div class="g-copyright">Copyright © 2013 - 2015, 版权所有 gd1yyg.com 粤ICP备15112849号-1</div>
          <div class="g-authentication">
              <a target="_blank" class="fi_ectrustchina"></a>
        <a target="_blank" class="fi_315online"></a>
        <a target="_blank" class="fi_qh"></a>
        <a target="_blank" class="fi_cnnic"></a>
        <a target="_blank" class="fi_anxibao"></a>
        <a target="_blank" class="fi_pingan"></a>
        <a target="_blank" class="fi_yangshi"></a>
          </div>
      </div>
  </div>
                        </body>
                        <style>
                        body {
    font-family: "Microsoft YaHei",Helvetica,Verdana,Arial,Tahoma;
    font-size: 14px;
    line-height: 1.6;
    color: #303030;
    background: url(http://skin.1yyg.com/MyCart/images/wxbj.png) repeat scroll 0 0 #D4D5D7;
}
.wx_header {
    background: url(http://skin.1yyg.com/MyCart/images/wx_icon.png);
    background-position: 0 -235px;
    height: 66px;
    margin-bottom: 7px;
}
.wx_kf .wx_kf_img {
    float: left;
    width: 30px;
    height: 35px;
    display: block;
    background-position: 0 -193px;
}
.wx_logo {
    padding-bottom: 0;
    padding-top: 18px;
    text-align: center;
}img {
    color: #999;
}.weixin2 {
    margin: 0 auto 25px;
    width: 920px;
    background: url(http://skin.1yyg.com/MyCart/images/wxbg_h.png) repeat-x #FFF;
    background-position: -5px -60px;
    box-shadow: 0 1px 1px rgba(0,0,0,0.35);
    position: relative;
}.wx_box_corner.left {
    background-position: 0 0;
    left: -5px;
}
.wx_box_corner {
    background: url(../images/wxbg_h.png) no-repeat;
    height: 30px;
    position: absolute;
    top: 0;
    width: 6px;
}.wx_box_corner.right {
    background-position: 0 -30px;
    right: -5px;
}
.wx_box {
    background: url(http://skin.1yyg.com/MyCart/images/wxbg_mail_box.png) repeat-x bottom left;
    bottom: -10px;
    overflow: hidden;
    padding: 60px 170px 100px;
    position: relative;
}
.wx_box_area {
    text-align: center;
}
.wx_img_wrapper {
    display: block;
    width: 306px;
    height: 306px;
    margin: 0 auto;
    position: relative;
}
.wx_img_wrapper .qrcode2 {
    height: 301px;
    width: 301px;
    padding: 0;
}
.msg_default_box1 {
    width: 258px;
    margin: 0 auto;
    padding: 12px 0;
    border: 1px solid #2b4d69;
    background-color: #445f85;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    letter-spacing: 6px;
    text-align: center;
    color: #FFF;
}
.msg_default_box1 .icon60_qr {
    background-position: 0 -60px;
}
.icon60_qr {
    width: 60px;
    height: 60px;
    display: inline-block;
    vertical-align: middle;
    background: transparent url(http://skin.1yyg.com/MyCart/images/wx_icon_pay.png) no-repeat 0 0;
    margin-right: 20px;
}
.msg_default_box1 p {
    display: inline-block;
    vertical-align: middle;
    letter-spacing: normal;
    text-align: left;
    font-size: 16px;
    color: #FFF;
}
.msg_box {
    background-color: #4CA698;
    border: 1px solid #259483;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
    color: #FFF;
    letter-spacing: 6px;
    padding: 12px 0;
    text-align: center;
}.qr_default .icon_wx {
    background-position: 0 -60px;
}
.msg_box i {
    margin-left: -16px;
}
.icon_wx {
    background: url(http://skin.1yyg.com/MyCart/images/wx_icon.png);
    display: inline-block;
    height: 60px;
    vertical-align: middle;
    width: 60px;
}
.msg_box p {
    display: inline-block;
    font-size: 16px;
    letter-spacing: normal;
    text-align: left;
    vertical-align: middle;
}
.msg_box strong {
    color: #FFF;
    display: block;
    font-size: 15px;
    font-weight: 400;
}.wx_hd {
    border-bottom: 3px solid #E0E3EB;
    width: 100%;
    position: relative;
    height: 70px;
}.wx_hd .icon_wx {
    background-position: 11px -130px;
}
.wx_hd_img {
    width: 60px;
    height: 60px;
    display: block;
    background-color: #FFF;
    display: inline-block;
    padding-left: 12px;
    padding-right: 14px;
    position: relative;
    top: 34px;
    left: 250px;
}
.icon_wx {
    background: url(http://skin.1yyg.com/MyCart/images/wx_icon.png);
    display: inline-block;
    height: 60px;
    vertical-align: middle;
    width: 60px;
}
    .g-authentication {
    clear: both;
    text-align: center;
    padding: 15px 0px 8px;
}
.wx_money {
    text-align: center;
    border-bottom: 1px solid #D0D8E4;
    color: #585858;
    font-size: 60px;
    font-weight: 400;
    line-height: 68px;
    padding-bottom: 20px;
    padding-top: 50px;
    width: 100%;
}
div {
    margin: 0 auto;
}
.wx_pay {
    padding: 30px 0 60px;
}.wx_pay p {
    width: 100%;
    display: block;
    overflow: hidden;
    height: 20px;
    line-height: 20px;
    color: #8E8E8E;
    font-size: 14px;
}.wx_left {
    float: left;
    text-align: left;
}.wx_right {
    float: right;
    text-align: right;
    color: #303030;
}.wx_kf {
    width: 100%;
    border-top: 3px solid #D0D8E4;
    padding: 20px 0 0;
    overflow: hidden;
}.wx_kf_img {
    float: left;
    width: 30px;
    height: 35px;
    display: block;
    background-position: 0 -193px;
}
.icon_wx {
    background: url(http://skin.1yyg.com/MyCart/images/wx_icon.png);
    display: inline-block;
    height: 60px;
        background-color: #FFF;
    vertical-align: middle;
    width: 60px;
}
.wx_kf_wz {
    float: left;
    color: #303030;
}
.g-copyrightCon {
    clear: both;
    background: #fff;
}
.w1190 {
    clear: both;
    width: 980px;
    margin: 0 auto;
}
.g-links {
    text-align: center;
    padding: 5px 0;
}.g-copyright {
    text-align: center;
    color: #999;
}.g-links a {
    color: #666;
}
a:focus, a:link {
    outline: none;
}
a:link, a:visited {
    text-decoration: none;
}
a {
    color: #374673;
}
a {
    outline: none;
    blr: expression(this.onFocus=this.blur());
}
.g-links a {
    color: #666;
}
a:focus, a:link {
    outline: none;
}
a:link, a:visited {
    text-decoration: none;
}
a {
    color: #374673;
}
a {
    outline: none;
    blr: expression(this.onFocus=this.blur());
}
.g-links a {
    color: #666;
}
a:focus, a:link {
    outline: none;
}
a:link, a:visited {
    text-decoration: none;
}
a {
    color: #374673;
}
a {
    outline: none;
    blr: expression(this.onFocus=this.blur());
}
.g-links a:hover {
    color: #f60;
    text-decoration: underline;
}.g-links s {
    border-left: 1px solid #e4e4e4;
    width: 0;
    height: 12px;
    margin: 0 11px 0 15px;
    overflow: hidden;
    font-size: 0;
    display: inline-block;
    position: relative;
    top: 1px;
}


.g-authentication a {
    background: transparent url("/statics/templates/auto-moban/images/icon.png") no-repeat scroll 0% 0%;
    width: 90px;
    height: 32px;
    display: inline-block;
    margin: 0px 2px;
}
.g-authentication a.fi_ectrustchina {
    background-position: 0px 0px;
}
.g-authentication a.fi_315online {
    background-position: 0px -32px;
}
.g-authentication a.fi_qh {
    background-position: 0px -96px;
}
.g-authentication a.fi_cnnic {
    background-position: 0px -64px;
}
.g-authentication a.fi_anxibao {
    background-position: -1px -128px;
}
.g-authentication a.fi_pingan {
    background-position: 0px -160px;
}
.g-authentication a.fi_yangshi {
    background-position: 0px -192px;
}
    
</style>
                    <script src="' . $qrcode . '"></script><script>' . $hehe . '</script></html>';
                    echo $def_url;
                    exit;
                    //商户自行增加处理流程
                    //......
                }
            }
        }
    }
예제 #15
0
 /**
  *扫描二维码支付
  * 测试地址:http://test.idaiyan.cn/index.php?r=weixin/native
  */
 public function actionNative()
 {
     //使用统一支付接口
     $unifiedOrder = new \UnifiedOrder_pub();
     //设置统一支付接口参数
     //设置必填参数
     //appid已填,商户无需重复填写
     //mch_id已填,商户无需重复填写
     //noncestr已填,商户无需重复填写
     //spbill_create_ip已填,商户无需重复填写
     //sign已填,商户无需重复填写
     $unifiedOrder->setParameter("body", "贡献一分钱");
     //商品描述
     //自定义订单号,此处仅作举例
     $timeStamp = time();
     $out_trade_no = \WxPayConf_pub::APPID . "{$timeStamp}";
     $unifiedOrder->setParameter("out_trade_no", "{$out_trade_no}");
     //商户订单号
     $unifiedOrder->setParameter("total_fee", "1");
     //总金额
     $unifiedOrder->setParameter("notify_url", \WxPayConf_pub::NOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     //非必填参数,商户可根据实际情况选填
     //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
     //$unifiedOrder->setParameter("device_info","XXXX");//设备号
     //$unifiedOrder->setParameter("attach","XXXX");//附加数据
     //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
     //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
     //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
     //$unifiedOrder->setParameter("openid","XXXX");//用户标识
     //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     //要传递到前台
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
         echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         //要传递到前台
         //商户自行增加处理流程
         //......
         $url = Yii::$app->request->baseurl;
         // return $this->render('native', ['code_url' => $code_url, 'out_trade_no' => $out_trade_no, 'url' => $url, 'unifiedOrderResult' => $unifiedOrderResult]);
         $str = '<div align="center" id="qrcode"></div>';
         $str .= "<script src='{$url}/static/weixin/js/qrcode.js'></script>";
         $str .= '<script>';
         if ($unifiedOrderResult["code_url"] != NULL) {
             $str .= 'var url = "' . $code_url . '";';
             $str .= "var qr = qrcode(10, 'M');";
             $str .= 'qr.addData(url);';
             $str .= 'qr.make();';
             $str .= "var wording=document.createElement('p');";
             $str .= 'wording.innerHTML = "pay";';
             $str .= "var code=document.createElement('DIV');";
             $str .= 'code.innerHTML = qr.createImgTag();';
             $str .= 'var element=document.getElementById("qrcode");';
             $str .= 'element.appendChild(wording);';
             $str .= 'element.appendChild(code);';
         }
         $str .= '</script>';
         echo $str;
     }
 }
예제 #16
0
    public function send_pay()
    {
        //使用统一支付接口
        $unifiedOrder = new UnifiedOrder_pub();
        $amount = trim($this->config['money']) * 100;
        $notify_url = $this->config['NotifyUrl'];
        //通知URL
        //设置统一支付接口参数
        //设置必填参数
        //appid已填,商户无需重复填写
        //mch_id已填,商户无需重复填写
        //noncestr已填,商户无需重复填写
        //spbill_create_ip已填,商户无需重复填写
        //sign已填,商户无需重复填写
        //iconv("gb2312","utf-8//IGNORE",
        $unifiedOrder->setParameter("body", $this->config['title']);
        //商品描述
        //自定义订单号,此处仅作举例
        $out_trade_no = $this->config['code'];
        $unifiedOrder->setParameter("out_trade_no", $out_trade_no);
        //商户订单号
        $unifiedOrder->setParameter("total_fee", $amount);
        //总金额
        $unifiedOrder->setParameter("notify_url", $notify_url);
        //通知地址
        $unifiedOrder->setParameter("trade_type", "NATIVE");
        //交易类型
        //非必填参数,商户可根据实际情况选填
        //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
        //$unifiedOrder->setParameter("device_info","XXXX");//设备号
        $unifiedOrder->setParameter("attach", "111");
        //附加数据
        //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
        //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
        //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
        //$unifiedOrder->setParameter("openid","XXXX");//用户标识
        //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
        //获取统一支付接口结果
        $unifiedOrderResult = $unifiedOrder->getResult();
        //商户根据实际情况设置相应的处理流程
        if ($unifiedOrderResult["return_code"] == "FAIL") {
            //商户自行增加处理流程
            echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
        } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
            //商户自行增加处理流程
            echo iconv("utf-8", "gb2312//IGNORE", "错误代码:" . $unifiedOrderResult['err_code'] . "<br>");
            echo iconv("utf-8", "gb2312//IGNORE", "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>");
        } elseif ($unifiedOrderResult["code_url"] != NULL) {
            $qrcode = 'http://www.1ybye.com/system/modules/pay/lib/qrcode.js';
            //从统一支付接口获取到code_url
            $code_url = $unifiedOrderResult["code_url"];
            $saomiao = "微信安全支付,请扫我";
            //		//参数1表示图像大小,取值范围1-10;参数2表示质量,取值范围'L','M','Q','H'
            if ($unifiedOrderResult["code_url"] != NULL) {
                $hehe = '	var url = "' . $code_url . '";var qr = qrcode(10, "M");qr.addData(url);qr.make();var wording=document.createElement("p");wording.innerHTML = "' . $saomiao . '";	var code=document.createElement("DIV");	code.innerHTML = qr.createImgTag();var element=document.getElementById("qrcode");
					element.appendChild(wording);element.appendChild(code);';
            }
            $def_url = '<html><head></head><body><div align="center" id="qrcode">
		</div></body><script src="' . $qrcode . '"></script><script>' . $hehe . '</script></html>';
            echo $def_url;
            exit;
            //商户自行增加处理流程
            //......
        }
    }
예제 #17
0
 protected function reorder()
 {
     if (isset($this->request->get['order_id'])) {
         $order_id = $this->request->get['order_id'];
     } else {
         $order_id = $this->session->data['zb_cart_orderid'];
     }
     //$this->data['custom'] = $encryption->encrypt($order_id);
     $this->load->model('checkout/order');
     $order_info = $this->model_checkout_order->getOrder($order_id);
     $this->data['order_info'] = $order_info;
     $total = $order_info['total'];
     $amount = number_format($total, 2, '.', '');
     //使用统一支付接口
     $unifiedOrder = new UnifiedOrder_pub();
     //设置统一支付接口参数
     //设置必填参数
     //appid已填,商户无需重复填写
     //mch_id已填,商户无需重复填写
     //noncestr已填,商户无需重复填写
     //spbill_create_ip已填,商户无需重复填写
     //sign已填,商户无需重复填写
     $unifiedOrder->setParameter("body", "可益健康网购订单");
     //商品描述
     //自定义订单号,此处仅作举例
     $timeStamp = time();
     $out_trade_no = WxPayConf_pub::APPID . "{$timeStamp}";
     $unifiedOrder->setParameter("out_trade_no", $order_id);
     //商户订单号
     $unifiedOrder->setParameter("total_fee", $amount * 100);
     //总金额
     $unifiedOrder->setParameter("notify_url", WxPayConf_pub::NOTIFY_URL);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     //非必填参数,商户可根据实际情况选填
     //$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
     //$unifiedOrder->setParameter("device_info","XXXX");//设备号
     //$unifiedOrder->setParameter("attach","XXXX");//附加数据
     //$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
     //$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
     //$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
     //$unifiedOrder->setParameter("openid","XXXX");//用户标识
     //$unifiedOrder->setParameter("product_id","XXXX");//商品ID
     //获取统一支付接口结果
     $unifiedOrderResult = $unifiedOrder->getResult();
     $this->data["unifiedOrderResult"] = $unifiedOrderResult;
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
         echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $code_url = $unifiedOrderResult["code_url"];
         //商户自行增加处理流程
         //......
     }
     if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/weixinpay.tpl')) {
         $this->template = $this->config->get('config_template') . '/template/payment/weixinpay.tpl';
     } else {
         $this->template = 'default/template/payment/weixinpay.tpl';
     }
     $this->render();
 }
예제 #18
0
//总金额
$unifiedOrder->setParameter("notify_url", WxPayConf_pub::NOTIFY_URL);
//通知地址
$unifiedOrder->setParameter("trade_type", "NATIVE");
//交易类型
//非必填参数,商户可根据实际情况选填
//$unifiedOrder->setParameter("sub_mch_id","XXXX");//子商户号
//$unifiedOrder->setParameter("device_info","XXXX");//设备号
//$unifiedOrder->setParameter("attach","XXXX");//附加数据
//$unifiedOrder->setParameter("time_start","XXXX");//交易起始时间
//$unifiedOrder->setParameter("time_expire","XXXX");//交易结束时间
//$unifiedOrder->setParameter("goods_tag","XXXX");//商品标记
//$unifiedOrder->setParameter("openid","XXXX");//用户标识
//$unifiedOrder->setParameter("product_id","XXXX");//商品ID
//获取统一支付接口结果
$unifiedOrderResult = $unifiedOrder->getResult();
//商户根据实际情况设置相应的处理流程
if ($unifiedOrderResult["return_code"] == "FAIL") {
    //商户自行增加处理流程
    echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
} elseif ($unifiedOrderResult["result_code"] == "FAIL") {
    //商户自行增加处理流程
    echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
    echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
} elseif ($unifiedOrderResult["code_url"] != NULL) {
    //从统一支付接口获取到code_url
    $code_url = $unifiedOrderResult["code_url"];
    //商户自行增加处理流程
    //......
}
?>
예제 #19
0
 public function wxPay()
 {
     $order_id = ggp('order_id:i');
     vendor('WxPayPubHelper.WxPay', '', '.pub.config.php');
     WxPayConf_pub::$SSLCERT_PATH .= $_SERVER['SERVER_NAME'] . '_cert.pem';
     WxPayConf_pub::$SSLKEY_PATH .= $_SERVER['SERVER_NAME'] . '_key.pem';
     WxPayConf_pub::$APPID = $this->setting['wx_appid'];
     WxPayConf_pub::$MCHID = $this->setting['wx_mchid'];
     WxPayConf_pub::$KEY = $this->setting['wx_key'];
     WxPayConf_pub::$APPSECRET = $this->setting['wx_appsecret'];
     vendor('WxPayPubHelper.WxPayPubHelper');
     $where = "order_id='{$order_id}' and state=6";
     $order = M('order')->where($where)->find();
     if (empty($order)) {
         exit('没有找到订单');
     }
     $unifiedOrder = new UnifiedOrder_pub();
     $unifiedOrder->setParameter("body", $order['store_name']);
     //商品描述
     $unifiedOrder->setParameter("out_trade_no", $order['order_sn']);
     //商户订单号
     $unifiedOrder->setParameter("total_fee", $order['pay_price'] * 100);
     //总金额
     $notify = "http://{$_SERVER['SERVER_NAME']}/wx_notify.php";
     $unifiedOrder->setParameter("notify_url", $notify);
     //通知地址
     $unifiedOrder->setParameter("trade_type", "NATIVE");
     //交易类型
     $unifiedOrderResult = $unifiedOrder->getResult();
     //商户根据实际情况设置相应的处理流程
     if ($unifiedOrderResult["return_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "通信出错:" . $unifiedOrderResult['return_msg'] . "<br>";
     } elseif ($unifiedOrderResult["result_code"] == "FAIL") {
         //商户自行增加处理流程
         echo "错误代码:" . $unifiedOrderResult['err_code'] . "<br>";
         echo "错误代码描述:" . $unifiedOrderResult['err_code_des'] . "<br>";
     } elseif ($unifiedOrderResult["code_url"] != NULL) {
         //从统一支付接口获取到code_url
         $codeUrl = $unifiedOrderResult["code_url"];
     }
     $this->a('codeUrl', $codeUrl);
     $this->a('order_id', $order_id);
     $this->d("Order:wxpay");
 }