订阅本栏目 RSS您所在的位置: 深山工作室 > uni-app > 正文

uni-app开发的微信小程序在线支付

2021/1/31 21:47:10 深山工作室 字体: 浏览 3387



在用uni-app开发小程序时,需要使用微信小程序在线支付

处理发起支付流程如下



01. 向服务器发送微信小程序支付请求,发送的请教中,一定要带上当前小程序用户的openid
  将支付的钱与支付订单号向后台发送

02.后台接收订单内容后,向微信支付平台发一个请求,获得如下内容
以下是发送请教之后,支付程序返回的代码
{
    "data_state": "success",
    "prompting": "下单成功",
    "data_list": {
      "appId": "wxc45312345678902",
      "package": "prepay_id=wx31244255725616c79ca227f95eaee60000",
      "timeStamp": "1612101428",
      "nonceStr": "3Yl2Zn4Nl1Yf",
      "signType": "MD5",
      "paySign": "A5415FCF474F10C6D69DEF15C1FBC165",
      "orderid": "kecen20210131215703698348"
    }
}

03.以下是在页面中解析代码然后唤醒对应的微信支付功能

let paydata = res.data.data_list;
uni.requestPayment({
    nonceStr: paydata.nonceStr,      //  随机字符串    【字符串】
    package: paydata.package,       //  统一下单接口 必须加前缀:prepay_id=xxxxxxxx  【字符串】
    paySign: paydata.paySign,       //  签名     【字符串】
    signType: paydata.signType,      //  签名算法  【字符串】
    timeStamp: paydata.timeStamp,     //  时间戳   【字符串】
    success: function (res) {
        console.log('支付成功提示 success:' + JSON.stringify(res));
    },
    fail: function (err) {
        console.log('支付失败提示 fail:' + JSON.stringify(err));
    },
    complete:function(res){
        //console.log('xxxxxxxxxxxxxxxxxx---complete')
    }
});

利用uni-app中的uni.requestPayment发起调用微信支付请求
以下是介绍我的详细代码


getpagedata: function() {
    this.$appajax.globalRequest('POST', getApp().qwbmurl + '/pay/weixin/miniapp.asp', {
        buy_order: _self.pay_order, //支付订单,里面包括了支付的费用,支付的信息
        openid: 'oM67Fv5pK1REqisNtMq5zVBkcd5Y' // + uni.getStorageSync('uu_openid'),
    }).then(res => {
        let show_state = res.data.state; //支付状态
        //支付失败提示
        if (show_state == "error") {
            uni.showToast({title: unescape(res.data.prompting),icon: 'none'});
        }
        //支付成功处理
        if (show_state == "success") {
            uni.showToast({title: unescape(res.data.prompting),
                icon: 'success'
            });
            let paydata = res.data.data_list;
            uni.requestPayment({
                nonceStr: paydata.nonceStr,      //  随机字符串 【字符串】
                package: paydata.package,       //  统一下单接口 必须加前缀:prepay_id=xxxxxxxx  【字符串】
                paySign: paydata.paySign,       //  签名     【字符串】
                signType: paydata.signType,      //  签名算法 【字符串】
                timeStamp: paydata.timeStamp,     //  时间戳   【字符串】
                success: function (res) {
                    console.log('发起支付success:' + JSON.stringify(res));
                },
                fail: function (err) {
                    console.log('失败支付fail:' + JSON.stringify(err));
                },
                complete:function(res){
                    //console.log('xxxxxxxxxxxxxxxxxx---complete')
                }
            });
        }
    });
},

相关阅读
旅行社线路主题默认模板5
微信公众号回复音乐消息或用客服接口推送音乐消息
ASP过滤SQL中的非法字符并格式化相关的html代码
连云港党建
一个效果非常不错图片载入loading等待效果
连云港红发廊
深山旅行社网站管理系统5.0发布
CSS滤镜属性详解
共有0条关于《uni-app开发的微信小程序在线支付》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
uni-app开发表单input组件的一些规则说明自己预留使用
uni-app:使用uni.downloadFile下载word或pdf文件并保存到手机
小程序中利用addPhoneContact将联系人的信息添加到手机通讯录支持保存联系人头像
微信小程序打开客服提示:该小程序提供的服务出现故障,请稍后重试
微信小程序客服会话只能过button让用户主动触发
uni-app开发微信小程序使用button的open-type为contact调用微信客服不能用view或者js调用
更多>>最新添加文章
在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
aliyun阿里云续费域名优惠口令(注册、续费都可以使用)
windows7环境下安装配置jdk
python对微信操作要用到这两个库wxpy与itchat
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
DW设置之后更好用 DreamweaverCS编辑GB2312与UTF-8文件在代码视图中点击鼠标错位问题的解决办法
更多>>随机抽取信息
景点门票预订商建站解决方案
仿MAC官网导航菜单
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
滑动展开/收缩广告(兼容ff/ie6/ie7)
web2.0中流行的设计元素:颜色
让你的Pycharm和电脑pip install下载速度飞起来