欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP开发微信支付的代码分享

程序员文章站 2023-08-17 10:23:15
微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。 然后,因为在微信中是通过js方式调...

微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。

然后,因为在微信中是通过js方式调用api,必须在微信后台设置支付授权目录,而且要到二级三级目录下去,这对于使用mvc框架来说,是个小问题。

使用mvc,在开发环境,url往往是native url格式,不能保证一定是带有路径/的形式

所以,比较可靠的方式,是创建实体的子文件夹,这样的化,在系统整体url方面,需要进行一些改造。

另外,最后一步,js调用时,对于 https://github.com/dodgepudding/wechat-php-sdk  这里提供的js库,在调用时,必须确保在页面加载完后触发,即weixinjsbridgeready的状态,因为这时才能与微信浏览器提供jsbridge进行通讯。

5.24修复

具体可看微擎中的相关代码。

复制代码 代码如下:

<script type="text/javascript">
document.addeventlistener('weixinjsbridgeready', function onbridgeready() {
    weixinjsbridge.invoke('getbrandwcpayrequest', {
        'appid' : '<?php echo $wopt['appid'];?>',
        'timestamp': '<?php echo $wopt['timestamp'];?>',
        'noncestr' : '<?php echo $wopt['noncestr'];?>',
        'package' : '<?php echo $wopt['package'];?>',
        'signtype' : '<?php echo $wopt['signtype'];?>',
        'paysign' : '<?php echo $wopt['paysign'];?>'
    }, function(res) {
        if(res.err_msg == 'get_brand_wcpay_request:ok') {
        } else {
            alert('启动微信支付失败, 请检查你的支付参数. 详细错误为: ' + res.err_msg);
        }
        history.go(-1);
    });
}, false);
</script>