下载地址 https://gitee.com/zscat/mallplus

1.uniapp 接入各种h5支付

// 用户点击支付方式处理async toPayHandler(code) {let params = {'orderId':this.orderId};let data = {payment_code: code,payment_type: this.type}data['orderId'] = (this.type == 1 || this.type == 5 || this.type == 6) ? this.orderId : this.uidswitch (code) {case 'alipay':/*** 支付宝支付需要模拟GET提交数据*/if (this.type == 1 && this.orderId) {data['params'] = {trade_type: 'WAP',return_url: baseUrl +'wap/#/pages/order/payment/result'}} else if (this.type == 2 && this.recharge) {data['params'] = {money: this.recharge,return_url: baseUrl + 'wap/#/pages/order/payment/result'}} else if ((this.type == 5 || this.type == 6) && this.recharge) {data['params'] = {orderId: this.orderId}}let res = await Api.apiCall('get',Api.order.aliWapPay,params);console.log('============================')console.log(res);console.log('success:' + JSON.stringify(res));if (res) {document.body.appendChild(JSON.stringify(res))let testForm = document.getElementsByName('punchout_form')testForm.dispatchEvent(new Event('submit'))console.log(tempForm);testForm.submit()document.body.removeChild(testForm)}breakcase 'wechatpay':/*** 微信支付有两种* 判断是否在微信浏览器*   微信jsapi支付*/let isWeiXin = this.$common.isWeiXinBrowser()if (isWeiXin) {var transitUrl =baseUrl +'wap/#/pages/order/payment/auth?order_id=' +this.orderId +'&type=' +this.type;if (this.type == 1 && this.orderId) {data['params'] = {trade_type: 'JSAPI_OFFICIAL',url: transitUrl}} else if (this.type == 2 && this.recharge) {data['params'] = {trade_type: 'JSAPI_OFFICIAL',money: this.recharge,url: transitUrl + '&uid=' + this.uid + '&money=' + this.recharge}} else if ((this.type == 5 || this.type == 6) && this.recharge) {data['params'] = {orderId: this.orderId}}let res = await Api.apiCall('get',Api.order.webPay,params);console.log(res);if (res) {const data = res.datathis.checkWXJSBridge(data)}else{window.location.href = res.msgreturn;}} else {// 微信 H5支付if (this.type == 1 && this.orderId) {data['params'] = {trade_type: 'MWEB',return_url: baseUrl +'wap/#/pages/order/payment/result'}} else if (this.type == 2 && this.recharge) {data['params'] = {trade_type: 'MWEB',money: this.recharge,return_url: baseUrl + 'wap/#/pages/order/payment/result'}} else if ((this.type == 5 || this.type == 6) && this.recharge) {data['params'] = {orderId: this.orderId}}console.log(data);// 微信h5支付let res = await Api.apiCall('get',Api.order.wapPay,params);console.log(res);if (res) {if (res) {location.href = res} else {this.$common.errorToShow(res)}}}breakcase 'balancepay':/***  用户余额支付**/if ((this.type == 5 || this.type == 6) && this.recharge) {data['params'] = {orderId: this.orderId}}let params1 = {'orderId':this.orderId};let data1 = await Api.apiCall('post',Api.order.balancePay,params1);console.log(data1)if (data1) {uni.redirectTo({url: '/pages/order/payment/result?order=' + JSON.stringify(data1)})}else {this.$api.msg('余额支付失败');}breakcase 'offline':/*** 线下支付*/this.$common.modelShow('线下支付说明','请联系客服进行线下支付qq:951449465',() => {},false,'取消','确定')break}

2.uniapp支持各种微信环境的支付

// 用户点击支付方式处理async toPayHandler (code) {let params = {'orderId':this.orderId,payment_type: this.type};// 判断订单支付类型if (this.type == 2 && this.recharge) {}else if ((this.type == 5 || this.type == 6) && this.recharge) {}let _this = thisswitch (code) {case 'wechatpay':let res = await Api.apiCall('post',Api.order.weixinAppletPay,params);console.log(res);if (res) {uni.requestPayment({provider: 'wxpay',timeStamp: res.timeStamp,nonceStr: res.nonceStr,package: res.package,signType: res.signType,paySign: res.paySign,success: function (e) {if (e.errMsg === 'requestPayment:ok') {_this.$common.successToShow(res.msg, () => {_this.$common.redirectTo('/pages/order/payment/result?id=' + res.id)})}}});} else {this.$common.errorToShow(res.msg)}breakcase 'balancepay':/***  用户余额支付**/let params1 = {'orderId':this.orderId};let data1 = await Api.apiCall('post',Api.order.balancePay,params1);console.log(data1)if (data1) {uni.redirectTo({url: '/pages/order/payment/result?order=' + JSON.stringify(data1)})}else {this.$api.msg('余额支付失败');}breakcase 'offline':/*** 线下支付*/this.$common.modelShow('线下支付说明', '请联系客服进行线下支付', () => {},false, '取消', '确定')break}

