您的位置:首页 > 移动开发

2016最新支付宝APP支付集成问题解决

2016-09-09 16:29 323 查看
1.首先集成过程从官网下载DEMO与SDK

将sdk以下文件导入到工程中

AlipaySDK.bundle

AlipaySDK.framework

2.添加支付宝sdk所需要的依赖库



xcode7之前是dylib,xcode7之后是tbd

3.在info.plist中添加对http请求的支持



4.在info中添加schemes



5.添加支付宝demo中的util和openssl两个文件夹中的文件到工程中,将DEMO中的两个openssl支持库添加到工程中



然后配置openssl的路径,在header search path中添加$(SRCROOT)/工程名

这里要注意的是这个路径是openssl文件夹所在的路径,在支付宝的demo中是根目录下所以只要写工程名,我们自己放的时候要填写能够找的到openssl的文件夹目录。

在调用支付的类中添加

AlipaySDK/AlipaySDK.h

生成私钥可以到支付宝官网下载工具生成

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.eB0Tz9&treeId=193&articleId=105310&docType=1

生成的3个.pem文件将rsa_public_key上传至支付宝官网,rsa_private_key_pkcs8用于商户端签名

具体的调用方法看demo中的方法

下面看下导入会碰到的一些问题

1.openssl中的c头文件找不到,xxx.h not found;

这个问题就是上面header search path 中的路径配置不对,重新配置一下就可以了

2.openssl中的方法与原工程中的方法有冲突,我遇到的是openssl 中有个md5.h与我原工程中的MD5冲突了,把原工程的方法名改了就好了

3.在支付宝签名过程中返回NULL,签名用的私钥要用生成私钥时三个文件中的rsa_private_key_pkcs8.pem

4.还有一个在跳转到支付宝支付出现”系统繁忙,请稍后再试ALI40247”的问题,

首先看下在支付宝注册的应用是否有APP支付的授权服务,没有的话要先添加支付宝的服务,在支付宝的”功能中心-查看-功能服务-申请功能”添加APP支付,

如果添加了服务还不行就要看私钥是否是与上传至支付宝的公钥匹配,

还有的情况,网上说对服务端放回的订单信息进行去除特殊符号的处理,如果是在客户端做这个签名,则加了这个去除符号的也会出现这个问题(我就是这个问题)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: