微信支付签名失败与回调无响应的坑

一、按微信官方的c#部分demo的代码,付款或退款时签名失败,总结了一下,大致以下几种可能。

1.参数没有按官方的接口传输。

2.参数正常,但转换成xml传输时,字符串放到CDATA内,没有放到XML节点中,实际上字符串放到CDATA和XML节点中都是可行的。官方的demo是放到CDATA中,而官方文档是放到XML节点中。所以严格来说,这个不算是坑。

3.按官方demo的代码,在生成签名时makeSign方法,用的是x2,注意x是小写,导致转换出的签名是小写的,实际上是用大写的X,转换出的签名才是大写的,这是一个巨坑。

4.使用了cert证书来发起https请求,但请求总是失败,可能是iis站点的应用程序池使用的是ApplicationPoolIdentity,导致读取cert证书时出错,在应用程序池上右键->高级设置->标识中切抱为LocalSystem.

5.cert的证书没有安装,直接双击从微信公众号后台下载的证书安装即可,安装时建议选择【本地计算机】,而不是【当前用户】。证书密码默认是商户号。

6.参数中传的ip是服务器的ip,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值