项目总结58:微信小程序支付-校验签名失败-问题处理

 问题还原:

  项目二次开发需求迭代,重新扩容订单需求时,发现小程序唤起订单支付页面时,总是报"检验签名失败"异常。

分析和处理问题

  1-既然是校验签名失败,说明要么我们自己的签名不对,要么给微信参数给错了;

  2-微信支付文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6;明确说明唤起支付需要5个参数进行签名校验,如下:

项目总结58:微信小程序支付-校验签名失败-问题处理

 

 

   3-核实生成唤起支付的参数是否正确,结果发现多了三个参数,因为传给微信的签名是用8个参数生成的,而微信校验签名时自己生成的签名是用5个参数生成的,所以两个签名不一样,导致签名失败。把三个参数去掉后,就可以了;

项目总结58:微信小程序支付-校验签名失败-问题处理

几个比较容易坑人的问题或概念

  1-针对验签这个操作,APP支付签名和小程序支付签名,对应的参数数量和名称写法时不一样的,小程序是5个参数,且参数名称使用驼峰法则;而APP支付时6个参数,参数名称是全部小写。

 项目总结58:微信小程序支付-校验签名失败-问题处理

   项目总结58:微信小程序支付-校验签名失败-问题处理

 

 

 

  2-整个微信支付流程中,涉及到两个签名

   1- 统一下单时,需要对下单参数进行签名

   2- 唤起支付时需要校验签名,校验意味着,需要我们自己先生成签名,再把参数和签名传给微信,微信在生成一个签名,两个签名进行比较。

 

相关文章:

  • 2022-01-16
  • 2022-01-04
  • 2022-12-23
  • 2021-08-12
  • 2021-08-22
  • 2021-11-23
  • 2021-09-24
  • 2021-10-04
猜你喜欢
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2021-12-12
  • 2021-06-30
  • 2021-12-12
相关资源
相似解决方案