支付验签失败_支付宝回调,验签失败

在实现PC端即时支付功能时,遇到支付宝回调验签失败的问题。经过排查,发现原因是使用了错误的公钥,实际应使用支付宝Demo提供的公钥进行验签,而非网站上或自己账户的公钥。这表明不同场景下可能需要不同的支付宝公钥。
摘要由CSDN通过智能技术生成

我做的是 PC端 即时支付功能 app支付也是验签失败

下面是log 公钥 跟支付宝的也对过了,没错 ,支付宝存在 常量里 是字符串

下载的是官方demo 文件名 create_direct_pay_by_user-JAVA-UTF-8

2017-03-31 17:48:55,918 -[oow] DEBUG [com.ccytsoft.print.controller.pc.PCPayController] - PC支付宝通知begin

2017-03-31 17:48:55,919 -[oow] WARN [com.ccytsoft.print.controller.pc.PCPayController] - PC支付宝返回的参数:{buyer_id=2088222418696224, trade_no=2017033121001004220257704126, body=3D打印产品订单支付, use_coupon=N, notify_time=2017-03-31 17:48:55, subject=3D社区打印, sign_type=RSA, is_total_fee_adjust=N, notify_type=trade_status_sync, out_trade_no=149095371184485, gmt_payment=2017-03-31 17:48:55, trade_status=TRADE_SUCCESS, discount=0.00, sign=Nw4QqZmEjt/9ckExEDGSsy+lile+KyOX37VTPsoWZ/9YXlg7i4i8hMeQgW1JuskwLdc9+COCkJYJZ4mJwHDfKAN650yrspT5hh5+hT8pBqKHdU7D6ja+Xc2cP/rSz7BDULMiMsOSPBzuPgByHR0eE+s5GwQeaBRj5Ic5Bi8o0L0=, buyer_email=13522750075, gmt_create=2017-03-31 17:48:42, price=0.01, total_fee=0.01, quantity=1, seller_id=2088521368967515, notify_id=f1ca74b30a68ee7c6e928ddd8f0587bhp6, seller_email=china3d.club@outlook.com, payment_type=1}

2017-03-31 17:48:55,921 -[oow] DEBUG [com.ccytsoft.utils.ali.AlipayNotify] - 校验签名begin

2017-03-31 17:48:55,921 -[oow] DEBUG [com.ccytsoft.utils.ali.AlipayNotify] - 拼接要验证的URL

2017-03-31 17:48:55,921 -[oow] DEBUG [com.ccytsoft.utils.ali.AlipayNotify] - 获取远程服务器ATN结果

2017-03-31 17:48:56,458 -[oow] DEBUG [com.ccytsoft.utils.ali.AlipayNotify] - 获取远程服务器ATN结果准备返回

2017-03-31 17:48:56,458 -[oow] WARN [com.ccytsoft.utils.ali.AlipayNotify] - 带校验的参数:body=3D打印产品订单支付&buyer_email=13522750075&buyer_id=2088222418696224&discount=0.00&gmt_create=2017-03-31 17:48:42&gmt_payment=2017-03-31 17:48:55&is_total_fee_adjust=N&notify_id=f1ca74b30a68ee7c6e928ddd8f0587bhp6&notify_time=2017-03-31 17:48:55&notify_type=trade_status_sync&out_trade_no=149095371184485&payment_type=1&price=0.01&quantity=1&seller_email=china3d.club@outlook.com&seller_id=2088521368967515&subject=3D社区打印&total_fee=0.01&trade_no=2017033121001004220257704126&trade_status=TRADE_SUCCESS&use_coupon=N

2017-03-31 17:48:56,458 -[oow] DEBUG [com.ccytsoft.utils.ali.SignUtils] - 新签名生成开始begin

2017-03-31 17:48:56,459 -[oow] WARN [com.ccytsoft.utils.ali.AlipayNotify] - 校验签名的结果:false

2017-03-31 17:48:56,459 -[oow] DEBUG [com.ccytsoft.utils.ali.AlipayNotify] - 签名校验结果:false

2017-03-31 17:48:56,459 -[oow] DEBUG [com.ccytsoft.print.controller.pc.PCPayController] - PC准备插入数据库数据

我觉我太聪明了,原因是我用的支付宝公钥是自己账户中的支付宝公钥,网站上的支付宝公钥 跟支付宝 demo的支付宝公钥 不一样,然而用demo的公钥就可以验证成功。由此可知 每个人的支付宝的支付公钥应该是同一个。又有新发现 网站的支付宝公钥是app验签时用的,即时支付 用的是demo中的支付宝公钥

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值