支付宝集成
来源:互联网 发布:做优化发展环境维护人 编辑:程序博客网 时间:2024/04/28 13:15
近来处理了几个app应用的支付宝集成,对其中的一些问题有了些了解,汇总一下,以备自己或者其他人参考。
1、订单签名错误,请检查PARTNER对应的密钥是否正确
这个问题网上很多人问,但千篇一律都是没有给出解决办法的。很不幸的,我也碰到了。一开始以为是自己密钥生成有问题,对着支付宝的开发文档,重复生成密钥,每步都严格按照要求,结果还是无法解决。几近崩溃!后来没办法了,问了支付宝集成开发的技术支持,原来这个不是密钥的问题,而是没有申请到对应的接口。app应用内支付,要开通的产品是:安全支付,版本不知道它是怎样区分的,我v1.1和v2.0我都见过,如果开通了这个接口,那这个问题就马上解决了(前提是你的密钥生成不能有问题)。
2、服务器端验签不成功
这个问题大多是因为支付宝公钥生成不正确。很奇怪的是,支付宝集成开发的文档居然没有说怎样生成支付宝公钥,这个问题也是搞了好久才明白过来。支付宝公钥文件的格式如下:
-----BEGIN PUBLIC KEY-----
xxxxx
xxxxx
xxxxx
-----END PUBLIC KEY-----
中间内容部分是签约后台上获取的支付宝公钥,将空格去掉,换成换行就可以了。文件保存为alipay_public_key.pem。(当然名字可以改的,前提是服务器端的验签代码也要改成相应的文件名)
iOS app支付宝接口调用的一点总结
根据支付宝开发文档,参考demo代码。将相关支付功能加到了自己的代码中。一些根据文档来做,也没有太大的难度。但添加完代码,进行测试时,问题却来了。在app中可以成功调用支付宝app,成功支付并返回。这个时候就出现问题了。在app delegate支付宝回调本app的执行函数中,公钥验证签名成功后,会对支付结果进行提示。根据demo,提示支付的代码如下:
- UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:result.statusMessage delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
- [alertView show];
- [alertView release];
问题就出现在这里了。支付成功后,result.statusMessage返回的值却是空的。而我测试取消支付,这个返回值却是正确的,提示“操作取消”之类的文字(具体忘记了)。支付失败没有进行测试。这下麻烦了,不知问题出在哪里。总不能支付成功后,返回一个空的提示吧。或者直接将提示自己写死,显示“支付成功”?那万一是其他信息提示咋办呢?
重复对比了demo和自己程序的代码,发现没有错漏的地方。百思不得其解,于是想是不是支付宝后台的问题?又根据支付宝服务器端的开发文档,仔细检查,反复测试了。还是找不到原因。
这下没撤了,只能打支持电话,加入一个交流群,问了支付宝负责技术的人,反复说明问题后,终于得到了答覆,支付成功时,result.statusMessage是没有返回值的,大概意思是后来取消了这个返回值。
我的妈阿,对返回值作了改变,为啥文档又没说明,让我等苦逼的程序猿白白折磨了一两天,情何以堪呢。客气的将我的想法提了给支付宝的技术支持,回复说:不要太相信demo。shit,这是人话吗,我用你的接口,不是根据你的文档和demo,那我会担心出错的,而且这是涉及到金钱问题,所以更加不能马虎。内心暗骂了一通之后,又将我的一番建议,例如要求再进一步完善文档,对细节再进一步谨慎之类的提交到支付宝技术支持那里。到此,我的痛苦的支付宝接口调用过程就告一段落了。写这篇文章,算是提醒自己或者有需要的人,有不明白的地方,第一时间找支付宝的技术支持,不要自己瞎折腾了,说不定你碰到的问题不是自己的问题,而是出在第三方接口上。
另外说一下,支付宝网站上找技术支持,直接点支持旺旺是没反应的,你需要打电话去问,才能拿到技术支持的旺旺号,这里公布一下支付宝技术支持群的旺旺号,应该不会被支付宝的人骂吧。呵呵
旺旺号:24768316
密码:alipay2010
- 集成 支付宝支付
- 集成支付宝支付
- 支付宝支付集成
- 集成支付宝支付
- 支付宝支付集成
- 支付宝支付集成
- 支付宝支付集成
- 支付宝支付功能集成
- 集成支付宝快捷支付
- 支付宝移动支付集成
- iOS 集成支付宝支付
- Cordova集成支付宝支付
- android 集成支付宝支付
- Android集成支付宝支付
- iOS集成支付宝支付
- 支付宝移动支付集成
- 支付服务集成-支付宝
- Android 集成支付宝支付
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序 解决方法
- HDOJ 4115 - Eliminate the Conflict 构图2-sat...思维不能乱~!!
- 数据结构基础之单链表
- 21.从零开始学习C语言--算法
- 2013多校联合8 1004 Terrorist’s destroy(hdu 4679)
- 支付宝集成
- LeetCode Restore IP Addresses
- 11-Oracle学习_修改表结构-数据字典表
- oracle序列详解和创建自增主键
- telnet网页版
- 常见的数据库面试大全
- Cocos2d-x学习笔记(七)实例——绘制图形
- 解析java iterator 原理
- JS语法详解