zoukankan      html  css  js  c++  java
  • 项目总结58:微信小程序支付-校验签名失败-问题处理

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

     问题还原:

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

    分析和处理问题

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

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

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

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

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

     

       

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

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

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

  • 相关阅读:
    数据预处理 --Sklearn preprocessing的理解
    平衡二叉树的插入旋转
    二叉树
    malloc/free 与 new/delete的区别
    C/C++ const总结
    C/C++ static总结
    C++未定义行为
    c++虚函数表
    visual studio mfc中 cout 输出
    ERROR C4996 UNSAFE
  • 原文地址:https://www.cnblogs.com/wobuchifanqie/p/12462242.html
Copyright © 2011-2022 走看看