今天说一下uniapp实现多端支付,涉及微信公众号,小程序,APP,支付宝APP,支付宝h5支付,多端支付

有疑问可以留言

//点击支付的按钮goPay() {let userId = this.$queue.getData('userId');uni.showLoading({title: '支付中'});//在data里面自己定义if (this.openWay === 0) { //微信支付let that = this;//微信小程序支付,请求后台接口,传对应参数,// #ifdef MP-WEIXINthis.$Request.postJson('/pay/wxPay?payNum=' + this.payNum + '&userId=' + userId + '&payMoney=' + this.payMoney).then(res => {//调用api接口 传入对应参数 支付uni.requestPayment({provider: 'wxpay',timeStamp: res.timeStamp,nonceStr: res.nonceStr,package: res.package,signType: res.signType,paySign: res.paySign,success: function(res) {uni.showLoading({title: '支付成功'});uni.hideLoading();setTimeout(() => {uni.redirectTo({url: '../my/myList'});}, 1000);},fail: function(err) {uni.hideLoading();that.$queue.showToast('支付失败');}});});// #endif// #ifdef H5//公众号支付this.$Request.postJson('/pay/wxPayWeb?payNum=' + this.payNum + '&userId=' + userId + '&payMoney=' + this.payMoney).then(res => {//请求公众号方法that.callPay(res);});// #endif// #ifdef APP-PLUSthis.$Request.postJson('/pay/wxPayApp?payNum=' + this.payNum + '&userId=' + userId + '&payMoney=' + this.payMoney).then(res => {console.log(JSON.stringify(res))this.setPayment('wxpay', JSON.stringify(res));});// #endif} else if (this.openWay === 1) { //支付宝支付// #ifdef H5this.$Request.getT('/aliPay/payH5?payNum=' + this.payNum + '&userId=' + userId + '&payMoney=' + this.payMoney).then(res => {const div = document.createElement('div')div.innerHTML = res.data //此处form就是后台返回接收到的数据document.body.appendChild(div)document.forms[0].submit()});// #endif// #ifdef APP-PLUSthis.$Request.getT('/aliPay/payApp?payNum=' + this.payNum + '&userId=' + userId + '&payMoney=' + this.payMoney).then(res => {this.setPayment('alipay', res.data);});// #endif} else if (this.openWay === 2) { //零钱支付 自己开发的 忽略if (this.lingqian > 0) {this.$Request.getT('/orders/changePay?ordersId=' + this.id).then(res => {if (res.status === 0) {uni.hideLoading();this.$queue.showToast('支付成功');setTimeout(function() {uni.hideLoading();uni.redirectTo({url: './myList'});}, 1000);} else {uni.hideLoading();this.$queue.showToast(res.msg);}});} else {this.$queue.showToast('零钱余额为空,请前往微信打开进行支付');}} else if (this.openWay === 3) { //零钱支付if (this.total > 0) {this.$Request.getT('/orders/jiFenPay?ordersId=' + this.id).then(res => {if (res.status === 0) {uni.hideLoading();this.$queue.showToast('支付成功');setTimeout(function() {uni.hideLoading();uni.redirectTo({url: './myList'});}, 1000);} else {uni.hideLoading();this.$queue.showToast(res.msg);}});} else {this.$queue.showToast('积分余额为空!');}}},//公众号支付处理方式callPay: function(response) {if (typeof WeixinJSBridge === "undefined") {if (document.addEventListener) {document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(response), false);} else if (document.attachEvent) {document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(response));document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(response));}} else {this.onBridgeReady(response);}},//公众号支付处理方式onBridgeReady: function(response) {let that = this;if (!response.package) {return;}WeixinJSBridge.invoke('getBrandWCPayRequest', {"appId": response.appid, //公众号名称,由商户传入"timeStamp": response.timestamp, //时间戳,自1970年以来的秒数"nonceStr": response.noncestr, //随机串"package": response.package,"signType": response.signType, //微信签名方式:"paySign": response.sign //微信签名},function(res) {if (res.err_msg === "get_brand_wcpay_request:ok") {// 使用以上方式判断前端返回,微信团队郑重提示://res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。uni.showLoading({title: '支付成功'});setTimeout(function() {uni.hideLoading();uni.redirectTo({url: './myList'});}, 1000);} else {uni.hideLoading();}WeixinJSBridge.log(response.err_msg);});},//APP统一拉起支付方法setPayment(name, order) {let that = this;uni.requestPayment({provider: name,orderInfo: order, //微信、支付宝订单数据success: function(res) {uni.hideLoading();uni.showLoading({title: '支付成功'});//处理支付成功 跳转页面setTimeout(function() {uni.hideLoading();uni.redirectTo({url: '../member/orderdetail?id=' + that.id});}, 1000);},fail: function(err) {uni.hideLoading();console.log(12)}});}

