技术部门前几天遇到的一个问题就是微信pc扫码二维码生成接口经常更改的问题。
为了解决这个问题。首先是要吐槽下微信支付接口,然后并没有什么毛用?
前提:要有公众号,和通过微信认证,绑定域名,得到相应信息,appid,appsecret等。
在公众号里开通微信支付,需要支付开通费用。登录商户,下载证书,设置秘钥,设计回调url.
php代码:
ini_set('date.timezone','Asia/Shanghai');
error_reporting(E_ERROR);
//引入微信支付demo ,可去微信文档下载,在里面设置秘钥与appid
require_once (VENDOR_PATH . 'weixpay/lib/WxPay.Api.php');
require_once (VENDOR_PATH . 'weixpay/example/WxPay.NativePay.php');
require_once (VENDOR_PATH . 'weixpay/lib/WxPay.Notify.php');
require_once (VENDOR_PATH . 'weixpay/example/log.php');
$sn = $_GET['sn'];
$shop_order = M("order")->where(array("sn"=>$sn,"uid"=>$this->uid))->field('id,state,cart_id,price,prices')->find();
if($shop_order['state'] != 0){
echo "<script> history.back(-2):</script>";
}
$notify = new \NativePay();
$cart_id = explode(",",$shop_order['cart_id']);
$cart_pro = M("cart")->where(array("id"=>$cart_id[0]))->find();
$input = new \WxPayUnifiedOrder();
$input->SetBody("商城商品");
$input->SetAttach("商城");
$input->SetOut_trade_no($sn);
//$input->SetTotal_fee($shop_order['prices']*100);
$input->SetTotal_fee(1);
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("商城");
$input->SetNotify_url("http://www.szhulian.cn/wx_notify");//回调(请把szhulian修改成您自己的网址)
$input->SetTrade_type("NATIVE");
$input->SetProduct_id($cart_pro['shop_id']);
$result = $notify->GetPayUrl($input);
//print_r($result);exit;
$this->url2 = $result["code_url"]; //获取到的url2
html 页面代码:
比较简单的一个方法,去qrcode下载生成二维码js库,或者也可以用H5生成。
<span id="wxewm"></span>
<script type="text/javascript" src="/PUBLIC/home/js/jquery.min.js"></script>
<script type="text/javascript" src="/PUBLIC/home/js/qrcode.min.js"></script>
var qrcode = new QRCode(document.getElementById("wxewm"), {
width : 300,
height : 300
});
qrcode.makeCode("{$url2}"); //生成二维码
(注:主要还是微信公众号上的配置、还有商户上的配置,回调域名特别要注意是否带有www. 务必要一致。要不要回调会出现问题。)
深正互联:致力于微信小程序开发,微信商城开发,微信应用开发,欢迎您拨打热线:13808809053 关注我们:www.szhulian.com
深圳 · 龙岗 · 大运软件小镇22栋201
电话:400 182 8580
邮箱:szhulian@qq.com