在做公众号商城的时候,需要用到调用微信支付,这是微信官方文档教程

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6,详细描述了怎么调起微信支付,以下代码是我的实际业务调用微信支付完整流程

到订单页面点击提交订单按钮,此时点击事件先向后台发个请求,公司的后端人员通过代码去对接微信的系统,生成一个预订单,然后返回一个prepay_id,具体可以看官方文档里边的业务流程图。在我们刚才向接口发送请求以后,后端会把信息返回给我们,包括appId、timeStamp、nonceStr、package、signType这个值。这些值都是我们调起微信支付必须的。

代码如下:

            this.getFetch("公司后端提供的接口", data).then(res => {
if (res.data.code * 1 === 1) {
function onBridgeReady() {
WeixinJSBridge.invoke(
"getBrandWCPayRequest", {
appId: res.data.data.jsApiId, //公众号名称,由商户传入
timeStamp:res.data.data.timestamp, //时间戳,自1970年以来的秒数
nonceStr: res.data.data.nonceStr, //随机串
package: res.data.data.package,
signType: res.data.data.signType, //微信签名方式:
paySign: res.data.data.paySign //微信签名
},
wxResponse => {
if (wxResponse.err_msg == "get_brand_wcpay_request:ok") {
window.location.href = window.location.origin + "/couponPaySuccess?ordernum=" + res.data.data.id;
}
if (wxResponse.err_msg == "get_brand_wcpay_request:fail") {
_this.$toast("支付失败");
}
if (wxResponse.err_msg == "get_brand_wcpay_request:cancel") {
_this.$toast("支付取消");
}
}
);
}
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener(
"WeixinJSBridgeReady",
onBridgeReady,
false
);
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", onBridgeReady);
document.attachEvent(
"onWeixinJSBridgeReady",
onBridgeReady
);
}
} else {
onBridgeReady();
}
} else if (res.data.code * 1 === -1) {
this.autoLogin();
} else {
this.$toast(res.data.msg);
this.wxBtn=true;
} });

微信内h5调用支付的更多相关文章

  1. Java微信公众平台开发之公众号支付(微信内H5调起支付)

    官方文档点击查看准备工作:已通过微信认证的公众号,必须通过ICP备案域名(否则会报支付失败)借鉴了很多大神的文章,在此先谢过了 整个支付流程,看懂就很好写了 一.设置支付目录 在微信公众平台设置您的公 ...

  2. vue 微信内H5调起支付

    在微信内H5调起微信支付,主要依赖于一个微信的内置对象WeixinJSBridge,这个对象在其他浏览器中无效. 主要代码: import axios from 'axios'; export def ...

  3. 微信接口出现“调用支付jsapi缺少参数appid”

    微信接口出现“调用支付jsapi缺少参数appid” 注意:@Html.Raw(ViewBag.wxJsApiParam),//json串ViewBag.wxJsApiParam是一个在后台拼的一个j ...

  4. 微信公众号内H5调用微信支付国内服务商模式

    最近在折微信公众号内H5用JSAPI调用微信支付,境内服务商版支付,微信支付给出的官方文档以及SDK不够详细,导至我们走了一些弯路,把他分享出来,我这边主要是用PHP开发,所以未加说的话示例都是PHP ...

  5. 微信支付-公众号支付H5调用支付详解

    微信公众号支付 最近项目需要微信支付,然后看了下微信公众号支付,,虽然不难,但是细节还是需要注意的,用了大半天时间写了个demo,并且完整的测试了一下支付流程,下面分享一下微信公众号支付的经验. 一. ...

  6. 微信内 H5 页面自定义分享

    起源: 最近公司在做一个活动的h5页面,在微信内打开时需要进行微信授权,然后后端会重定向到这个页面并且携带了一些参数(openid等).问题是点击微信的原生分享时,会把携带的这些参数一起分享出去,等于 ...

  7. java微信小程序调用支付接口(转)

    简介:微信小程序支付这里的坑还是有的,所以提醒各位在编写的一定要注意!!! 1.首先呢,你需要准备openid,appid,还有申请微信支付后要设置一个32位的密钥,需要先生成一个sign,得到pre ...

  8. java微信小程序调用支付接口

    简介:微信小程序支付这里的坑还是有的,所以提醒各位在编写的一定要注意!!! 1.首先呢,你需要准备openid,appid,还有申请微信支付后要设置一个32位的密钥,需要先生成一个sign,得到pre ...

  9. 【weixi】微信支付---微信公众号JSAPI支付

    一.JSAPI支付 JSAPI支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付.应用场景有: ◆ 用户在微信公众账号内进入商家公众号,打 ...

  10. 【第二十篇】C#微信H5支付 非微信内浏览器H5支付 浏览器微信支付

    微信开发者文档 微信H5支付官方文档   请阅读清楚  最起码把所有参数看一遍 这个地方也可以看看 微信案例 http://wxpay.wxutil.com/mch/pay/h5.v2.php,请在微 ...

