支付宝支付集成中:refund_fastpay_by_platform_nopwd接口服务器通知验签不通过

在做p2p配资平台,也就是公司的项目,遇到了一个问题:refund_fastpay_by_platform_nopwd接口服务器通知验签不通过

下面是实录:

通知服务器的POST过来的数据:

 1.sign=Fm5dDlD0dMhj04f4xrFPf6nf5MWXb9pXGHCceZLIqkA2yo26z0HXxqMinJTxSlb2Y0eMg5fJ5J8J065aHYMgnijbxayiLkusW%2fMhNDSUNU09zcFpgMqoPve27BRVEuP04GN%2fXuGre%2fcO4HJaSLWwr8YiLHi6Dt6X5DTqOB3nhWY%3d&result_details=2013020157064863%5e0.00%5eSUCCESS%24yueke%40ykse.com.cn%5e2088601269538446%5e0.00%5eSUCCESS%7cjason_qq_ming%40qq.com%5e2088002104387632%5eyueke%40ykse.com.cn%5e2088601269538446%5e0.01%5eROYALTYER_NOT_SIGN_PROTOCOL¬ify_time=2013-02-07+16%3a46%3a49&sign_type=RSA¬ify_type=batch_refund_notify¬ify_id=853e7fc00b1e2de5ff192d25ac59997607&batch_no=201302071360226808128&success_num=1

我提取出来的待验证字符串:

1.batch_no=201302071360226808128¬ify_id=853e7fc00b1e2de5ff192d25ac59997607¬ify_time=2013-02-07 16:46:49¬ify_type=batch_refund_notify&result_details=2013020157064863^0.00^[email protected]^2088601269538446^0.00^SUCCESS|[email protected]^2088002104387632^[email protected]^2088601269538446^0.01^ROYALTYER_NOT_SIGN_PROTOCOL&success_num=1

商家的支付宝公钥没有问题(以前的即时到帐等接口的验签都正常)。

解决办法:

第一我想到的是:可以在异步通知里面借助于日志语句,看下返回验证语句里面具体是哪一个条件没有通过。

但因为是签约就失败,所以上述不成立。但是,可以借助于日志内容来判断究竟是哪一个条件不能成立。但是问题来了:

我按照文档将通知内容整理好之后去验签。

是验签不通过啊,是验签啊。

验签不是按项分的啊,是要组合成一个字符串然后送过去验签啊。

就是说问题应该是出在重新组合待签字符串时候出的问题,但是这个我是完全按照文档里面描述的流程去做的。

最后找出的原因是:移动和网关是两个的支付宝公钥是不同的!

时间: 2024-09-30 09:23:58

支付宝支付集成中:refund_fastpay_by_platform_nopwd接口服务器通知验签不通过的相关文章

微信App支付通知验签

