/**

* 获取授权链接,首先调用此方法

* @return

*/

@GetMapping(value= "getOauthUrl")

public void getOauthUrl (HttpServletResponse response)throws IOException{

String url= "https://xxx.xxxx.vip/pay/weiXin.html?a=1";

String oauthUrl = WxPay.getWxOauthUrl( null, url);

response.sendRedirect(oauthUrl);

}

/**

* 根据 code 获取 openId

* @param code

* @return

*/

@PostMapping(value= "getWxOauthInfo")

public Result getWxOauthInfo (String code){

WxOauthInfo wxOauthInfo = WxPay.getWxOauthInfo(code);

returnResult.ok(wxOauthInfo);

}

/**

* 下单并获取请求参数

* @return

*/

@PostMapping(value= "jsApiPay")

public Result jsApiPay (Product product){

returnwxPayService.jsApiPay(product);

}

前台逻辑:

< th:inline="none">

var order = {};

var openId;

$( function{

var code = GetRequest['code'];

$.ajax({

url:"/pay/getWxOauthInfo",

type: "POST",

data: {'code':code},

success: function ( result){

openId = result.msg.openId;

}

});

});

function callPay{

$.ajax({

url:"/pay/jsApiPay",

data: {

productId:1,

body:"胡列娜精美手办",

totalFee:'1',

openId:openId

},

type: "POST",

success: function ( result){

if(result.code==0){

order = JSON.parse(result.msg);

order.openId = openId;

pay;

}

}

});

}

function pay{

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;

}

}

function onBridgeReady{

WeixinJSBridge.invoke('getBrandWCPayRequest',order, function( res){

//使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。

if(res.err_msg == "get_brand_wcpay_request:ok"){

//微信 自带 支付成功效果

}else if(res.err_msg == "get_brand_wcpay_request:cancel"){

alert("用户取消支付!");

}else if(res.err_msg == "get_brand_wcpay_request:fail"){

alert("支付失败!");

}

})

}

function GetRequest{

var url = location.search;

var theRequest = new Object;

if (url.indexOf("?") != -1) {

var str = url.substr(1);

strs = str.split("&");

for(var i = 0; i < strs.length; i ++) {

theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);

}

}

return theRequest;

} 演示

网址:https://pay.cloudbed.vip返回搜狐,查看更多

公众号支付成功后执行ajax,真香,微信公众号支付完整流程案例相关推荐

  1. 微信支付 支付成功后不跳转 ecshop微信支付 如下操作即可

    微信--订单处理页: <?php     include("WxPayPubHelper.php");     //使用jsapi接口     $jsApi = new Js ...

  2. 该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定,Java微信公众号开发消息推送公众号用户绑定问题 的解决办法

    问题概述 在进行微信公众号开发的时候遇到的这个问题,通过Web开发公众号的模板消息推送,在调试的过程中,需要进行开发者接口联调&调试,在调试之前需要将当前的公众号与用户的微信号进行绑定, 绑定 ...

  3. 微信扫码支付成功后跳转

    微信扫码支付成功后跳转 问题描述 微信官方提供的示例中支付扫码页只有二维码图,支付成功后没有任何交互为了更好的用户体验希望扫码支付成功后自动跳转到支付成功页. 解决方案 通过setInterval定时 ...

  4. H5的jsapi微信支付:wx.chooseWXPay,ios手机在支付成功后不执行success中的回调函数

    对于iOS客户端支付成功后不进入chooseWXPay函数success的问题原因是:目前没有得到解答 临时解决方案: 支付成功后,安卓和iOS的返回都是{"errMsg":&qu ...

  5. php 公众号微信支付流程,微信公众号支付完整流程案例

    简介 微信公众号支付,顾名思义就是必须在微信中实现支付,并且需要公众号配合. 教程 由于我们使用的是第三方封装好的接口,这里省去了我们自己配置公众号.为什么用第三方?因为个人没有申请权限. 交互细节: ...

  6. 微信支付回调页面html,微信JSAPI支付成功后获取回调数据

    微信JSAPI公众号支付是素材火群主提供的,支付成功后跳转到订单详情页,里面是微信支付成功后回调的数据,由第三方微信支付平台定时请求获取. 下载资源 下载积分: 780 积分 回调地址notify.p ...

  7. php jsapi支付没有走回调,微信支付成功没有执行回调路径

    微信支付成功了,但是发现微信支付成功后竟然没有执行回调方法,现在自己尝试了以下几种方法反复下单测试都没有执行到回调方法,所以想求助大神给点方法,谢谢了. 注意:那些要回复我:"官方api说得 ...

  8. 支付宝支付成功后要重新登录问题解决小记

    问题: 项目A使用项目B的支付宝配置信息,支付成功后,进入到了回调地址中,回调地址中的业务处理代码页执行成功,但是在跳转到商户页面时,跳转到非指定页面(如登录页面)或跳转到指定页面但是要求登录. 原因 ...

  9. PHP处理微信支付成功后的回调处理

    PHP处理微信支付成功后的回调处理 微信支付成功后我们可通过设置的回调地址中来处理 public function wx_notify(){$xml = file_get_contents(" ...

最新文章

  1. 017-平衡二叉树(三)
  2. 机房管理系统——vb与excel链接2
  3. Ubuntu 16.04下使用VMware安装CentOS 6.9然后在里面再安装KVM之后配置网桥无法上网的问题...
  4. 【附代码】如何在私有链上编写、部署与以太坊进行交互的智能合约
  5. 入门 | 32 个常用 Python 实现
  6. 语言余一个负数_C语言学习日记(8)——整数溢出
  7. webstorm遇到的问题
  8. Redis持久化-深入理解AOF,RDB
  9. 软件测试面试-在工作中功能,接口,性能,自动化的占比是多少?
  10. Mysql 数字类型转换函数
  11. java文件名中不能包含的字符,使用Java 7编写包含非英语字符的文件名时,zip条目不正确...
  12. Swift 拷贝文件夹,实现文件夹内容整体复制
  13. anaconda-ks.cfg详解
  14. linux下解压bin文件怎么打开方式,安卓手机如何打开.bin文件?
  15. 基于cat12和SPM12进行SBM数据分析笔记
  16. 推荐 五个单变量时间序列数据集
  17. 遥感资源大放送(下)| 11 个经典遥感数据集
  18. python中def func是什么意思_python中的函数def和函数的参数
  19. python ppt 图片_Python批量导出多个PPT\/PPTX文件中每个幻灯片为独立JPG图片
  20. 算法基础篇-05-排序-LowB三人组(冒泡/选择/插入排序)

热门文章

  1. vue.js——ElementUI表单向后台提交FormData数据
  2. 《磨菇书三四章整理》
  3. Linux之setenv()/getenv()设置/获取环境变量
  4. php微信二维码签到墙互动,微久信微信墙2017全新版本教程第二篇:微信签到/扫码3D签到/微信手绘签到...
  5. c#汉字转拼音(GBK,GB2312)
  6. Android内存泄漏分析
  7. nexus4刷android ONE,牛!Nexus4刷入Ubunu Touch和安卓双系统
  8. 【XBL 无法开机问题】【工位机调试】sdm660 XBL阶段,绕过电池在位检测,强制启动
  9. 网络安全之日志服务器的建立
  10. Ubuntu18.04 安装最新版WPS