由于app内需要用到支付功能,选择了当前最流行的支付宝进行支付。在进行内嵌支付宝功能开发时,被它狠狠的耍了一把。

根据支付宝开发文档,参考demo代码。将相关支付功能加到了自己的代码中。一些根据文档来做,也没有太大的难度。但添加完代码,进行测试时,问题 却来了。在app中可以成功调用支付宝app,成功支付并返回。这个时候就出现问题了。在app delegate支付宝回调本app的执行函数中,公钥验证签名成功后,会对支付结果进行提示。根据demo,提示支付的代码如下:

  1. UIAlertView * alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:result.statusMessage delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
  1. [alertView show];
  1. [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,其他的产品没有用过,所以忽略。

转:iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)的更多相关文章

  1. iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)

    由于app内需要用到支付功能,选择了当前最流行的支付宝进行支付.在进行内嵌支付宝功能开发时,被它狠狠的耍了一把. 根据支付宝开发文档,参考demo代码.将相关支付功能加到了自己的代码中.一些根据文档来 ...

  2. 【转】IOS AutoLayout详解(三)用代码实现(附Demo下载)

    转载自:blog.csdn.net/hello_hwc IOS SDK详解 前言: 在开发的过程中,有时候创建View没办法通过Storyboard来进行,又需要AutoLayout,这时候用代码创建 ...

  3. 在django中实现支付宝支付(支付宝接口调用)

    支付宝支付 正式环境:用营业执照,申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info 支付 ...

  4. Android 支付宝接口调用

    在近期,公司需要开发一个关于在线支付的模块,所以需要用到第三方支付平台 转载请注明出处:http://blog.csdn.net/ht_android/article/details/45307165 ...

  5. CodeIgniter 开发,支付宝接口调用实例

    准备:1.alipay官方下载最新接口类库2.解压后,将目录"\即时到账交易接口-create_direct_pay_by_user\demo\create_direct_pay_by_us ...

  6. 调用支付宝接口Android客户端没有支付宝APP的情况下解决无法调用支付宝页面的问题

    这几天一直研究支付宝接口调用,因为当前应用中需要调用支付宝接口作移动支付. 遇到一个问题困扰几天,就是当我们的手机端未安装支付宝APP的时候,需要在自己应用中调用支付宝的登陆网页进行支付.我是Andr ...

  7. IOS App如何调用python后端服务

    本篇文章旨在通过一个小的Demo形式来了解ios app是如何调用python后端服务的,以便我们在今后的工作中可以清晰的明白ios app与后端服务之间是如何实现交互的,今天的示例是拿登录功能做一个 ...

  8. iOS App引导页功能实现

    一.写作原因 以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录.因为以前自己可以轻松的完成pod spec的配置,但是今天在做的时候还是忘了遇到了很多坑.pod spec配置遇到的坑不 ...

  9. ThinkPHP实现支付宝接口功能

    最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下:一.下载支付宝接口包下载地址:https://doc.open.alipay. ...

随机推荐

  1. 前端和后台对接时对sign加密方法

    前端和后台对接时对sign加密方法 /*后台php对接进行sign标签加密 1 获取向后台请求的数据data(key/value方式),可以是个对象(obj),也可以是数组(arr); 2 将数据的k ...

  2. Java Web学习总结(26)——Servlet不同版本之间的区别

    1.   2.3版本 2.3版本 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2. ...

  3. 2015 Multi-University Training Contest 4 hdu 5334 Virtual Participation

    Virtual Participation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Ot ...

  4. ASP.NET-Microsoft.Management.Infrastructure错误

    错误如图所示,将MVC发布到IIS上就会出现这个错误,我用到了NPOI这个EXCEL插件,不知道是不是这个造成的,但是实在找不到解决方案,就直接将BIN目录下的这个Microsoft.Manageme ...

  5. SQL学习之使用order by 依照指定顺序排序或自己定义顺序排序

    我们通常须要依据客户需求对于查询出来的结果给客户提供自己定义的排序方式,那么我们通常sql须要实现方式都有哪些,參考很多其它资料总结例如以下(不完好的和错误望大家指出): 一.假设我们仅仅是对于在某个 ...

  6. Apache shiro 笔记整理之编程式授权

    下面内容是在看了涛哥的<跟我一起学shiro> 和 视频<一头扎入进shiro> 后整理出来备忘和方便自己和其它人学习. 个人主页:http://www.itit123.cn/ ...

  7. sizeof()函数的使用——————【Badboy】

    1.sizeof的使用:sizeof操作符以字节形式给出了其操作数的存储大小. sizeof操作符不能用于函数类型,不全然类型或位字段.不全然类型指具有未知存储大小的数据类型,如未知存储大小的数组类型 ...

  8. Cocos2d-x可以实现的动画效果

    动作(Actions)move移动:moveto/moveby 从一个位置移动到另外一个位置 从一个位置移动多少数量级rotate旋转:rotateto/rotateby 从一个角度旋转到另外一个角度 ...

  9. JavaScript事件驱动机制&amp;定时器机制

    在浏览器中,事件作为一个极为重要的机制,给予JavaScript响应用户操作与DOM变化的能力.在NodeJS中.异步事件驱动模型则是提高并发能力的基础. 一.程序怎样响应事件 程序响应外部的事件有两 ...

  10. angular4(3)angular脚手架引入scss

    scss..sass....sccc...ssss...ccccc......MMP················· 先说下scss和sass的异同: SCSS 是 Sass 3 引入新的语法,其语 ...