随机推荐

  1. ArcGIS工具 - 导出数据库结构

    为了保证数据的一致性,数据库结构的正确性在数据库建设和管理过程中显示十分重要,在各个地理信息类项目的技术规定中都对空间数据库的结构进行明确和详细的定义,有时为了方便检查或文档编辑需要将数据结构导出,为 ...

  2. 解决xcode每次编译都需要输入用户名和密码

    MacOS:11.1 Xcode:12.3 一.打开你的 钥匙串, 如果不知道  打开你的 spotlight搜索 工具 ,输入"钥匙串" 二.登录--->iPhone de ...

  3. Earthdata批量下载MODIS遥感影像的方法

      本文介绍在Earthdata网站中,批量下载MODIS遥感影像的方法.   首先,打开网页:https://search.earthdata.nasa.gov/search ,如果没有Earthd ...

  4. 逐步讲解如何在 Proteus 中新建工程

    前言 Proteus 新建工程虽然不难,但对于电子小白来说可能便成了学习路上的绊脚石,本篇我将逐步讲解如何在 Proteus 中新建工程. 最新版 Proteus 8.15 最新版 Proteus 8 ...

  5. 解决微信小程序 自定义tabBar 切换时候闪烁问题

    这个闪烁真的很迷 我搜了一些资料,进行了以下步骤的操作 第一种解决办法 ,把tabbar自定义组件的this.setData中的代码注释掉 显示tabbar中的页面中,添加下面的:这个好像没什么用啊 ...

  6. 假如你想在VUE的main.js里根据条件按需引入注册组件以及样式,那就这样子写,附赠自己写的vue一个框架配置多系统按需加载系统路由以及组件办法

    假如你想在VUE的main.js里根据条件按需引入注册组件以及样式,那就这样子写 举例来说我想要引入大屏的一些组件,但是原来框架已经集成了多个项目,路由也是按需加载的,想要实现组件按需加载 先在mai ...

  7. 登山(等级考试4级 测试卷 T1)

    这道题目与 重启系统(等级考试4级 2021-03 T4)重启系统(等级考试4级 2021-03 T4) - 王浩泽 - 博客园 (cnblogs.com) 非常相似,于是乎呢就在这个程序上面改一改就 ...

  8. Solon2 开发之容器,八、动态代理的本质

    在 Java 里动态代理,主要分:接口动态代理 和 类动态代理.因为它的代理类都是动态创建的,所以名字里会带上"动态". 官网的有些地方叫"代理",也有些地方叫 ...

  9. Vue14 条件渲染

    转:https://blog.csdn.net/weixin_57519185/article/details/121168426 1 简介 通过指令v-show和v-if可以实现条件渲染. 它们都能 ...

  10. 深度优先搜索算法-dfs讲解

    迷宫问题 有一个迷宫: S**. .... ***T (其中字符S表示起点,字符T表示终点,字符*表示墙壁,字符.表示平地.你需要从S出发走到T,每次只能向上下左右相邻的位置移动,不能走出地图,也不能 ...