3.uniapp支持app环境的支付方式

// 用户点击支付方式处理async toPayHandler (code) {let _this = thislet params = {'orderId':this.orderId};let data = {payment_code: code,payment_type: _this.type}data['ids'] = (this.type == 1 || this.type == 5 || this.type == 6) ? this.orderId : this.uidif ((this.type == 5 || this.type == 6) && this.recharge) {data['params'] = {trade_type: 'APP',formid: this.orderId}}switch (code) {case 'alipay':/*** 支付宝支付需要模拟GET提交数据*/if (_this.type == 1 && _this.orderId) {data['params'] = {trade_type: 'APP'}} else if (_this.type == 2 && _this.recharge) {data['params'] = {trade_type: 'APP',money: _this.recharge}}let res = await Api.apiCall('get',Api.order.aliAppPay,params);console.log(res);if (res) {uni.requestPayment({provider: "alipay",orderInfo: res,success: function(data){console.log(data);_this.$common.successToShow('支付成功', () => {_this.redirectHandler(res.data.payment_id)})}});} else {_this.$comon.errorToShow(res.msg)}breakcase 'wechatpay':// 微信 H5支付if (_this.type == 1 && _this.orderId) {data['params'] = {trade_type: 'APP'}} else if (_this.type == 2 && _this.recharge) {data['params'] = {trade_type: 'APP',money: _this.recharge}}// 微信app支付let res1 = await Api.apiCall('get',Api.order.appPay,params);if (res1) {// 调用微信支付uni.requestPayment({provider: "wxpay",orderInfo: res1,success: function(data){_this.$common.successToShow('支付成功', () => {_this.redirectHandler(data)})},fail:function(res){console.log(JSON.stringify(res));}});} else {_this.$common.errorToShow(res.msg)}breakcase 'balancepay':/***  用户余额支付**/let params1 = {'orderId':this.orderId};let data1 = await Api.apiCall('post',Api.order.balancePay,params1);console.log(data1)if (data1) {uni.redirectTo({url: '/pages/order/payment/result?order=' + JSON.stringify(data1)})}else {this.$api.msg('余额支付失败');}breakcase 'offline':/*** 线下支付*/_this.$common.modelShow('线下支付说明', '请联系客服进行线下支付',() => {}, false, '取消', '确定')break}},

4.uniapp支持各种 支付宝环境的支付方式

// 用户点击支付方式处理async toPayHandler (code) {let params = {'orderId':this.orderId};let data = {payment_code: code,payment_type: this.type}data['ids'] = (this.type == 1 || this.type == 5 || this.type == 6) ? this.orderId : this.uid// 判断订单支付类型if (this.type == 2 && this.recharge) {data['params'] = {money: this.recharge,trade_type: 'JSAPI'}} else if ((this.type == 5 || this.type == 6) && this.recharge) {data['params'] = {trade_type: 'JSAPI',formid: this.orderId}}else {data['params'] = {trade_type: 'JSAPI'}}let _this = this;switch (code) {case 'alipay':let res = await Api.apiCall('get',Api.order.webPay,params);console.log(res);if (res) {uni.requestPayment({provider: 'alipay',tradeNO:res.data.trade_no,success: function (e) {if (e.errMsg === 'requestPayment:ok') {_this.$common.successToShow(res.msg, () => {_this.$common.redirectTo('/pages/order/payment/result?id=' + res.data.id);});}}});} else {this.$common.errorToShow(res.msg);}breakcase 'balancepay'://用户余额支付let params1 = {'orderId':this.orderId};let data1 = await Api.apiCall('post',Api.order.balancePay,params1);console.log(data1)if (data1) {uni.redirectTo({url: '/pages/order/payment/result?order=' + JSON.stringify(data1)})}else {this.$api.msg('余额支付失败');}break;case 'offline'://线下支付this.$common.modelShow('线下支付说明', '请联系客服进行线下支付',() => {}, false, '取消', '确定')break;}}

下载 地址 https://gitee.com/zscat/mallplus​​​​​​​

关注公众号获取微服务版本下载和部署方式

