H5在(支付宝和微信环境)使用支付
首先是在支付宝浏览器环境 使用支付宝支付
参考链接 https://myjsapi.alipay.com/jsapi/native/trade-pay.html
支付宝订单字符串唤起支付 调用支付宝浏览器环境内置Api window.AlipayJSBridge.call("tradePay"
window.AlipayJSBridge.call("tradePay", {
orderStr: dataList.message.orderStr // 支付订单信息
}, function(result) {
// 支付成功回调判断
if(result.resultCode == 9000) {
uni.navigateTo({
url:'/pages/pay_order/succee?price=' + that.orderInfo.total
})
}else {
console.log('支付失败')
}
});
H5 微信支付 这里使用是的 jsApi WeixinJSBridge.invoke
不需要通过wx.config配置接口信息,在微信浏览器内,可以直接使用
// 下面是解决WeixinJSBridge is not defined 报错的方法
//wxInfo 是掉后台接口获取的支付配置信息
let that = this
if (typeof WeixinJSBridge === 'undefined') { // 微信浏览器内置对象。参考微信官方文档
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', that.onBridgeReady(wxInfo), false)
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', that.onBridgeReady(wxInfo))
document.attachEvent('onWeixinJSBridgeReady', that.onBridgeReady(wxInfo))
}
} else {
// alert("225",JSON.stringify(data))
that.onBridgeReady(wxInfo,that.realPrice)
}
// 微信支付
onBridgeReady (data) {
let that = this
WeixinJSBridge.invoke(
'getBrandWCPayRequest', { // 下面参数内容都是后台返回的
'appId': data.appId, // 公众号名称,由商户传入
'timeStamp': data.timeStamp, // 时间戳
'nonceStr': data.nonceStr, // 随机串
'package': data.package, // 预支付id
'signType': data.signType, // 微信签名方式
'paySign': data.paySign // 微信签名
},
function (res) {
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
if (res.err_msg =="get_brand_wcpay_request:ok") {
uni.showToast({
title: '支付订单成功',
icon: 'none'
});
uni.navigateTo({
url:'/pages/pay_order/succee?price=' + that.orderInfo.total
})
} else {
alert('支付失败')
}
}
)
},
支付宝支付 这里后台返回form表单 将接口返回的form表单显示到页面
document.querySelector('body').innerHTML = dataList.data.aliPaySign.form
//调用submit方法
document.forms[0].submit()
支付完成以后,需要后台设置回调地址,跳回我们这边的成功界面
搜索
复制
H5在(支付宝和微信环境)使用支付的更多相关文章
- spring_boot_pay支付宝,微信,银联支付详细代码案例
spring-boot-pay 支付服务:支付宝,微信,银联详细代码案例(除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项 . 友情提示 ...
- wap站、手机APP 接入支付宝、微信、银联支付。
一.wap站 ①.支付宝接入 1.开发前准备:申请一个通过实名认证的企业支付宝账号,并申请开通手机WAP支付功能. 2.流程 参数准备: 企业支付宝账号的PID(也叫ParnerID)和KEY,如果使 ...
- JAVA支付宝和微信(APP支付,提现,退款)
公共参数图表: 接口 需要参数 通知方式 支付宝APP支付 应用公钥,应用私钥 异步 支付宝APP提现 应用公钥,应用私钥,支付宝公钥 同步 支付宝APP退款 应用公钥,应用私钥,支付宝公 ...
- iOS支付宝,微信,银联支付集成封装调用(下)
一.越来越多的app增加第三方的功能,可能app有不同的页面但调用相同的支付方式,例如界面如下: 这两个页面都会使用第三方支付支付:(微信,支付宝,银联)如果在每一个页面都直接调用第三方支付的接口全部 ...
- iOS支付宝,微信,银联支付集成封装(上)
一.集成支付宝支付 支付宝集成官方教程https://docs.open.alipay.com/204/105295/ 支付宝集成官方demo https://docs.open.alipay.com ...
- 【移动支付】.NET微信扫码支付接入(模式二-NATIVE)
一.前言 经过两三天的琢磨总算完成了微信扫码支付功能,不得不感叹几句: 微信提供的DEMO不错,直接复制粘贴就可以跑起来了: 微信的配置平台我真是服了.公众平台.商户平台.开放平台,一个平 ...
- Android H5调起原生微信或支付宝支付
Android H5调起原生微信或支付宝支付 WebView调用原生微信或支付宝回调:其原理就是在shouldOverrideUrlLoading(final WebView view, String ...
- H5 网站支付宝支付(前端部分)包含微信浏览器中的处理方法。
手机网站唤起支付宝支付: H5 网站实现支付宝支付是一个很常见的需求: 实现方式主要是在后台配置和预支付, 前端需要做的就是唤起 支付宝App 然后就可以输入密码支付. 这个其实难度很低, 主要就是在 ...
- IOS 支付宝、微信回调传值给H5网页
这里用是的苹果原生和JS的交互 .有不明白JavaScriptCore框架的可以去网上搜索下这方面的资料很多废话不多说直接上代码 @protocol JSContextDelegate <JSE ...
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
随机推荐
- mybatis_pagehelper_selectOne的SQL语句被莫名的增加分页相关设置,暂定解决办法
在使用mybatis.以及其分页插件pagehelper时,原本的一个selectOne的sql语句被莫名(原因未知)的加上了分页相关,引起如下异常: exception is org.apache. ...
- vue 复制功能
实现: let message = ` ${name} 电话:${item.phone} 部门:${item.department} 职务: ${item.post} 邮箱:${item.email} ...
- 安装 deepin linux 系统、linux 使用记录
安装 deepin 深度linux系统 官网:https://www.deepin.org/zh/ 包含了下载ios镜像和安装教程: 最新版本:https://www.deepin.org/zh/do ...
- 深入理解webpack的chunkId对线上缓存的思考(转载)
转载自https://juejin.cn/post/6844903924818771981#heading-6 作者:Kimm 想必经常使用基于webpack打包工具的框架的同学们,无论是使用Rea ...
- CentOS7.6下安装MySql和Redis
安装的MySQL为5.7版本1.下载安装官方的Yum Repository [root@localhost ~]# wget http://dev.mysql.com/get/mysql57-comm ...
- Linux系统Shell脚本第一章:Shell脚本基础及时间同步
目录 一.Shell脚本基础 1.Shell作用 2.什么是Shell脚本及处理逻辑 3.shell脚本基本格式 4. shell脚本执行方式 5.实操演示 二.Shell脚本中的变量 1.变量的作用 ...
- redisTemplate类学习及理解
List<Object> list = masterRedisTemplate.executePipelined((RedisCallback<Long>) connectio ...
- VSCode 修改终端显示字体 字体间隔过大
参考链接: https://code84.com/172442.html
- 数位dp( tzoj6061:Bomb-求49个数;tzoj1427: 不要62)
6061:http://www.tzcoder.cn/acmhome/problemdetail.do?method=showdetail&id=6061 dfs记忆化搜索 #include& ...
- 思科数据中心CCIE v3.0考试内容
考试内容: CCIE DC LAB V3.0 考试内容 1 Design 30 + 选择,拖图及勾选题 2 Deploy&Operate&Optimize 1 套 含3部分 备考安排: ...