ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

微擎小程序支付功能

2019-07-25 23:01:35  阅读:515  来源: 互联网

标签:orderid pay wxapp 微擎 res 程序 支付 data


1,要使用微擎特定的小程序框架

https://gitee.com/we7coreteam/wxapp

2,必须正确的配置siteinfo

https://www.kancloud.cn/qq188872170/xcx/673488

var siteinfo = { "m": 'yhjd_fhjs', "uniacid": "2", "acid": "2", "multiid": "0", "version": "1.01", "siteroot": "https://02.zcwlkj.cn/app/index.php", 'method_design': '3' }; module.exports = siteinfo;   3,发起支付的页面,必须有m参数 appInfo.util.request({ 'url': 'entry/wxapp/pay', //调用wxapp.php中的doPagePay方法获取支付参数 data: { orderid: params.ordertid, fee: params.fee, openid: appInfo.globalData.openid, m: appInfo.siteInfo.m }, 'cachetime': '0', success(res) { console.log(res); } }); 4,PHP端生成支付参数——————wxapp.php文件就是专门用来写这个小程序支付逻辑的
class We7WxappDemoModuleWxapp extends WeModuleWxapp {
    public function doPagePay() {
        global $_GPC, $_W;
        //获取订单号,保证在业务模块中唯一即可
        $orderid = intval($_GPC['orderid']);
        //构造支付参数
        $order = array(
            'tid' => $orderid,
            'user' => $_W['openid'], //用户OPENID
            'fee' => floatval($fee), //金额
            'title' => '小程序支付示例',
        );
        //生成支付参数,返回给小程序端
        $pay_params = $this->pay($order);
        if (is_error($pay_params)) {
            return $this->result(1, '支付失败,请重试');
        }
        return $this->result(0, '', $pay_params);
    }
}
小程序端发起支付
app.util.request({
    'url': 'entry/wxapp/pay', //调用wxapp.php中的doPagePay方法获取支付参数
    data: {
        orderid: options.orderid,
    },
    'cachetime': '0',
    success(res) {
        if (res.data && res.data.data && !res.data.errno) {
            //发起支付
            wx.requestPayment({
                'timeStamp': res.data.data.timeStamp,
                'nonceStr': res.data.data.nonceStr,
                'package': res.data.data.package,
                'signType': 'MD5',
                'paySign': res.data.data.paySign,
                'success': function (res) {
                    //执行支付成功提示
                },
                'fail': function (res) {
                    backApp()
                }
            })
        }
    },
    fail(res) {
        wx.showModal({
            title: '系统提示',
            content: res.data.message ? res.data.message : '错误',
            showCancel: false,
            success: function (res) {
                if (res.confirm) {
                    backApp()
                }
            }
        })
    }
})
验证支付结果
和模块一样,验证代码写在 payResult() 函数中即可。

标签:orderid,pay,wxapp,微擎,res,程序,支付,data
来源: https://www.cnblogs.com/bluestear/p/11247523.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有