iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)
由于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
补充:
另外,很多人发私信来问,哪里可以下载支付宝demo或者sdk。这个问题自己曾经也痛苦过,在支付宝网站找个demo,不是一般的难,位置隐藏得非常深,特别是改版后,更加难找了。上一次(改版后)实在找不到,只好问支付宝的技术支持。
支付宝集成sdk和demo下载地址:
下载地址:http://download.alipay.com/public/api/base/WS_SECURE_PAY.zip
这个只是无线产品的集成sdk和demo,其他的产品没有用过,所以忽略。
原文网址: http://blog.sina.com.cn/s/blog_702e40a80101knln.html
iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)的更多相关文章
- 转:iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)
iosiOSIOS文档服务器测试电话 由于app内需要用到支付功能,选择了当前最流行的支付宝进行支付.在进行内嵌支付宝功能开发时,被它狠狠的耍了一把. 根据支付宝开发文档,参考demo代码.将相关支付 ...
- 【转】IOS AutoLayout详解(三)用代码实现(附Demo下载)
转载自:blog.csdn.net/hello_hwc IOS SDK详解 前言: 在开发的过程中,有时候创建View没办法通过Storyboard来进行,又需要AutoLayout,这时候用代码创建 ...
- 在django中实现支付宝支付(支付宝接口调用)
支付宝支付 正式环境:用营业执照,申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info 支付 ...
- Android 支付宝接口调用
在近期,公司需要开发一个关于在线支付的模块,所以需要用到第三方支付平台 转载请注明出处:http://blog.csdn.net/ht_android/article/details/45307165 ...
- CodeIgniter 开发,支付宝接口调用实例
准备:1.alipay官方下载最新接口类库2.解压后,将目录"\即时到账交易接口-create_direct_pay_by_user\demo\create_direct_pay_by_us ...
- 调用支付宝接口Android客户端没有支付宝APP的情况下解决无法调用支付宝页面的问题
这几天一直研究支付宝接口调用,因为当前应用中需要调用支付宝接口作移动支付. 遇到一个问题困扰几天,就是当我们的手机端未安装支付宝APP的时候,需要在自己应用中调用支付宝的登陆网页进行支付.我是Andr ...
- IOS App如何调用python后端服务
本篇文章旨在通过一个小的Demo形式来了解ios app是如何调用python后端服务的,以便我们在今后的工作中可以清晰的明白ios app与后端服务之间是如何实现交互的,今天的示例是拿登录功能做一个 ...
- iOS App引导页功能实现
一.写作原因 以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录.因为以前自己可以轻松的完成pod spec的配置,但是今天在做的时候还是忘了遇到了很多坑.pod spec配置遇到的坑不 ...
- ThinkPHP实现支付宝接口功能
最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下:一.下载支付宝接口包下载地址:https://doc.open.alipay. ...
随机推荐
- 组件的详细说明和生命周期ComponentSpecs and Lifecycle
render ReactComponent render() render() 方法是必须的. 当调用的时候,会检测 this.props 和 this.state,返回一个单子级组件.该子级组件可以 ...
- Windows消息、绘图与多线程
有一个项目,一旦点下按钮后,用死循环不停的读数据,读出后立刻用可视化的方法显示.如果不采用多线程的方法,程序运行都正确,但无法关闭窗口,不清楚是窗口无法通过关闭按钮来接受Windows消息,还是接受了 ...
- socket基本使用
UDP发送和接收 MainRecv.cpp #include <iostream> #include <WinSock2.h> #include <sstream> ...
- linux内核container_of宏定义分析
看见一个哥们分析container_of很好,转来留给自己看 一.#define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMB ...
- 常用的Css命名方式
常用的Css命名方式: CSS命名规范: 1.文件命名规范 全局样式:global.css: 框架布局:layout.css: 字体样式:font.css: 链接样式:link.css: 打印样式:p ...
- 绝对定位(absolute)
绝对定位(absolute),作用是将被赋予此定位方法的对象从文档流中拖出,使用left,right,top, bottom等属性相对于其最接近的一个最有定位设置的父级对象进行绝对定位,如果对象的父级 ...
- poj图论解题报告索引
最短路径: poj1125 - Stockbroker Grapevine(多源最短路径,floyd) poj1502 - MPI Maelstrom(单源最短路径,dijkstra,bellman- ...
- Gradle build-info.xml not found for module app.Please make sure that you are using gradle plugin '2.0.0-alpha4' or higher.
解决方法:去掉“Enable Instant run to host swap code/resource changes on deploy(default enabled)”的勾选项 Settin ...
- June 26,程序破解
1.android程序破解练习初级 方法一: 文件名:KeygenMe#1.apk工具:ApktoolGui v2.0 Final 先用ApktoolGui v2.0 Final反编译成java通过查 ...
- eclipse代码编辑器中按alt+/提示No Default Proposals 的解决方法
window-> Preferences-> Java-> Editor-> Content Assist-> Advanced 上面的选项卡Select the pro ...