uniapp 让支付触手可及,封装了微信支付、QQ支付、支付宝支付、京东支付、银联支付常用的支付方式以及各种常用的接口相关推荐

  1. 「开源系统」IJPay 让支付触手可及封装了微信支付宝等支付

    介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...

  2. 才发现!微信、QQ和支付宝还有这么好用的翻译功能,一键轻松翻译

    学习和工作中经常需要中英互译,对于英语不好的人说,只能借助浏览器一句句翻译,或者请教大神,但这两种方式要不就是太浪费时间,要不就是太麻烦别人,今天笔者就教大家,利用微信.QQ以及支付宝进行快速翻译,一 ...

  3. iOS9适配http,微信、qq、支付宝添加白名单

    : 一.网络适配由http改成https 苹果官方对App Transport Security Technote的解释如下: 翻译成中文的意思就是说:iOS9.0SDK在编译的时候,默认所有从NSU ...

  4. java跳转QQ支付宝_iApp跳转到QQ转账和微信支付界面,以及跳转个人QQ或者支付宝的AA支付...

    把下面的代码放入控件的点击事件中即可 不过要提醒大家记得更换成自己的支付连接哦! QQ转账 s qqpay="mqqapi://forward/url?url_prefix=aHR0cHM6 ...

  5. uni-app跨端开发H5、微信小程序、支付宝小程序遇到的坑

    文章目录 微信支付宝小程序通用功能 1.checkbox样式 2.分享功能 支付宝小程序参数 微信小程序参数 其他兼容问题 H5 微信小程序 支付宝小程序 持续更新中... 微信支付宝小程序通用功能 ...

  6. 一个Github项目搞定微信、QQ、支付宝等第三方登录

    今日推荐 推荐 7 个牛哄哄 Spring Cloud 实战项目 推荐一个非常火爆的电商开源项目! 推荐两个项目! 第三方登录是目前非常常用的登录方式,引入第三方登录的方式可以大大的降低开发的成本,同 ...

  7. android 11微信,QQ,支付宝无法调用的问题

    android 11系统升级后,检测手机是否存在微信,支付宝,QQ等三方应用 ,需要在项目的 AndroidManifest.xml 中添加以下代码,否则项目永远检测不出三方应用 <!-- An ...

  8. 微信、QQ、支付宝运动步数自定义小工具

    前言 冬天了,外面寒风刺骨,给不少朋友带来很多困扰 天冷.风大.下雪都不想出门,又想给蚂蚁森林浇水.捐步数怎么办~ 今天再次分享给你们一个可以在恶劣天气下偷偷懒的小工具,可以自由定义自己V.Q.ZFB ...

  9. Android探索之旅(第二十九篇)QRCode终极秘术之三码合一(微信,QQ,支付宝)

    然后就是傻瓜式操作 如果你感觉生产的二维码不够漂亮,你可以访问以下网址进行美化 官网地址

  10. 安卓项目不能调起微信,qq,支付宝

    在AndroidManifest.xml文件里, manifest标签里面加入如下标签(可供访问的第三方app的包名) <manifest> <queries><pack ...

最新文章

  1. PWA项目实战分享(听书APP)
  2. java怎么写隐藏bug_同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
  3. String字符串位置移动
  4. JavaScript学习(八)
  5. asterisk源码目录结构
  6. 辽师大计算机科学与技术专业怎么样,性价比很高的大学,辽师大的优势专业分析!家长请收藏...
  7. sublime c 语言 编译环境搭建,详解sublime搭建C/C++编译环境
  8. Java实用面试题及参考答案分享
  9. HDU - 3026 Chinese Chess(二分图的必经边)
  10. 复制linux内核,linux内核写时复制机制源代码解读
  11. 阿里开源分布式事务seata带你入门
  12. NetCore使用Jwtbearer给WebAPI添加访问控制
  13. C语言程序设计与有限元,C语言与有限元程序设计.pdf
  14. Java案例:汉诺塔问题
  15. linux安装配置java,Linux 安装配置 java 环境
  16. 奥特曼在银行里下象棋的梗
  17. 从王者荣耀看设计模式(五.组合模式)
  18. HDU 6599 I Love Palindrome String (回文树+hash)
  19. iOS开发之UIAlertController的使用
  20. 学习 Bootstrap 5 之 Forms

热门文章

  1. matlab太阳影子定位,基于MATLAB软件的太阳影子定位
  2. 大数据经典案例有哪些?
  3. matlab求出拟合曲线的方程,已知数据点,拟合曲线并得到曲线方程。谢谢
  4. sspanel 常用审计规则
  5. DDR等布线/走线需要等长的原因
  6. DBeaver - 一款免费开源的通用数据库工具
  7. php文件里搜索关键字,在PHP搜索脚本中突出显示关键字
  8. esp分区创建 linux_善用EFI系统分区ESP
  9. VS2015 Visual Assist X破解版安装、禁用、卸载方法
  10. 字符集,字体,编码,代码页,输入法