uniapp如何实现多端支付?支付宝微信支付相关推荐

  1. 微信支付宝服务器在哪里,支付宝支付与微信支付服务端回调notify_url数据的区别...

    这两天优化了一下支付宝支付和微信支付订单回调的问题,之前我们的订单都是用手动回调给服务器,现在改成支付宝和微信原生的异步回调,结果并没有像我们想象的那么简单,支付宝是很顺利的解决回调,用一般的方式接收 ...

  2. 使用uniapp开发字节跳动小程序的微信支付和支付宝支付(后端PHP,tp5)

    使用uniapp开发字节跳动小程序的微信支付和支付宝支付(后端PHP,tp5) 准备工作 微信支付配置 支付宝支付配置 字节跳动配置 1,微信支付配置: 开通微信支付的h5支付,关联APPID,保存k ...

  3. vue 微信公众号支付接口_基于vue的h5项目之支付宝支付与微信支付

    本文仅记录基于vue开发h5项目过程中使用支付宝和微信支付过程中的重点与槽点,仅为前端部分,如有疏漏不正之处,请于文末评论探讨.注意:标红部分灰常重要,仔细阅读官方文档非常重要,耐心非常重要,细心非常 ...

  4. H5接入支付流程-微信支付支付宝支付

    业务场景: H5对接微信支付和支付宝支付,app无法发版,需要支持在app内和浏览器内同时使用. 于是借此机会对前端接入对第三方支付进行了调研,本次只讨论微信支付,和支付宝支付. 微信支付 文档地址: ...

  5. MongoDB Ubuntu安装 APP 支付宝微信支付

    mongo安装: 1.apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 2.echo "deb ht ...

  6. 【安卓学习之第三方库】 Rxpay学习:支付宝微信支付

    █ [安卓学习之第三方库] Rxpay学习:支付宝微信支付 █ 相关文章: [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) [安卓学习之第三方库] 消息 ...

  7. 支付宝支付和微信支付的记录和总结

    支付宝支付和微信支付的记录和总结 1. 支付宝支付的记录 1.没装支付宝app点击支付功能会调起h5支付页面,比微信方便. 2.支付结果会调直接在同一个函数内非常方便. 2.微信支付记录 1.支付调不 ...

  8. Android怎么集成支付宝支付和微信支付功能(上)

    看到网上写支付的文章不多,又有感于许多资料和官网内容中到处都有坑,填过坑的我决定让支付简单点(想起了我当初到处找资料的情景,唉,心累).为便于浏览,分为支付宝支付和微信支付上下两篇.看官请看..... ...

  9. 云炬Android开发笔记 13购物车,订单,支付功能开发(包含支付宝支付和微信支付)

    阅读目录 1.购物车UI编写 1.1 购物车布局  1.2 recycleView中的item的布局 2. 购物车数据结构分析.解析与转化 2.1 解析的数据 2.2 数据的转化 2.3 数据适配器的 ...

  10. pay-spring-boot 开箱即用的Java支付模块,整合支付宝支付、微信支付

    关于 使用本模块,可轻松实现支付宝支付.微信支付对接,从而专注于业务,无需关心第三方逻辑. 模块完全独立,无支付宝.微信SDK依赖. 基于Spring Boot. 依赖Redis. 我能做什么 支付宝 ...

最新文章

  1. 正则表达式 右上角加号_最全正则表达式讲解实战,附源码,敲一遍学会
  2. c++ STL 常用容器元素类型相关限制 指针 引用
  3. python 列表多行_Python Pandas list列表数据列拆分成多行的方法实现
  4. 直播预告 | 第四范式2021发布会技术分论坛报名开启,6月23日线上见
  5. 记一次CentOS Install Docker 报错
  6. .net 测试工具类
  7. Meteor项目实战 -- Next 0.0.2
  8. 思科3560交换机端口限速
  9. Apache Spark 完全替代传统数仓的技术挑战及实践
  10. 【恩智浦杯(飞思卡尔)全国大学生智能汽车竞赛】解读部分北科技术报告图像处理内容(点到为止)
  11. Fluent Meshing的workflow方法
  12. 基于TCP协议的游戏代理接口测试工具<二>:工具架构与代理主体实现
  13. 2019-9-2-win10-uwp-切换主题
  14. ubuntu 20 安装 velodyne_simulator
  15. 湫湫系列故事——减肥记Ⅰ
  16. Linux磁盘与目录的容量、连结档
  17. 纯文科生学计算机编程难度大不大
  18. Cinema 4D(一):初识C4D
  19. 学习QT之图形视图实例#-飞舞的蝴蝶
  20. 达梦数据库在linux下的安装步骤

热门文章

  1. Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)最强详细攻略
  2. 使用ffmpeg和sdl播放视频实现时钟同步
  3. 移动windows桌面文件夹
  4. SQL数据库插入、修改、删除及删除表中数据操作示例(insert、update)
  5. ZZULIOJ--探姬环游世界
  6. Qt基础之十:使用QVariant存储自定义类型
  7. Latex参考文献斜体变正体方法
  8. json过滤某些属性之@JsonIgnore
  9. 【JavaScript】------- JavaScript 文件大小转换,字节转换成K、M、G、T 单位
  10. 台积电3nm制程获突破,马斯克放弃加入推特董事会,国产游戏版号重新下发,今日更多大新闻在此...