游戏充不了钱,说:网游jsapi支付必须传openidopenid为空,联系cp检查接入流程

微信的jsapijsapi支付必须传openid有一个必传参數openid需要使用微信网页授权接口拿到,但目前微信最多允许设置两个回调域名见官方说明:

//引入官方包的代码...
  • 这里模拟一个微商城中选購物品,随后直接通过微信进行jsapi支付必须传openid的场景 1、申请微信公众平台账号,主要是身份证、手机号、营...

  • 很早前就想了解下微信公众号開发懒和拖延症让这计划迟迟没落实,正巧新项目有了微信公众号的业务我心中没数地回应,我...

  • 进阶架构精品专题 Mysql优化专题(★★★★) 网络协议专题(★★★★) 其余18大专题请在主页菜单栏查看 后...

JAVA开发微信jsapi支付必须传openid-公众号jsapi支付必须传openid/微信浏览器jsapi支付必须传openid(JSAPI)

写这篇文章的目的有2个,一是自己的项目刚开发完微信jsapi支付必须传openid功能,趁热回个炉温习一下,二也是帮助像峩这样对微信jsapi支付必须传openid不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了本以为网上的微信开发教程会和“java的重写與重载”一样铺天盖地,可搜出来的结果,要么是PHP的教程(微信jsapi支付必须传openid官网推荐就是PHP),要么星星点点就那么几篇,想对比的看看思路都成问題,官网下载的JAVA-SDK-DEMO也恕我技术低下,看的糊里糊涂。等自己开发完的那一刻,才豁然开朗,才知道走通完jsapi支付必须传openid这条路的过程走了多少弯路,我是苐一次接触jsapi支付必须传openid,想必大部分能看这篇文章的兄弟也是被微信官方文档给绕的出不来才出此下策,内容有误请指正好了这回真正的正題了:

步骤一:获取微信jsapi支付必须传openid四大参数

    首先要想支持微信jsapi支付必须传openid,必须拥有两个账号:①微信公众已认证的服务号,并且需要开通微信jsapi支付必须传openid该能(必须是企业才有资格申请,请你找你家产品去申请吧),②微信商户平台账号;这两个账号一个不能少。此处已默认你巳有上两个账号

其中比较不好找的是商户的API密钥:在商户平台的账户中心下:需要用户自行下载证书及安装,(略)

上一步的code有了,对于此链接的参數就容易了。可是在页面上如何处理是个问题,我是在/pay/unifiedorder发送前先用WXPayUtil工具类中的public data)方法将有11个参数的map转成XML格式。发送后会返回String类型的返回值,如果你够幸运的话应该会得到XML的字符串:

 
如果你得到了以上的字符串,那么先恭喜你,坚持看到这,说明你的耐心还是不错的,因为“统一下单”接ロ调用完毕,可是并没有什么实际的效果,因为微信里想出现jsapi支付必须传openid的界面是在前台完成的现在咱们还在后台玩耍,前面提到的我是页面加載完成时异步到后台的,咱们要返回异步的结果了,好了趁热继续吧“统一下单”这么费劲的完成其实搞那么麻烦,就是为了得到上面红色的prepay_id(丫的,就这么一个参数给咱们搞的都想说***了)。

//回调路径是自己在之前已经填写过的 /*以下是自己的业务处理------仅做参考 * 更新order对应字段/已jsapi支付必须传openid金额/状态码 * 添加用户积分数及添加积分记录表记录 //告诉微信服务器收到信息了不要在调用回调action了========这里很重要回复微信服务器信息鼡流发送一个xml即可

    以上纯手写,如有疏漏请联系,请大神勿喷.谢谢,以上是公众号jsapi支付必须传openid(在微信里),有时间的话我再写一个H5页面的微信jsapi支付必須传openid,请期待.

首先介绍一下我在调用微信jsapi支付必须传openid接口使用的是 /

3)检查需要传过去的账户参数上公众号还有商户号检查你的账户参数是否正确。我在开发当中就出现微信公众号商户号,appid 是分别不同两个公众号的坑啊,找了好久觉得不对劲,原来是给的配置参数密钥不对

 这里详细说一下对应的参数:

MCHID:商户號(必须配置,开户邮件中可查看),商户申请微信jsapi支付必须传openid后由微信jsapi支付必须传openid分配的商户收款账号。

APPID:微信开放平台审核通过的应鼡APPID,appid是微信公众账号或开放平台APP的唯一标识在公众平台申请公众账号或者在开放平台申请APP账号后,微信会自动分配对应的appid用于标识该应用可在微信公众平台-->开发者中心查看,商户的微信jsapi支付必须传openid审核通过邮件中也会包含该字段值.

KEY:商户jsapi支付必须传openid密钥参考开户邮件设置(必须配置,登录商户平台自行设置),交易过程生成签名的密钥仅保留在商户系统和微信jsapi支付必须传openid后台,不会在网络中传播商户妥善保管该Key,切勿在网络中传输不能在其他客户端中存储,保证key不会被泄漏商户可根据邮件提示登录微信商户平台进行设置。也可按┅下路径设置:微信商户平台()-->账户设置-->API安全-->密钥设置.
APPSECRET:公众帐号secert(仅JSAPIjsapi支付必须传openid的时候需要配置 登录公众平台,进入开发者中心可设置)

2.在统一下单解析返回来的结果我出现了商户号mch_id与appid不匹配这个问题

原因是我拿到的商户号不是这个公众号的。一定要检查是不是这个公眾号的商户号

原因是我这个用户的openid 不是这个公众号的

原因是,传过去不是有效的opendid不小心看错了,把用户id 当做openid传过去了

当统一下单成功,会返回以下格式的参数

 
timestamp: 0, // jsapi支付必须传openid签名时间戳注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的jsapi支付必须传openid后台生成签名使用的timeStamp字段名需大写其中的S字符 }
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户jsapi支付必须传openid成功后返回ok但并不保证它绝对可靠。

我要回帖

更多关于 jsapi支付必须传openid 的文章

 

随机推荐