收藏
回答

同样的MD5签名算法程序 普通商户没问题,服务商的特约商户线下【付款码支付】 总是签名错误?

微信V2,用的是同样的MD5签名算法程序,使用普通商户发起【付款码支付】可以成功支付。但是,接口参数换成服务商模式的【付款码支付】总是签名错误。在【微信支付接口签名校验工具】中也是签名错误。不知道是什么原因。请微信支付技术人员指导,谢谢,谢谢。 设置参数如下:

参数设置:

appid =》 服务商商户的APPID

auth_code =》 XXXXXXXXXXXXXX

body =》 账户充值

mch_id =》 服务商商户的商户号

nonce_str =》 30a5a80afc17410181dc8a5268e72580

out_trade_no =》 XXXXXXXXXXXXXXX

spbill_create_ip =》 8.8.8.8

sub_mch_id =》  子商户号

total_fee =》  50


平台设置:

特约商户(子商户)已授权 【服务商付款码支付】。

签名密钥:

使用服务商的 商户号密钥。

最后一次编辑于  2020-08-14
回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-08-14

    请按照以下几点进行排查:

    1、使用签名检查工具(https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1)校验签名算法是否有误

    2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)

    3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)

    4、确认参数的大小写,参数名与接口文档一致

    5、签名原串的参数值使用原始值,不需要encode

    6、接口需要使用UTF-8编码

    2020-08-14
    有用 1
    回复
  • zhanjunyi
    zhanjunyi
    2020-08-14

    对参数按照key=value的格式,每个参数的key和value都检查。如果key和value的前后有空格,需要trim掉。否则会发生签名错误。

    2020-08-14
    有用
    回复
登录 后发表内容
问题标签