支付宝支付下单返回错误信息:"code":"40003","sub_msg":"验签出错, 未配置对应签名算法的公钥或者证书"

标签: 支付宝 支付 JAVA
143人阅读 评论(0) 收藏 举报
分类:

一、问题描述


最近在开发支付宝扫码支付,也就是当面付,代码写完之后,请求支付宝接口,一直返回错误信息:

{"msg":"Insufficient Conditions","code":"40003","sub_msg":"验签出错, 未配置对应签名算法的公钥或者证书","sub_code":"isv.missing-signature-config"}}

二、解决方法


在网上找了一番,基本上都是说: https://docs.open.alipay.com/200/106122


开放平台未配置商户公钥导致。请登录开放平台,上传公钥。可问题是公钥私钥都没错,APP支付都能用,为什么这里不能用。。。困惑。。使用的是官方的DEMO进行测试,也不行,最后在官方的教程中,搞定了:https://docs.open.alipay.com/194/105170/

	AlipayClient alipayClient = new DefaultAlipayClient(gateway,app_id,private_key(开发者私钥),"json","utf-8",alipay_public_key(支付宝公钥),sign_type(签名方式));
        String subject = "fendo 支付宝扫码支付测试";
        String totalAmount = "0.01";
        String storeId = "123";
        AlipayTradePrecreateModel model = new AlipayTradePrecreateModel();
        model.setSubject(subject);
        model.setTotalAmount(totalAmount);
        model.setStoreId(storeId);
        model.setTimeoutExpress("5m");
        model.setOutTradeNo(WeixinPayUtil.getRandomString(12));
        AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
        request.setBizModel(model);
        request.setNotifyUrl("https://xxxx/pay/alipay/notify_url");
        log.info(" 扫描请求参数: " + JSON.toJSONString(request));
        AlipayTradePrecreateResponse responses  = alipayClient.execute(request);
        ServletOutputStream servletOutputStream = null;
        servletOutputStream = response.getOutputStream();
        JSONObject jsonObject = JSONObject.parseObject(responses.getBody());
        log.info(" 扫描响应参数: " + jsonObject);
        String qr_code = jsonObject.getJSONObject("alipay_trade_precreate_response").getString("qr_code");
        //调用生成二维码的方法
        QRCodeUtil.encode(qr_code, servletOutputStream);


注意:

1.要使用当面付需要申请签约,然后才能使用。

2.当面付使用的秘钥是你创建的应用里的秘钥,而并不是mapi/wap网关的秘钥。

3.千万不要把其中的秘钥搞错了,有几个秘钥,一个是商户私钥公钥,也就是自己生成的秘钥,然后把秘钥上传到支付会得到一个支付宝公钥。

4.有时候报签名这类错误,如果原来能用,用在别的功能上就不能用了,比如说APP支付能用,用在扫码支付上却报错,基本上可以确定是代码的原因,上面的错误就是代码的原因。。

5.当面付中的auth_code是,打开支付宝付钱,条形码下会对应有一串数字,注意这传数字,不要轻易泄露出去,不然,别人可以通过条形码支付的方法,把你的钱转走。


参考:

https://openclub.alipay.com/read.php?tid=1568&fid=46

https://openclub.alipay.com/read.php?tid=2326&fid=46

https://openclub.alipay.com/read.php?tid=2333&fid=69

查看评论

签名验签自助排查

签名验签自助排查  支付宝开放平台SDK封装了签名和验签过程,只需配置账号及密钥参数,强烈建议使用。  SDK下载地址  TIPS:文中代码部分以JAVA语言演示,其他语言请参考各自...
  • Loadrunn
  • Loadrunn
  • 2017-09-02 17:21:43
  • 5060

支付宝之私钥签名公钥验签

8th,March,2016 Tuesday RSA公钥加密算法简介 非对称加密算法。只有短的RSA钥匙才可能被强力方式解破。到2008年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥...
  • Jolie_Yang
  • Jolie_Yang
  • 2016-03-08 15:56:51
  • 24071

新手浅谈证书加解密、签名验签

最近做到了支付系统,由于对接第三方系统,涉及到证书签名的问题,就抽时间了解了证书、私钥、公钥、签名、验签等概念。后期会慢慢将支付宝、微信、银联等对接的一些接口开发和常见问题拿出来讨论讨论!...
  • weixin_33602978
  • weixin_33602978
  • 2017-05-11 01:19:33
  • 1923

使用RSA、MD5对参数生成签名与验签

在日常的工作中,我们对外提供的接口或调用三方的接口往往有一步生成签名或验签的步骤,这个步骤主要是验证调用方是不是合法的以及内容是否被修改。比如:对于某些网上公开下载的软件,视频,尤其是镜像文件。如果被...
  • Mr_Smile2014
  • Mr_Smile2014
  • 2016-08-05 16:55:33
  • 15620

IOS集成支付宝客户端支付,编译不过(1)

ld: library not found for -lcrypto
  • daleiwang
  • daleiwang
  • 2014-08-28 15:33:58
  • 7265

支付宝 公共错误码 手机版 0000 系统错误

支付宝 公共错误码 手机版 0000 系统错误 找不到 错误吗啊 0000 我们返回的错误吗 string(260) "partner=2088111951638...
  • zhangfeng1133
  • zhangfeng1133
  • 2015-12-30 21:45:55
  • 13617

Android中植入支付宝遇到的坑

最近公司有需求在项目中要植入支付宝支付等功能。 在完成植入的过程中,遇到了一些坑,今天趁趁任务不多做了个总结。分享给大家,希望以小伙伴不要陷入这些坑中以免浪费很多的时间。 首先说一下遇到的坑及其碰到的...
  • tiankongcheng6
  • tiankongcheng6
  • 2017-02-22 14:16:14
  • 1325

安卓支付宝支付详解与一些遇到的问题

首先说明一下   支付宝支付安卓用的是快捷支付,下载地址是https://b.alipay.com/order/techService.htm     支付宝移动接入地址https://b.alipa...
  • u012303938
  • u012303938
  • 2015-01-19 08:38:45
  • 11950

Asp.Net集成支付宝当面付接口报ISV权限不足

在使用C#开发支付宝当面付接口时,下载了[官网的Demo] 点此链接进入下载: https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7...
  • zjstudio
  • zjstudio
  • 2016-08-09 09:55:29
  • 13773

支付宝支付公钥私钥等参数设置

前段时间集成了支付宝支付功能,集成很简单,但是参数设置走点弯路。记录一下,希望对大家有点帮助。 首先到支付宝开放平台下开发包资源,地址点击打开链接 找到移动支付功能下载。 解压后有demo里有op...
  • always_helloworld
  • always_helloworld
  • 2015-12-24 11:37:00
  • 7640
    相关交流

    JAVA架构: 665329131

    个人资料
    持之以恒
    等级:
    访问量: 109万+
    积分: 1万+
    排名: 1139
    最新评论