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

下面是实录:

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

  1. 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. 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^SUCCESS$yueke@ykse.com.cn^2088601269538446^0.00^SUCCESS|jason_qq_ming@qq.com^2088002104387632^yueke@ykse.com.cn^2088601269538446^0.01^ROYALTYER_NOT_SIGN_PROTOCOL&success_num=1

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

解决办法:

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

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

我按照文档将通知内容整理好之后去验签。
是验签不通过啊,是验签啊。
验签不是按项分的啊,是要组合成一个字符串然后送过去验签啊。
就是说问题应该是出在重新组合待签字符串时候出的问题,但是这个我是完全按照文档里面描述的流程去做的。

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

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

  1. iOS支付宝支付集成

    概述 iOS支付宝支付集成 详细 代码下载:http://www.demodashi.com/demo/10729.html 支付宝和微信都是业界的老大哥,相信大家都有所觉得文档.SDK都是各种坑吧( ...

  2. Android最新版支付宝支付集成

    上次集成支付宝支付已经很久了,今天写东西用到了支付宝支付,就大致写一下流程: 去蚂蚁金服下载最新版的Android&IOS端SDK 全部文档 -- 资源下载 -- App支付客户端 下载后解压 ...

  3. 微信,支付宝,支付异步通知验签,notify_url

    在支付接口开发中 ,当用户支付完成之后,阿里或者微信会向我们服务器发送一个支付结果的通知,里边带有一系列参数:其中特殊的是签名类型,和签名(他们根据这些参数做出来的签名). 我们的得到这些参数之后要去 ...

  4. ios 支付宝支付集成

    支付宝支付: 下载官方demo,把需要的framwork下载下来,在自己的工程中,新建文件夹,然后全部塞进去,到build phases中把需要的全部导入,其中xcode7以上需要多导入两个.a文件, ...

  5. django支付宝支付集成

    概要 本文是关于django集成支付宝[电脑网站支付]功能的过程记录. 功能逻辑主要分为两块: 用户下单跳转至支付宝支付界面 支付成功的回调验证 本文用到的alipay-sdk是基于阿里开发文档htt ...

  6. iOS 支付宝支付集成获取私钥

    http://doc.open.alipay.com/doc2/apiList?docType=4 登录到支付宝开放平台,下载相关支付宝支付的demo.解压出来有3个文件夹.(服务端demo,客户端 ...

  7. 微信App支付通知验签

    微信异步通知: [AcceptVerbs("POST")] public void Notify() { //编码(101-登录无效,102-账号无效,200-成功,201-失败, ...

  8. 【C#】WechatPay-API-v3 使用平台证书加密内容与应答|通知验签(SHA256 with RSA)

    官方暂时没有维护应答与通知签名的验证C#示例,找了些资料被困扰了一天终于调试通了,贴出来下 . 此类提供两个方法: 1.敏感信息加密,如身份证.银行卡号.(特约商户进件接口需要): 2.应答与通知签验 ...

  9. 支付宝支付集成过程中如何生成商户订单号(out_trade_no)

    out_trade_no是指商户网站唯一订单号,在商户端唯一,每个商户订单号会对应一个支付宝订单号 ,此订单号由珊瑚自己生成,商户订单号要求64个字符以内.可包含字母.数字.下划线:需保证在商户端不重 ...

随机推荐

  1. 思考题-关于CSS(转)

    dl, dt, dd三个标签浏览器默认margin值多少?是否有标签默认文字粗体? line-height:150%和line-height:1.5的区别是? float为何会让外部容器高度塌陷?这是 ...

  2. Ros学习service——小海龟

    rosservice 服务(services)是节点之间通讯的另一种方式.服务允许节点发送请求(request) 并获得一个响应(response) rosservice list 输出可用服务的信息 ...

  3. 数据库之_CRUD

    CRUD是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删除(Delete)几个单词的首字母简写.主要被用在描述软件系统中DataBase或者持久层的基本 ...

  4. session,cookie总结

    不同的域名生成的session_id是不一样的,(就算是相同的主域,例如:www.test.com, blog.test.com 都不一样); 相同的主域,不同的二级域名,例如www和blog都是不共 ...

  5. Conda / Miniconda——软件包管理系统使用

    conda是一个非常好的python包管理软件,但是它的Minicoda是一个非常好的生信软件包管理软件,更多conda介绍多google. Miniconda简直就是生信人的福音,尤其是像我这种传统 ...

  6. Luogu 3292 [SCOI2016]幸运数字

    BZOJ 4568. 感觉很板. 前置技能:线性基.      放一篇感觉讲的比较丰富的博客: 戳这里. 首先要求在一个序列中任意选点使得异或和最大,当然是想到线性基了. 把问题转换到树上,如果每次询 ...

  7. CodeForces 478D Red-Green Towers (DP)

    题意:给定 n 块红砖,m 块绿砖,问有多少种方式可以建造成最高的塔,每一层颜色必须一样. 析:首先要确定最高是多少层h,大约应该是用 h * (h+1) <= (m+n) * 2,然后dp[i ...

  8. 《Head First Servlets & JSP》-6-会话管理

    容器怎么知道客户是谁 Http协议是无状态连接,客户浏览器与服务器建立连接.发出请求.得到响应,然后关闭连接.即,连接只针对一个请求/响应. 对容器而言,每个请求都来自于一个新的客户. 客户需要一个唯 ...

  9. 【android】setOnItemClickListener cannot be used with a spinner的错误

    错误提示: java.lang.RuntimeException: Unable to start activity ComponentInfo{xx activity}: java.lang.Run ...

  10. C# System.Timers.Timer定时器的使用和定时自动清理内存应用

    项目比较大有时候会比较卡,虽然有GC自动清理机制,但是还是有不尽人意的地方.所以尝试在项目启动文件中,手动写了一个定时器,定时清理内存,加快项目运行速度. public class Program { ...