微信异步通知: [AcceptVerbs("POST")] public void Notify() { //编码(101-登录无效,102-账号无效,200-成功,201-失败,202~299-其他原因1-99,300-无效提交方式,400-无效参数) MessagesDataCodeModel json = new MessagesDataCodeModel(false, "无效参数", 401); int notify_id = 0; string resul

支付宝支付集成

一.什么是支付宝 第三方支付平台 和内购非常相似内购是用户将钱付款给苹果,之后苹果分成给商户支付宝是用户将钱付款给支付宝,之后支付宝将钱转入我们的账户 使用支付宝前提购买的物品必须是和应用程序无关的.比如:团购卷/衣服/电子产品如果和应用程序有关,必须采用内购(否则不允许上架).比如:会员/游戏道具 二.集成支付宝 现在不少app内都集成了支付宝功能 使用支付宝进行一个完整的支付功能,大致有以下步骤:向支付宝申请, 与支付宝签约,获得商户ID(partner)和账号ID(seller)和私钥(p

SpringSide集成支付宝支付功能

网络购物很流行,那么最流行的支付手段估计应该是支付宝了,那么怎么样将支付宝集成到自己的环境中呢,今天我来讲一下如何在springside框架中集成支付宝支付功能. 首先,我们去支付宝商家服务页面去注册和申请支付功能,并在那里下载sdk开发包https://b.alipay.com/order/productDetail.htm?productId=2012111200373124,这个是支付宝的即时到账收款功能,然后下面有一个流程的介绍,我们选择下面的技术集成,先下载sdk开发包,下载完成之后解

Android移动开发-集成调用支付宝支付开发的实现

如今移动支付比较火,尤其是在中国的市场.移动支付也称为手机支付,就是允许用户使用其移动终端(通常是手机)对所消费的商品或服务进行账务支付的一种服务方式.单位或个人通过移动设备.互联网或者近距离传感直接或间接向银行金融机构发送支付指令产生货币支付与资金转移行为,从而实现移动支付功能.移动支付将终端设备.互联网.应用提供商以及金融机构相融合,为用户提供货币支付.缴费等金融业务. 谈到移动支付,不得不说阿里旗下的蚂蚁金融的支付以及腾讯旗下的微信支付.那么现在在就谈谈如何Android项目里集成调用支付

支付宝支付接口开发

1.简单点说就是调用支付宝那边的接口方法,然后传递数据过去,之后会返回一个是否成功的值,然后你拿到之后判断就好了 2.首先你得有淘宝的商铺的合作身份ID,和Key,这个key就是你的密钥.当你的表单提交的时候,表单中的参数会根据这个key来md5加密,同明文参数一同发送到支付宝那边的,然后支付宝那边根据你的key(他们是知道你的key的.因为这个key是他们给你的)来再次加密你的明文参数.如果加密后的数据和你一起传递的密文是相同的话则表示数据在传输过程中没有被修改,就会处理你的请求...处理完之

iOS开发支付集成之微信支付

这一篇是<iOS开发之支付>这一部分的继支付宝支付集成,银联支付集成第三篇,微信支付.在集成的时候建议都要去下载最新版的SDK,因为我知道的前不久支付宝,银联都更新了一次,微信的不太清楚更新了没. 在被支付宝.银联坑过之后,发现其实微信支付的集成并没有想象中的那么困难,像支付宝那样简单地调用个方法就行,重要的难的部分都是后台来做的.微信支付也是需要签名的,也跟支付宝一样,可以在客户端签名,也可以在后台签名(当然,为了安全还是推荐在服务器上做签名,逻辑也比较好理解). 集成前首先要看看文档,开发

***单文件搞定微信支付和支付宝支付

这段时间做微信支付和支付宝支付集成,发现了一个不错的开源代码 简单快捷,单文件即可搞定微信支付和支付宝支付. 单文件搞定微信支付系列: https://github.com/dedemao/weixinPay weixinPay 一个PHP文件搞定微信支付系列 网上的很多PHP微信支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后给出一个单文件版的,希望可以给各位想接入微信支付的带来些许帮助和借鉴意义. 一个PHP文件搞定支付宝系列请移步:https://github.com/d

支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付,当然也是每个公司少不了的第三方支付接入选择. 因此,本篇文章主要分析和总结支付宝支付中的扫码支付.H5支付相关业务流程. 概述 1. 电脑网站支付 电脑网站支付,也称扫码支付,是专门针对电脑而开发的一种支付方式,既在网页展示一个动态生成的支付二维码,用户通过手机支付宝扫码以后可实现支付功能的一种支付方式.

支付宝支付接入(接入与验证)

原文:https://fuwu.alipay.com/platform/doc.htm#c11 一.概述 开发者生成私钥.公钥之后,将公钥提交给服务窗平台,同时下载支付宝的公钥,使用OpenSSL的方式验证签名之后便可完成接入. 开发者使用接口之前需要激活开发者模式,请打开服务窗平台开发者模式,点击下方的“激活开发者模式”按钮. 建议开发者使用支付宝提供的SDK进行服务窗开发,使用SDK进行开发有以下优点: SDK会随着新接口的发布而同步更新 SDK会随着老接口的更新而同步更新 SDK让底层逻辑