服务商模式为特约商户实现现金红包功能,条件如下:
1、子商户的merchant key和服务商merchant key相同
2、直接使用子商户证书进行红包发放正常(子商户自己也满足条件开通了现金红包功能)
3、使用服务商模式,服务商证书、key(由于子商户key也设置为一样的,所以并不能确定微信这里到底要求采用哪个key来签名,不影响测试结果)的情况下,为子商户进行统一下单返回正常,为子商户进行现金红包发放返回签名错误
4、签名校验接口验证的sign和签名传输的sign完全一致
5、子商户已授权服务商现金红包功能
6、直接使用校验工具中生成的结果xml请求,仍然返回签名错误!
理论上,可以使用子商户直连的方式来发送红包解决当前问题,但是未来此功能会有很多子商户使用,每一个都单独进行证书和key的管理将会非常麻烦,
实在没辙了!望解答!
解决了这坑!服务商发放现金红包,只能setSubMerChantID不能setSubAppID!!!(其他接口,两个都要设置)
设了就给你报签名错误,让人查疯掉。这错误提示真的无语了,只能自己慢慢试出来,文档上根本不会给你写这些!
服务商模式,使用的是服务商的证书、key,你干嘛设置一样呢?这样问题排查都不好排查。