欢迎来到源码交易网,为站长提供交易担保服务 访问移动版
站长交易首选担保平台!
酷客淘

微擎小程序支付开发教程

日期: 2019-12-04 09:01:28 人气: -

在小程序端发起支付,需要配合PHP端共同来完成,PHP调用支付函数,传入订单号、金额、用户OPENID等信息,生成支付参数,返回给小程序端,然后利用JS发起支付。

支付完成后,与模块中支付处理一样,系统会调用小程序接口类中的 payResult 方法来执行支付完成的代码。


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() 函数中即可。


class We7WxappDemoModuleWxapp extends WeModuleWxapp {

    public function payResult($log) {

}