收藏
回答

服务商模式 现金红包签名错误

服务商模式为特约商户实现现金红包功能,条件如下:

1、子商户的merchant key和服务商merchant key相同

2、直接使用子商户证书进行红包发放正常(子商户自己也满足条件开通了现金红包功能)

3、使用服务商模式,服务商证书、key(由于子商户key也设置为一样的,所以并不能确定微信这里到底要求采用哪个key来签名,不影响测试结果)的情况下,为子商户进行统一下单返回正常,为子商户进行现金红包发放返回签名错误

4、签名校验接口验证的sign和签名传输的sign完全一致

5、子商户已授权服务商现金红包功能

6、直接使用校验工具中生成的结果xml请求,仍然返回签名错误!

理论上,可以使用子商户直连的方式来发送红包解决当前问题,但是未来此功能会有很多子商户使用,每一个都单独进行证书和key的管理将会非常麻烦,

实在没辙了!望解答!

回答关注问题邀请回答
收藏

2 个回答

  • Endy
    Endy
    2021-02-06

    解决了这坑!服务商发放现金红包,只能setSubMerChantID不能setSubAppID!!!(其他接口,两个都要设置)

    设了就给你报签名错误,让人查疯掉。这错误提示真的无语了,只能自己慢慢试出来,文档上根本不会给你写这些!

    2021-02-06
    有用
    回复
  • Memory
    Memory
    2021-02-06

    服务商模式,使用的是服务商的证书、key,你干嘛设置一样呢?这样问题排查都不好排查。

    2021-02-06
    有用
    回复 1
    • Endy
      Endy
      2021-02-06
      为什么不好排查?如果证书不匹配mch_id,会提示证书错误,两个KEY设置成一样,避免使用了错误的KEY导致签名错误,这已经是排除法把范围缩小过的测试方法了。如果有两个不同的KEY,还要多一种错误情况:使用了不正确的KEY导致签名错误。
      2021-02-06
      回复
登录 后发表内容
问题标签