前言
首先一点,微信小店的授权现在无法使用自主生成授权链接,由客户扫描授权码的形式进行授权。只能通过应用入驻服务市场,再由客户进行购买的形式授权。
消息解密的官方文档很坑,都是一些很老的代码了,而且一些新的消息无法正常解密!!!
官方服务商授权文档链接(仔细读 很重要 下面也会多次提到这个文档):https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent/API/service/service_readme.html
授权文档链接(仔细读 很重要 除了不用生成授权链接 其他都有用):https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Before_Develop/creat_token.html
正文开始 时间节点记录-20250314
授权主要遇到的几个问题
1、授权时返回错误码:61009
完整失败报文{"errcode":61009,"errmsg":"code is invalid rid: 67d299d2-4b84adf0-073a4036"}
操作流程:客户购买应用后,找到相应的服务商应用,点击去使用。后端获取component_access_token之后,带上code调用 https://api.weixin.qq.com/cgi-bin/component/api_query_auth?access_token=ACCESS_TOKEN
如果你也是这样操作的,恭喜你,已经完全跑偏了。
服务商授权文档中明确说了授权时需要使用的是AuthorizationCode,而不是code。但是这个code有什么用呢?它唯一的用途就是让你获取到给你授权
的这个商户是谁。
详细用法可以看服务商授权文档中的B. 小商店触发登录章节
但是文档中的登录接口对应的超链是错误的,调用会失败!!!
使用下面这个链接可以正常调用
https://developers.weixin.qq.com/doc/oplatform/service_market/interface/value_added/servicemarket_login_auth.html
注意一点:虽然上面这个链接中让我们使用access_token传参,但是实际用的是component_access_token的值
2、购买应用后平台给的授权消息接收失败了,没有生成authorizer_refresh_token
不要慌,直接来看服务商授权文档中的A. 购买授权章节中的第三个小黑点
拉取所有已授权的账号信息的这个接口,很好用。拿到authorizer_refresh_token之后就可以美美的换取authorizer_access_token了 当然你如果调用之后发现还是没有,那我就爱莫能助了。 但是你如果一定要通过消息拿到authorizer_refresh_token的话,可以看看下面的智能问答回复,或许对你会有帮助。
时间节点记录-20250317
1、消息密文解密失败
如果你已经成功接入了ticket消息,但是关于订单的部分消息无法解密,那么你可以使用下面的这个方法替换掉原来的解密方法试一下
$decrypted = openssl_decrypt($ciphertext_dec, 'AES-256-CBC', $aeskey, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv);
、、、、、、
不是 为啥每次编辑文档原来的标签不保留,都需要我重新写标签啊!!!
authorizer_refresh_tokenhu获取后通过https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token获取小店的token时提示IP白名单,服务商是有这个IP的,小店也要有这个Ip吗