ios 开发良品铺子简单的IOS专题

简单-支付宝微信支付具体接入流程以及遇到的问题

2016-03-28  本文已影响894人  Www刘

上周在项目中介入了支付宝支付以及微信支付,在接入过程中遇到了很多问题,下面将接入过程以及常见问题做一下总结:

支付宝开发文档地址支付宝开放平台 - 文档中心

支付宝接入注意点:

签名注意:商户在接入的过程中,对于订单的签名行为需发生在服务端(私钥需要妥善保管),切忌将私钥落在客户端进行签名

通知地址:通知地址建议走https,确保商户的订单信息不外泄

测试场景:商户在测试支付的过程中,需要包括的场景:安装支付宝钱包、无支付宝钱包,并确保两个模式都能支付成功

步骤:

生成公司的私钥+公钥对,方法在文档中,注意,IOS和Android客户端使用的签名证书采用PKCS8格式,PHP使用的签名不采用PKCS8格式的证书;

将公钥上传到支付宝网站合作伙伴栏,上传成功后即可查看支付宝的公钥

下载支付宝公钥,这里是拷贝,注意把拷贝下来的内容按照64个字符长度换行保存成pem文件

公钥即可用来验证来自支付宝通知内容

接入流程:

步骤1:启动IDE(如Xcode),把iOS包中的压缩文件中以下文件拷贝到项目文件夹下,并导入到项目工程中。

AlipaySDK.bundle

AlipaySDK.framework

在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:

SDK依赖

其中,需要注意的是:

如果是Xcode 7.0之后的版本,需要添加libc++.tbd、libz.tbd;

如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib(如下图)。

步骤2:在需要调用AlipaySDK的文件中,增加头文件引用

#import<AlipaySDK/AlipaySDK.h>

步骤3:如果你的app基于9.0编译,那么为了适配iOS9.0中的App Transport Security(ATS)对http的限制,这里需要对支付宝的请求地址alipay.com、alipayobjects.com做例外,在app对应的info.list中添加如下配置(文中以XML格式描述)。

如果商户配置了如下的配置:

则上述的NSAppTransportSecurity可以不配置。

步骤4:配置请求信息。

步骤5:配置支付宝客户端返回url处理方法。

(外部存在支付包钱包,支付宝钱包将处理结果通过url返回。)

常见问题:

参考:集成支付宝IOS

iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)_sad灵动_新浪博客

1.如果遇到运行后报错,类似于以下提示信息:Cannot find interface declaration for "NSObject', superclass of ‘Base64’ 等错误加入头文件

2.若果支付宝不能跳转回来,是因为没有写相应的回调URL

微信接入:

文档还是不错的,接入步骤可以参考文档:【微信支付】APP支付开发者文档

SDK下载地址:微信开放平台

我的这篇文章:简单-微信支付宝支付 - 简书

问题:iOS集成微信支付的一些坑:onResp不回调、只显示一个确定按钮、闪回 - Xoneday - 博客频道 - CSDN.NET

上一篇下一篇

猜你喜欢

热点阅读