资讯专栏INFORMATION COLUMN

记录uni-app基础的安卓app添加微信支付功能

focusj / 1848人阅读

摘要:移动应用想要调用微信的支付功能,需要到微信开发平台申请创建移动应用,微信会给,拿到到中打开一个项目,添加对应的。当前端拿到值后调用即拉取微信支付弹窗付费。的搜一下就能出来,为后端返回的要传给微信的参数。

移动应用想要调用微信的支付功能,需要到微信开发平台申请创建移动应用,微信会给appid,拿到appid到HBuilderX中打开一个uni-app项目,添加对应的sdk。

在微信开发平台申请好的移动应用要开通微信支付功能,需将微信的商户号绑定到该移动应用上,这时候就需要注册微信商户号了,到微信商户平台。

注册好绑定移动应用的appid即可,接下来就是开发步骤。

大体步骤就是,Java后台代码给微信的统一下单接口发一个请求,拿到响应后返回给前端的app,app拿到响应后传给微信拉起微信支付弹窗,然后确认付款即可,至于使用者付的款会落到绑定的商户号上面。

微信会提供Java后端开发的一些工具代码,简要实现:后端组装一下请求参数:appid(移动应用id,微信开发平台申请到的),mch_id(商户号,商户平台申请的),nonce_str(随机字符串,Java自己生成的),body(一个字符串,用来描述该应用的作用,如:天天爱消除-游戏充值),out_trade_no(商户订单号,这个是公司后端自己生成的业务代码,用来标识哪一个用户充值的订单号),total_fee(订单金额),spbill_create_ip(调用微信支付api的机器ip),notify_url(接收微信支付异步通知回调地址),trade_type("APP",标识这次请求来源是啥),sign(签名)

这里最关键的就是这个签名,签名怎么生成呢:) 笔者这里遇到很多坑,上述那些参数都需要组装成Java map,关键就是sign这个字段需要依赖上述那个map按照key的ASCII码排序后组装成查询参数,然后在查询参数后面加上"&key=xxxxxxx",key是商户平台上的密钥,组装好后得到字符串str,将str通过md5算法加密后大写得到的字符串就是sign的值,然后将sign和其值放入参数的map中,将参数通过工具类方法发送给微信即可,微信拿到后会生成响应,这些响应需要给前端发给微信使用的,那微信响应怎么包装成前端发给微信的呢?

后端拿到微信正确的响应后,需要从其中取出一些字段,存在map中,然后包装成查询参数字符串加上key,再md5后大写,将获得的字符串放在map中,作为sign的属性值,最后将map返给前端即可,这里需要注意的是,不论是发给微信的参数,还是发给前端让前端发给微信的参数的每一个字段名都需要跟微信要求的一致。

当前端拿到值后调用

uni.requestPayment({
    provider: "wxpay",
    orderInfo: JSON.stringify(res),
    success(res) {},
    fail(err) {}
})

app即拉取微信支付弹窗付费。uni-app的api搜一下就能出来,res为后端返回的要传给微信的参数。

注意点
过程有点麻烦,拉支付弹窗很可能报-1的错误,几乎可以肯定是参数问题,不是后端传给微信的参数问题,就是前端传给微信的有问题,所以耐心点,肯定能做出来,收工。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76007.html

相关文章

  • 记录uni-app基础安卓app添加微信支付功能

    摘要:移动应用想要调用微信的支付功能,需要到微信开发平台申请创建移动应用,微信会给,拿到到中打开一个项目,添加对应的。当前端拿到值后调用即拉取微信支付弹窗付费。的搜一下就能出来,为后端返回的要传给微信的参数。 移动应用想要调用微信的支付功能,需要到微信开发平台申请创建移动应用,微信会给appid,拿到appid到HBuilderX中打开一个uni-app项目,添加对应的sdk。 在微信开发...

    GitCafe 评论0 收藏0
  • 关于uni-app一些看法。

    摘要:实际开发效果最近做了一款,打包了安卓,微信小程序个平台,产出的效果都还是不错,总体还是比较满意。建议如果你现在想做一款跨平台的产品,而且有和微信小程序的经验,最重要的,你不想学习一门新语言,那么也许是你的一个选择。 前言 最近前端最火热的话题无法就是flutter,不管是刷哪个论坛,必定有探讨flutter的文章。没用过flutter,但是对于跨平台的技术,最近一直都在研究。 为什么是...

    OldPanda 评论0 收藏0
  • uni-app官方教程学习手记

    摘要:当时下载了一个,下载了官方提供的示例教程。关于项目目录开发规范一定要遵守,直接通过官网学习即可。最后就是发布安卓包和苹果包了。我将自己做的第一个新闻列表新闻详情程序打包,安装到了安卓手机上测试了下,效果非常棒。 本人微信公众号:前端修炼之路,欢迎关注 背景介绍 大概在今年的十月份左右,我了解到Dcloud推出了uni-app。当时下载了一个Hbuilder X,下载了官方提供的hell...

    chanthuang 评论0 收藏0
  • uni-app官方教程学习手记

    摘要:当时下载了一个,下载了官方提供的示例教程。关于项目目录开发规范一定要遵守,直接通过官网学习即可。最后就是发布安卓包和苹果包了。我将自己做的第一个新闻列表新闻详情程序打包,安装到了安卓手机上测试了下,效果非常棒。 本人微信公众号:前端修炼之路,欢迎关注 背景介绍 大概在今年的十月份左右,我了解到Dcloud推出了uni-app。当时下载了一个Hbuilder X,下载了官方提供的hell...

    miracledan 评论0 收藏0
  • uni-app官方教程学习手记

    摘要:当时下载了一个,下载了官方提供的示例教程。关于项目目录开发规范一定要遵守,直接通过官网学习即可。最后就是发布安卓包和苹果包了。我将自己做的第一个新闻列表新闻详情程序打包,安装到了安卓手机上测试了下,效果非常棒。 本人微信公众号:前端修炼之路,欢迎关注 背景介绍 大概在今年的十月份左右,我了解到Dcloud推出了uni-app。当时下载了一个Hbuilder X,下载了官方提供的hell...

    bovenson 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<