那些年,集成支付宝遇到的坑

下面开始填坑

第一个坑:缺少相关的库文件,比如下面

093846_ZwCV_2332019.png

很明显,有经验的一看,缺少一个关键的库,sqlite3.tbd,导入相关库即可,

解决办法,如下图

094257_PTCG_2332019.png

以此经验,如果还爆出类似的错误,一定是缺少相关的库,导入相关库就oK了


第二个坑:最常遇见的坑,最烦人的坑!

#import <openssl/rsa.h>   这个头文件找不到!!!打开SDK查找这个头文件明明在里面,Xcode却说找不到,具体问题如下图:

095318_IDkL_2332019.jpg

下面说说我是解决这个的时候的思路

之前我是直接把整个SDK所有的文件拖进了Xcode工程,然后commond+B编译一下,看有没有缺少支付宝所依赖的库文件,发现没有,之后爆出这个问题缺少头文件,那么这时可以肯定是编译头文件的路径错误,我们可以仔细去看看支付宝官方的示例代码,发现它把SDK直接放在了工程下啦!而不是放在工程的某一路径文件下面!于是我参照他的做法,也把SDK直接放到自己的工程下面,如下图

100832_zvnD_2332019.png

操作完上述步骤之后,点击工程名,来到下面的界面继续按照图上的箭头继续操作101533_AaCl_2332019.jpg

点击上图红色框的右下角的+,添加$(PROJECT_DIR)/Alipay,表示吧SDK放到当前工程下,不是工程文件的某一路径下。然后再commond+B编译一下,发现这个问题解决了有木有!!!总算解决了这个棘手的问题!


第三个坑:所有环境都搭建好了,在真机支付时,却提示支付失败!心累!问题一波未平一波又起!具体问题如下图

102220_mkrt_2332019.png

报错ALI59!!

仔细检查代码,又去百度了,发现竟然商品编号我填入了中文,我的天!

102705_7NJe_2332019.png

要解决这个问题,吧商品编号改为英文的就好了,

102928_5B1s_2332019.png

好啦,现在上班时间就写到这吧,如有错误,请留言!欢迎大家补充,或者吐槽一下自己在集成支付宝遇到的各种坑!

下次写写微信支付的坑!


(2016 4 26)今天突然发现支付宝相关参数填错了,也会报这个错误,故而在这里更新一下,记录。


第四个坑:支付宝重复支付

如下图

133638_rHnM_2332019.png

报了一个ALI38869

这个原因是:重复支付!!在程序里的体现是:订单号固定不变。而实际情况是要变化的!

程序错误示例如下134200_7KQk_2332019.png

订单号应该是变化的,而不是写死的,这里只是做测试,大家在实际项目中不可这么写

那解决办法就很容易了,吧订单号(tradeNO)随便修改一下就好了,和前面不相同即可!


第五个坑:支付宝回调失败的坑

有时候当我们支付完毕后,不需要留在支付宝,而是回到原来所在的 APP,但是突然遇到不能回调原来APP界面,显示的是一片白色的界面。比如,用户支付成功支付后,或者取消支付的时候,都应回到原来的APP,但是我这边却显示的是一片白色的界面,如下图

173457_Z7GK_2332019.png

当我点击取消(红色箭头所指的叉),或者支付完成应该回到原来的界面。这是什么原因了?我明明设置了URLschem,为什么还是不行?后来我恍然大悟,是不是URLschem设置成了中文,后来我果然猜对了,URLschem不能设置成中文!!!改成英文的,URLschem在下图设置

174235_JZii_2332019.png

好了,修改成英文的就好了

支付宝常见的回调结果

174455_Xpvg_2332019.png

在下面这个方法进行回调结果的处理

174536_mdGY_2332019.png

比如,如下图

174610_2gDU_2332019.png

当用户支付成功或者取消支付的时候,想要隐藏这个界面要怎么办了?

我的处理方法是:发通知让相应的控制器去影藏这个界面,处理方法如下:

174928_dBpo_2332019.png

好啦,快下班了,今天写到这里,有问题会持续更新的!!!


转载于:https://my.oschina.net/iOSliuhui/blog/651214

来源:https://my.oschina.net/iOSliuhui/blog/651214


智能推荐

iOS集成支付宝

