集成支付宝SDK遇到的坑
一、首先我先把集成过程说一下。
小编想说的话:支付宝是我做支付中觉得坑最多的一个,各种编译不过,各种出问题。
废话不多说,进入主题:
1.首先当前是下载官方SDK啦,当前你也可以通过cocopods进行导入
1.1 官方下载地址文档
将下图两个文件导入您的项目中 (支付宝SDK)
1.2 cocopods导入
pod 'AliPay', '~> 2.1.2'
2.若通过cocopods导入直接跳过此步 -- 导入系统库
- 在项目中新建一个文件夹存放SDK 把官方demo 的所需的文件统统拷贝过来,如下图 其中
AlipaySDK.bundleAlipaySDK.FRAMEWORK根据你是否cocopods集成选择导入。
导入完毕之后还需要设置下路径以免出现问题User Header Search Paths
把上面的路径拖到里面即可。
或者使用 $(SRCROOT)/项目名称/SDK名称 也是可行的。
4.使用支付宝 需要配置 URL type 在info中直接配置即可
5.对了,还有一个就是需要支持iOS9 哦
1.https
2.白名单
走到这里基本上的配置就算完成了,那么我们该如何使用呢? 很简单支付宝有提供一个方法 我们只需要把所需要的参数给传递过去即可。下面为基本调用过程
参数说明:payOrder: 很明显是关于订单的信息
1.重点1
在demo 中 我们会看到如下一句代码
NSString *orderSpec = [order description];
意思是说 将商品信息拼接成字符串 这个拼接的过程他这个方法里已经封装直接调用即可。
2.重点 2
// 获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode
id<DataSigner> signer = CreateRSADataSigner(@"您的私匙");
NSString *signedString = [signer signString:@"重点1 的商品字符串"];
3.最后我们将所有内容拼接下 传递给支付宝SDK
orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
@"重点1 的商品字符串", signedString, @"RSA"];
appScheme:应用注册scheme,在AlixPayDemo-Info.plist定义URL types
综合上述 已经完成了大部分的工作,现在咱们运行看看效果。。。
运行中。。。。。
等待中。。。。。
卧槽,这不科学,报错了,这个时候我的内心是奔溃的。。。。
咋办??????
不要着急我们一个一个错误来看。
-
-
-
-
-
错误 1:
解决方案 我们只要添加头文件 (我是在pch 文件中加入)
import <Foundation/Foundation.h>
import <UIKit/UIKit.h>
错误 2
如果是按照上述我描述的步骤 是不会出现这个问题的,但是还是要说一下,万一遇到了呢?
解决方案:
在官方demo 中 有两个文件libcrypto.alibssl.a
将两个文件放在你的项目中即可。
错误 3
解决方案:
你少加了系统库哦
加上CoreMotion.framework 即可
错误 4
尼玛,明明有 你特么的说没有。这个问题其实就是他找不到你的这个文件,按照我之前的流程也是不会出现这个问题的。
解决方案: 将他需要的文件都放在一个文件夹中,并且Header Search Path添加路径.
直接将项目中的相应文件拖入即可.也可以$(SRCROOT)/文件路径.
错误 5
可能会报类似错误 大概就是这个第三方不支持 bitcode Xcode 7 默认为YES
解决方案: bitcode 设置为NO
错误 6
这个错误不知道为什么会发生? 请大神指导。。。
我只知道如何解决。
哈哈哈。。。。
找到 Always Search User Paths 设置为YES 即可。 是不是很神奇。
说到这里我需要介绍下
`#include“file.h”: 先搜索当前工作目录,如果没有,再去搜索库,库没有再搜索资源库;
当#include<file.h>:编译器先从标准库路径开始搜索,如果没再搜索资源库目录,最好搜索当前工作目录。
错误 7
在设置 应用注册scheme 时 切勿使用与支付宝系统重复命名,否则无法调用sdk。
陆续更细中......
原文链接:http://www.jianshu.com/p/16c2215ea37a
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
集成支付宝SDK遇到的坑的更多相关文章
- iOS - (集成支付宝SDK大坑总结)
其实集成支付宝相对于集成微信支付来说,支付宝算是简单的了,后续有空再去研究微信支付,现目前先总结一下集成支付宝所遇到的坑,其实支付宝的坑也不算太多,细算下来大概5-6个左右,但是其报错方式有点恶心,不 ...
- iOS开发——高级篇——如何集成支付宝SDK
一.什么是支付宝 第三方支付平台 和内购非常相似内购是用户将钱付款给苹果,之后苹果分成给商户支付宝是用户将钱付款给支付宝,之后支付宝将钱转入我们的账户 使用支付宝前提购买的物品必须是和应用程序无关的. ...
- 集成支付宝SDK流程
5.2 SDK集成流程 5.2.1 iOS 解压接口压缩文件(文件名是 WS_MOBILE_PAY_SDK_BASE.zip),找到iOS的压缩文件(文件名是支付宝移动支付SDK 标准版(iOS).z ...
- 服务端集成支付宝踩过的坑RSA、RSA2
坑 在配置蚂蚁开发平台的时候,切记一定要注意选择的加密方式是RSA,还是RSA2.因为这两种方式生成的支付宝公匙是不一样的.RSA2对应的是2048位支付宝公匙.在配置类Config中,要根据加密方式 ...
- 关于集成支付宝SDK的开发
下载 首先,你要想找到这个SDK,都得费点功夫.如今的SDK改名叫移动支付集成开发包了,下载页面在 这里 的 "请点此下载集成开发包" Baidu和Googlep排在前面的支付宝开 ...
- iOS支付宝SDK回调那坑
支付宝钱包支付接口开发包2.0标准版(iOS 2.2.1) ,回调不出来,demo给出的方法是: - (BOOL)application:(UIApplication *)application op ...
- Android集成支付宝的坑
Android在集成支付宝sdk的时候, 如果有安装支付宝,则启动支付宝app进行支付: 如果没有安装,则启动 H5PayActivity 进行支付. 记得在AndroidManifest里面配置: ...
- iOS - (集成支付宝第三方SDK大坑总结)
其实集成支付宝相对于集成微信支付来说,支付宝算是简单的了,后续有空再去研究微信支付,现目前先总结一下集成支付宝所遇到的坑,其实支付宝的坑也不算太多,细算下来大概5-6个左右,但是其报错方式有点恶心,不 ...
- iOS开发:集成支付宝(遇见的坑和便捷撸代码)
开发iOS最重要的就是支付了,天朝之内最常用的就是支付宝了,下面就以自己的经历说明如何集成支付宝+遇见的坑. 首先,集成支付宝最好别使用Cocoapods,很多人都说使用起来很方便,可是我每次只要使用 ...
随机推荐
- Webservice-Java-Xfire
最近公司最近需要将以前提供出去的接口统一用一个标准来实现,考虑到webservice这个是标 准,因此我花时间大概学习了一下webservice,也对JAVA的几个webservice框架进行了一些小 ...
- NSTimer 详细设置
NSTimer 详细设置1:http://blog.csdn.net/davidsph/article/details/7899483 NSTimer 详细设置2:http://blog.csdn.n ...
- 【ArcGIS 10.2新特性】ArcGIS Online新特性(上)
概述 7月,ArcGIS Online发布了很多更新.主要内容有:新的网站设计,增强了Web制图,数据分析,应用程序创建,以及机构管理等功能. 更新的大致内容总结如下: 地图查看器:新的分析工具.获取 ...
- python 间谍程序传输文件 socket编程
本程序实现了,把目标机器的某个目录(可控)的所有的某种类型文件(可控)全部获取并传到己方的机器上. 1.用了base64的encode(infile,outfile)加密,以及decode(infil ...
- 原生js获取body
1. doucumnet.body 2. document.getElementsByTagName("body")[0]
- .net的WebForm模拟MVC进行模型绑定,让自己少操劳
一.前言 用过MVC的兄弟们都知道,MVC有模型绑定表单提交的数据功能,那么我也想偷个懒也写个WebForm版的模型绑定.这里主要定义一个泛型方法,然后通过反射把表单上对应属性名字的值赋值到反射创建类 ...
- PL/SQL中字符串变量的分割转化
在编写PL/SQL时,有时候我们需要处理这样一个输入的变量,它的格式是由多个值通过分隔符组成的字符串,如“1,2,3”,我们需要将这个变量加入到我们的SQL中,形成诸如in('1','2','3')的 ...
- 实现VS2010整合NUnit进行单元测试
1.下载安装NUnit(最新win版本为NUnit.3.2.1.msi) http://www.nunit.org/index.php?p=download 2.下载并安装VS的Visual Nuni ...
- STL vector 用法介绍
介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通 ...
- 安装laravel
# 安装laravel 安装composer #安装 curl -sS https://getcomposer.org/installer | php #添加到PATH sudo mv compose ...