现金红包接口发放的时候提示下面这个错误信息,请问怎么解决呢,微信支付已经开通了现金红包功能了
re_openid=o4OmN5rZk1j5npB110Bbusuok-cE, total_amount=42, err_code=PRODUCT_AUTHORITY_UNOPEN, return_msg=你的商户号未开通该产品权限,请联系管理员到产品中心开通。开通路径:产品中心-产品大全-现金红包-申请开通, result_code=FAIL, err_code_des=你的商户号未开通该产品权限,请联系管理员到产品中心开通。开通路径:产品中心-产品大全-现金红包-申请开通, mch_id=15218639xx, return_code=SUCCESS, wxappid=wxa13665dd5b8a2f96, mch_billno=159928976xxxx
已经解决
开发过程中出现几个小问题,这里总结一下
1、签名错误问题: 签名所用的请求参数排序A-Z ,参数值为空需要过滤,微信支付的秘钥需要带,签名转换必须使用MD5,转换成大写;
2、证书错误:证书的必须安装到服务器,然后路径必须是绝对路径,比如C://wx/xxx.cert。 CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(WechatConfig.getSslcsf(wxMchID)).build();
3、权限不存在的问题:是因为多带了一个参数,注意一下红包接口的版本。按照文档的接口参数提交就行了;
4、红包参数:微信支付 产品中心-> 我的产品 -> 产品配置 -> 现金红包设置 -> 额度与安全 修改单日领取红包上限及金额,这个不设置会比较麻烦。可能领不到红包的,需要告知客户的。(最多2个意味着只能领取1个红包)
现在自己创业,四五线城市请不到合适java开发人员,只能自己上手做系统,这个公众号现金红包开发前后1个月花了有60个小时的开发时间吧,bug调试占了20多个小时。祝各位好运(需要交流参考现金红包接口发放的请关注私信公众号:拜斯多)
今晚终于可以睡个安稳觉啦。。。。