使用支付宝进行一个完整的支付功能,大致有以下步骤: 1>先与支付宝签约,获得商户ID(partner)和账号ID(seller)(这个主要是公司的负责) 2>下载相应的公钥私钥文件(加密签名用) 3>下载支付宝SDK(登录网站:http://club.alipay.com/)里面提供了非常详细的文档、如何签约、如何获得公钥私钥、如何调用支付接口 4>生成订单信息 5>...

java集成支付宝

1.app支付服务端DEMO&SDK  官方网址:https://docs.open.alipay.com/54/106370/ 下载sdk,并在项目中引入包 2.java服务端增加一个接口(根据app业务参数调用支付宝SDK生成支付订单并返回), 示例代码如下:     //实例化客户端     AlipayClien...

集成支付宝流程

SpringBoot集成电脑端支付宝功能流程 参考链接:https://docs.open.alipay.com/270 集成支付功能之前我们需要先下载一个内网穿透工具,去对我们的内网项目配置公网映射路径,这个是确保支付完成之后,支付宝回调能够在公网中访问我们的项目,去发送支付成功的数据,但是这个一般在真实开发环境,并不需要我们去下载,因为公司的项目肯定是发布在公网当中的:配置流程如下: 1.访问...

支付宝支付配置踩过的坑

在调用支付宝支付时出现以下错误: 在参考了官方给出的排错文档之后(RSA2私钥填写错误报错集合),依旧没有找出问题所在。 最后通过一步步断点调试发现,原来在项目配置商户私钥的时候是直接读取的.pem私钥文件的,该商户私钥文件中已经包含了“BEGIN”头和“END”尾,而官方提供的SDK中的AopClient.php文件的sign方法里面有这么一段代码...

SpringBoot集成支付宝沙箱支付

虽然这里用的spring boot 但是我用的还是jsp文件,具体如何支持jsp文件可以参考我这篇文章 https://blog.csdn.net/qq_40312707/article/details/89076725 先是开发前准备: 1.支付宝有现成的例子可以下载,根据自己语言下载即可 demo下载地址:https://docs.open.alipay.com/270/106291 2.免费...

猜你喜欢

无意中发现看书也是一种美

2012年4月25日晚,翻翻自己喜欢的一门语言学习书(python参考手册),无意中发现书中夹着之前的明信片(有一次和同事一起去前门邓丽君音乐生活馆留下来的),感觉学习也是一种美!于是乎拍下这不经意的时刻,哈哈!...

香橙派OrangePi PC Plus开发板连接USB以太网卡测试说明

1) 目前测试过能用的 USB 以太网卡如下所示,其中 RTL8153 USB 千兆网卡插入开 发板的 USB 2.0 Host 接口中测试可以正常使用,但是速率是达不到千兆的,这点请 注意   2) 首先将 USB 网卡插入开发板的 USB 接口中,然后在 USB 网卡中插入网线,确 保网线能正常上网,如果通过 dmesg 命令可以看到下面的 log 信息,说明 USB 网卡...

计算机网络基础:Vlan,网关,dns吗,子网掩码等!面试必备!

很多朋友多次问到什么是网关、dns、子网掩码,三层交换机,它们定位的用途;确实,因为网络技术在弱电中确实应用非常广泛,我们平时在 vip 技术群中也是不断的讨论到网关、vlan、三层交换机或子网掩码等问题,今天我们就一起用通俗方式一次性了解清楚。 一、什么是 vlan? VLAN 中文是 “虚拟局域网”。LAN 可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机...

乐播科技冯森:我为什么不看好Android电视游戏

(乐播科技的三位创始人,从右往左依次为:冯森、廖峰、陈锡华) 电视在家居生活中扮演的角色重新获得了人们的认知,这块屏幕成为巨头们谋划的方向,其中一个属性便是家庭的娱乐中心。但在国内,各种基于Android平台的电视和盒子又面临游戏内容缺乏的窘境。当然,很多人或者团队都在努力着希望完善这个生态系统,但是好像没有那么简单。 另一方面,苹果系统已经是非常成熟的平台,各类iOS游戏的质量也很高。于是,来自...

Java使用阿里云OSS对象存储上传图片

该案例是OSS Java SDK的示例程序,您可以修改endpoint、accessKeyId、accessKeySecret、bucketName后直接运行。 本示例中的并不包括OSS Java SDK的所有功能,详细功能及使用方法,请参看“SDK手册 > Java-SDK”, 链接地址是:https://help.aliyun.com/document_detai...

问答精选

How to extract beta coefficients for interaction effect in R?

I am examining the interaction between a continuous variable (bloodq) and a categorical variable with three levels (ER, RB, and WB). In order to see how the betas differ across tissue types, I would l...

what is the difference between Flatten() and GlobalAveragePooling2D() in keras

I want to pass the output of ConvLSTM and Conv2D to a Dense Layer in Keras, what is the difference between using global average pooling and flatten Both is working in my case. That both seem to work d...

How to invoke a test step with inputs at runtime from groovy script in SOAP UI?

I am writing a validation groovy script for a test step, intended to test a SOAP Web Service. Now, I want to call the same test step, with different input value from the groovy script. Is it possible?...

Wicket pagestore results wrong page

I have a problem with my web application with wicket. I am using wicket 6.14. I can't say exactly what the problem is, but I can describe the problem. I am using a self written pagestore, which uses h...

Unity load files from outside of resources folder

In unity is it possible to load a resource that is out side of the resources folder. I want the user to be able to set a textAsset variable from a file outside of the Assets directory entirely. You ca...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答