使用uniapp开发微信小程序的微信支付流程

这篇具有很好参考价值的文章主要介绍了使用uniapp开发微信小程序的微信支付流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在我们做一些购物车的结算功能时是一定会有支付功能的,那我们如何去做微信支付这个功能呢,首先我们先要理清思路,并且要了解到接口需要哪些数据以及会返回哪些数据

注意:一定要先看接口文档!

  1. 创建订单。

    ○ 请求创建订单的 API 接口:把(订单金额、收货地址、订单中包含的商品信息)发送到服务器。

    ○ 服务器响应的结果:订单编号

  2. 订单预支付。

    ○ 请求订单预支付的 API 接口:把(订单编号)发送到服务器。

    ○ 服务器响应的结果:订单预支付对象,里面包含了订单支付相关的必要参数。

  3. 发起微信支付。

    ○ 调用 uni.requestPayment() 这个 API,并传递订单预支付对象,发起微信支付。

    ○ 监听 uni.requestPayment() 这个 API 的 success,fail,complete 回调函数。

 这是我们先点击结算按钮是需要做一些校验和提示的,通过校验后再去做支付功能

// 点击了结算按钮
settlement() {
    // #1 先判断是否勾选了要结算的商品
    if (!this.checkedCount) return uni.$showMsg('请选择要结算的商品!')
    // #2 再判断用户是否选择了收货地址
    if (!this.addstr) return uni.$showMsg('请选择收货地址!')
    // #3 最后判断用户是否登录了
    // if (!this.token) return uni.$showMsg('请先登录!')
    if (!this.token) return this.delayNavigate()
    // #4 实现微信支付功能
    this.payOrder()
}

接下来就是支付功能了

// 微信支付
async payOrder() {
    // 1. 创建订单
    // 1.1 组织订单的信息对象
    const orderInfo = {
        // 开发期间,注释掉真实的订单价格,
        // order_price: this.checkedGoodsAmount,
        // 写死订单总价为 1 分钱
        order_price: 0.01,
        consignee_addr: this.addstr,
        goods: this.cart.filter(x => x.goods_state).map(x => (
            { goods_id: x.goods_id, goods_number: x.goods_count, goods_price: x.goods_price }
        ))
    }
    // 1.2 发起请求创建订单
    const { data: res } = await uni.$http.post('/orders/create', orderInfo)
    if (res.meta.status !== 200) return uni.$showMsg('创建订单失败!')

    // 1.3 得到服务器响应的“订单编号”
    const orderNumber = res.message.order_number

    // 2. 订单预支付
    // 2.1 发起请求获取订单的支付信息
    const { data: res2 } = await uni.$http.post('/my/orders/req_unifiedorder', { order_number: orderNumber })

    // 2.2 预付订单生成失败
    if (res2.meta.status !== 200) return uni.$showMsg('预付订单生成失败!')

    // 2.3 得到订单支付相关的必要参数
    const payInfo = res2.message.pay

    // 3. 发起微信支付
    // 3.1 调用 uni.requestPayment() 发起微信支付
    const [err, succ] = await uni.requestPayment(payInfo)

    // 3.2 未完成支付
    if (err) return uni.$showMsg('订单未支付!')

    // 3.3 完成了支付,进一步查询支付的结果
    const { data: res3 } = await uni.$http.post('/my/orders/chkOrder', { order_number: orderNumber })

    // 3.4 检测到订单未支付
    if (res3.meta.status !== 200) return uni.$showMsg('订单未支付!')

    // 3.5 检测到订单支付完成
    uni.showToast({
        title: '支付完成!',
        icon: 'success'
    })
}

以上就是功能代码啦,但是要注意的是,可能做出来后会没有效果,因为这个东西是需要一些权限账号的,如果是自己写的话,没有特定的权限是出不来支付功能的文章来源地址https://www.toymoban.com/news/detail-485746.html

主要其实就是调用uni.requestPayment()这个api的,具体可以去参照uniapp的官方文档uni.requestPayment(OBJECT) | uni-app官网

