场景:

公众号A是主体,公众号B、C、D等进行JSAPI 支付时,最终都是进入到A的商户号。

问题:

他们的openId都是不一样的,存在冲突问题

解决:

获得用户在公众号A下的openId

微信官方地址: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_4

    /*** 微信授权获取code* @param response* @throws IOException*/@RequestMapping(value = "/getCode", produces = {"application/json;charset=UTF-8"}, method = RequestMethod.GET)public void getCode(HttpServletResponse response) throws IOException {response.sendRedirect(getCodeRequest());}public static String  GetCodeRequest = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect";public static String getCodeRequest(){String result = null;GetCodeRequest  = GetCodeRequest.replace("APPID", urlEnodeUTF8(WxpayConfig.appid));//授权回调地址weixin/t1/callBack处理code获取openIdGetCodeRequest  =                 GetCodeRequest.replace("REDIRECT_URI",urlEnodeUTF8("http://xxxxxx/weixin/t1/callBack"));//不弹出微信授权页面:scope=snsapi_base,弹出微信授权页面:scope=snsapi_userinfoGetCodeRequest = GetCodeRequest.replace("SCOPE", "snsapi_base");result = GetCodeRequest;return result;}

在微信授权完毕后,需要一个回调函数,将获得的code转换成openid

/**微信授权回调**/@RequestMapping(value = "/callBack", produces = {"application/json;charset=UTF-8"}, method = RequestMethod.GET)public String callBack(HttpServletRequest request) throws IOException {//獲取codeString code = request.getParameter("code");String url = String.format(Constant.OPENID_RETREIVAL_URL, WxpayConfig.appid, WxpayConfig.appsecret, code);//获取openId信息JSONObject jsonObject = WeixinUtil.httpsRequest(url, "GET", null);if (jsonObject != null) {try {OpenIdBean openIdBean = (OpenIdBean)JSONObject.toBean(jsonObject,OpenIdBean.class);request.setAttribute("openId",openIdBean.getOpenid());}catch (Exception e) {e.printStackTrace();}}//跳转到发起支付的页面return "weixin/test/index2";}

这样就获得了主体公众号A的openId,就可以支付了

更加详细的说明和操作,请参考:

https://www.cnblogs.com/shuaiqing/p/10407177.html

https://blog.csdn.net/yusewuhen/article/details/51774010

微信跨公众号进行支付相关推荐

  1. 微信跨公众号支付(appid 与 openid 不匹配)-koa

    实现不同主体公众号的跨公众号支付其实原理很简单,就下面几点: 1.用一个公众号的appid来进行收款 2.这个公众号的appid需要和商户号绑定 3.用这个appid来获取用户的openid 进过上面 ...

  2. 微信跨公众号支付(appid 与 openid 不匹配)

    实现不同主体公众号的跨公众号支付其实原理很简单,就下面几点: 1.用一个公众号的appid来进行收款 2.这个公众号的appid需要和商户号绑定 3.用这个appid来获取用户的openid 进过上面 ...

  3. 微信jsapi支付获取code_微信JSAPI公众号支付在部分机型上出现appid参数错误的解决办法 - YangJunwei...

    都说微信支付的坑比较多,老杨感觉还行,就是开始周期和调试过程比较费时费力-_-! 今儿在调试一个基于微信JSAPI公众号的支付项目时发现,部分机型(比如iphone7/vivo-x6d)中微信支付获取 ...

  4. 如何跨公众号进行微信支付(appid and openid not match)

    appid and openid not match问题 最近,运营发现在我们公司A公众号下授权登录的用户在微信里访问我们的H5官网时,无法进行支付,主要原因是付款时是B公众号的账户. 问题描述:由于 ...

  5. 微信公众号H5支付遇到的那些坑

    简史 官方文档说的很清楚,商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程. 当然,最近微信支付平台也加入了纯H5支付,也就是说用户可以在微信以外的 ...

  6. 微信app支付和公众号内支付JSAPI

    微信app支付和公众号内支付 以下为微信app和JSAPI支付 package cn.xizhi.until.pay;import cn.xizhi.until.GetIp; import cn.xi ...

  7. java微信公众号JSAPI支付以及所遇到的坑

    java微信公众号JSAPI支付以及所遇到的坑 上周做了个支付宝微信扫码支付,今天总结一下.微信相比支付宝要麻烦许多 由于涉及到代理商,没办法,让我写个详细的申请流程,懵逼啊. 笔记地址 http:/ ...

  8. 微信公众号网页支付详解

    首先先看微信公众开放文档:https://blog.csdn.net/qq_41971087/article/details/82466647 其实他的下单和我们微信小程序下单是一样的请观看:http ...

  9. uni-app微信公众号H5支付页面

    准备工作 初始化公众平台测试账号系统. 地址: https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 登录后,会得到一个测试公众 ...

最新文章

  1. Android OpenGL使用GLSurfaceView预览视频
  2. 游戏产品开发流程-leangoo
  3. 支付宝支付 第五集:二维码生成工具
  4. 【PAT乙级】1074 宇宙无敌加法器 (20 分)
  5. SQVI和SAP查询QUERY的区别和使用注意事项
  6. laravel redis_解析laravel之redis简单模块操作
  7. 高中数学知识点总结:函数零点经典例题解题技巧与方法总结
  8. 第一次制作中秋博饼小游戏的心得与吐槽(软件工程)
  9. 《三体1》6.射手和农场主
  10. w10系统服务器如何创建新用户,win10添加新用户的方法分享
  11. 删除文件夹遇到的 错误ox80070091:目录不是空的错误解决
  12. 香港第一金:黄金3月27行情操作分析预判
  13. 基于jquery的轮播图组件开发-1
  14. linux性价比最高的笔记本,Linux笔记本新品发售 Oryx Pro1599美元起售
  15. 专家详解“手机窃听”:夸大宣传并不神奇
  16. 关于用pads 做 锅仔片 封装
  17. 强烈推荐几款电脑必装软件!不装后悔系列!!!
  18. 吴恩达机器学习(二十四)核函数
  19. 应用回归分析期末考试知识点总结
  20. 打印1-100之间所有3的倍数的数字

热门文章

  1. 第六届高分子材料国际研讨会(PMS-BT 2019)
  2. 用友通新建账套显示不能登入到服务器,用友通打不开,出现登录失败
  3. 大数据框架基础Hive安装
  4. (1)定义圆Circle类,包含radius半径属性,求面积方法,求周长方法,返返回圆对象的详细信息的方法(2)在测试类中创建长度为5的Circle[]数组,用来装5个圆对象
  5. 数据结构之树从入门到如土(四)----从零开始入门Rust实现一颗B树(未完成待续)
  6. imgui Study
  7. java 多线程wait()方法的基本使用——63
  8. js实现京东购物放大镜和选项卡效果
  9. java实现文件重命名
  10. 计算机视觉论文速递(七)FAN:提升ViT和CNN的鲁棒性和准确性