invalid-signature(无效签名)自查方案

简介: 一,错误说明:   1.密钥不匹配(70%都是密钥不匹配导致)   2.参数错误,例如乱码,不符合支付宝要求,自定义参数,特殊字符   3.签名方法错误 二,检查流程   第一步:根据接口查看是否有支付宝官方demo,如果有优先使用官方demo测试(只配置账号和密钥测试,不要对demo做任何修改)...

一,错误说明: 
  1.密钥不匹配(70%都是密钥不匹配导致) 
  2.参数错误,例如乱码,不符合支付宝要求,自定义参数,特殊字符 
  3.签名方法错误 

二,检查流程 
  第一步:根据接口查看是否有支付宝官方demo,如果有优先使用官方demo测试(只配置账号和密钥测试,不要对demo做任何修改) 

  demo列表:

            接口名称                   支持语言                   demo下载地址
                  电脑网站支付                   java,php     [url]https://docs.open.alipay.com/270/106291/[/url]
                  手机网站支付                   java,php     [url]https://docs.open.alipay.com/203/105910/[/url]
                  APP支付                   iOS,Android     [url]https://docs.open.alipay.com/54/104509[/url]
                  当面付                   java,php,.NET     [url]https://docs.open.alipay.com/194/105201/[/url]

  





    a.如果使用官方测试,能够正常支付,说明您的密钥密钥和账号没有问题,按照下面步骤继续检查 

    b.使用使用官方demo测试,依然报错“无效签名” ,请走第二步密钥检查 

 第二步密钥检查: 
    首先检查使用的密钥是否匹配按照这个帖子检查:[url]https://openclub.alipay.com/read.php?tid=1486&fid=46[/url] 
    如果验证失败建议重新生成一对密钥进行商户公钥上传私钥配置到项目中发起测试 

  第三步:参数错误 
  不管是什么接口,如果报了这个错误,对照官方请求参数文档,只传必填参数,其他参数先注释,缩小错误范围,先保证使用必填参数请求可以成功。 
  输出请求参数以&符号(示例如下)和官方请求必填请求参数对比,查看参数中是否有乱码,自定义参数或者特殊字符 
复制代码

total_amount=0.10&timestamp=2016-11-02+18%3A34%3A19&sign=G3WI0czviMAOzS5t0fYaDgK32sGpjkkXYVFTpYMtgX8JaXLiGiUTO%2F2IHogcCFT96jBCLZ6IsNzd%2BmxkB%2FRuwG%2F7naQk1qReuORMkrB5cpBf9U40bIUoCmSNqtANsTE2UPV7GKegYG2RqoCRScTmeFAFHj5L7zsM%2BLuYb9mqN3g%3D&trade_no=2016110221001004330228438026&sign_type=RSA2&auth_app_id=2014073000007292&charset=UTF-8&seller_id=2088411964605312&method=alipay.trade.page.pay.return&app_id=2014073000007292&out_trade_no=20150g320g010101001&version=1.0


  第三步签名方法错误: 

    服务端SDK方式签名:(支持java,php,.NET )
 
   服务端SDK下载地址:[url]https://docs.open.alipay.com/54[/url] 
     pageExecute:唤起网页进行支付方式,用于手机网站,电脑网站支付接口。 
     sdkExecute:生成签名字符串,只能用于APP支付接口 
     execute:用于当面付,以及开放平台的大部分接口 

   代码详解(php语言为例,其他开发语言调用方式相同): 
    pageExecute手机网站为例:

$request = new AlipayTradeWapPayRequest ();
$request->setBizContent("{" .
        ""subject":"测试"," .
        ""out_trade_no":"201703290000001"," .
        ""total_amount":0.01," .
        ""product_code":"QUICK_WAP_PAY"" .
        "  }");
 //调用的签名方法
$result = $aop->pageExecute ($request);
echo $result;

 sdkExecute APP支付为例 

$request = new AlipayTradeAppPayRequest();
$request->setBizContent("{"out_trade_no":"".$date.$arr[0]."","total_amount":0.01,"product_code":"QUICK_MSECURITY_PAY","subject":"app测试"}"
目录
相关文章
|
4月前
|
前端开发 开发者
【微信公众号对接】有关签名一直报错,提示invalid signature问题(我的签名和使用微信开发者工具验证返回的签名的是一致的)但还是报错!!!
【微信公众号对接】有关签名一直报错,提示invalid signature问题(我的签名和使用微信开发者工具验证返回的签名的是一致的)但还是报错!!!
143 0
invalid-app-id(无效的AppID)参数问题自查方案
1.首先检查支付宝网关     沙箱环境网关为: [url]https://openapi.alipay[/url]dev.com/gateway.do     正式环境网关为: [url]https://openapi.
8340 12
|
Java
isv.code-invalid(授权码code无效)-自查方案
说明:  针对商户测试第三方应用授权、用户信息授权、获取会员信息等产品时,报错“isv.code-invalid(授权码code无效)”的问题。 第三方应用授权正式环境拼接规则: https://openauth.
3861 0
|
4月前
|
移动开发 开发工具
解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“
解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“
解决微信H5获取SDK授权报错提示errMsg: “config:fail,Error: 系统错误,错误码:63002,invalid signature [20200908 22:17:17][]“
|
4月前
|
JSON 数据格式
微信jsapi支付,又见缺少参数 total_fee错误
微信jsapi支付,又见缺少参数 total_fee错误
|
JavaScript 数据安全/隐私保护
某系的新版_signature分析
某系的新版_signature分析
192 0
某酒店App sign、appcode签名解析(一) 带壳分析 r0tracer
某酒店App sign、appcode签名解析(一) 带壳分析 r0tracer
某酒店App sign、appcode签名解析(一) 带壳分析 r0tracer
此用户不允许自调用(isv.self-invoke-forbidden)-处理方案
说明   如果您在调用蚂蚁金服接口出现这个错误,说明您请求的appid(年份开头)属于第三方应用不允许自己appid请求蚂蚁金服接口   简单来说:如果您出现这个报错说明不可以自调用,只能走以下两个方案进行接口测试。
4184 12
错误代码 missing-signature 错误原因: 缺少签名参数-自查方案
[b]报错截图[/b] [attachment=2253][b]错误原因:[/b] 1.php版本低于5.5 2.把配置私钥的位置,填写成了支付宝公钥或者商户公钥导致。 [color=#ff0000]更多密钥填写错误查看:[url]https://openclub.
3035 12
EXIST_FORBIDDEN_WORD(订单信息中包含违禁词)自查方案
错误原因   该报错是因为商户的请求参数中的body或是subject参数中包含有违禁词汇导致 解决方案   修改订单信息中的body和subject参数,保证尽量不会触及敏感词汇,如:支付宝交易测试,测试交易等信息。
739 12