到了这里,关于使用uniapp开发微信小程序的微信支付流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序的微信登录流程

    目录 1、登录流程 2、wx.login 3、auth.code2Session 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。 🦅主页:@逐梦苍穹 🍔所属专栏:前端 📕您的一键三连,是我

    2024年02月22日
    浏览(45)
  • 【微信小程序】如何上传uniApp开发的微信小程序?

    微信开发者工具下载链接 Hbuilder X下载链接 扫码 选中账号 登录成功: ps: 如果之前没有权限但是已经登录此账号,需要在获取到权限后重新登录一次❗❗ ps: 不选中 运行时是否压缩代码 有可能代码包不包含插件大小过大,导致上传失败❗❗ 小程序性能优化指南 操作1 操作

    2024年02月09日
    浏览(108)
  • uniapp小程序微信支付流程

    微信支付(微信支付分为3大步)  1. 创建订单             1.1 组织订单的信息对象(包含三个参数)                   价格order_price,地址consignee_addr,商品信息goods            1.2 发起请求创建订单(调接口)            1.3 得到服务器响应的“订单编号”   2. 订

    2024年02月10日
    浏览(40)
  • uniapp开发的微信小程序如何上传至微信小程序平台-完整简单步骤

    这个id请登录微信小程序号   设置中查看 成功上传。 message:Error: 系统错误,错误码:80051,source size 3743KB exceed max limit 2MB  如果这样报错可以尝试分包或者减至2M以内。 分包方法参考此博文 uniapp如何分包 分包配置后无法读取static文件夹_谨言不言的博客-CSDN博客_uniapp 分包

    2024年02月16日
    浏览(68)
  • 【微信小程序支付功能】uniapp实现微信小程序支付功能

    场景 :要实现公司微信小程序的电商模块微信支付功能 一.实现步骤和思路 在登录状态,登录的时候获取到code,利用code获取到 openid: https://blog.csdn.net/weixin_45308405/article/details/128868377?spm=1001.2014.3001.5501 在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“微信支付

    2024年02月11日
    浏览(44)
  • 基于uniapp的微信小程序如何刷新页面(绝对有效)

    由于我的毕业设计就是用uniapp写的微信小程序。 碰到了这样的问题,查了许多资料,最终找到了这样的方法。 现在写出来给大家节约时间和精力。 就是用uni.redirectTo 实现页面跳转从而实现页面刷新 注意:这不能刷新tabBar页面 不要傻乎乎的用在tabBar上 跳转到tabBar页面只能使

    2024年02月11日
    浏览(42)
  • 基于SpringBoot+Vue+uniapp微信小程序的微信小程序书店的详细设计和实现

    💗 博主介绍 :✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅 👇🏻 2023-2024年最值得选的微信小程序毕业设

    2024年03月17日
    浏览(59)
  • 微信小程序支付流程

    申请微信支付,配置小程序秘钥,设置秘钥和下载证书,配置HTTPS服务器即可。 具体步骤 1、申请微信支付。小程序认证以后,可以在小程序后台,微信支付菜单栏,申请微信支付。填写企业信息和对公账户,微信支付会打一笔随机金额到对公账户,输入金额完成验证后,在

    2024年02月13日
    浏览(40)
  • 基于uniapp的微信小程序学生信息选课系统[源码+远程+答疑

     网站介绍:✌本网站专注专注于计算机技术领域的毕业设计辅导,提供JAVA、微信小程序、Python、APP、PHP、微服务、NET等毕设项目的定制和成品服务!✌         ✌IT实战营站长,拥有10年软件相关系统架构及教学经验,Java、大数据培训讲师,曾任公司技术总监;其与团队

    2024年01月24日
    浏览(71)
  • 微信小程序 实现支付流程

    开发微信小程序时,涉及到微信支付的开发环节,特此记录一下 官方注册地址👉👉:接入微信支付 - 微信商户平台 备注:此商户号为超级管理员,一般由更上级领导进行注册(     非前端人员注册    ),会成为公司收款账户,主要填写超管信息并上传企业资料(如:营业执

    2024年04月14日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包