iOS 支付 [支付宝、银联、微信]


转:http://www.jianshu.com/p/40a2327578d1


支付宝

使用支付宝进行一个完整的支付功能,大致有以下步骤:

 1>先与支付宝签约,获得商户ID(partner)和账号ID(seller) (这个主要是公司的负责)  

2>下载相应的公钥私钥文件(加密签名用) 

3>下载支付宝SDK 

4>生成订单信息 

5>调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道 

6>支付完毕后返回支付结果给商户客户端和服务器

在实现支付宝过程中,我们首先需要官方的文档以及支付宝的SDK.这个第一次开发时,SDK很难找到下载地址,这里给大家留下传送门:

支付宝开发者平台:https://doc.open.alipay.com/doc2/alipayDocIndex.htm

支付宝SDK下载地址:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=4#ps-tabinfo-hash

下载成功后可以看到如下的文档:

给大家标记的是一个支付宝的开发文档.里面有详细的开发步骤.

iOS 支付 [支付宝、银联、微信]_第1张图片

工程开发配置

首先我们需要从官方demo中拿到我们需要的类以及依赖库,并将他们都拖入到我们的自己的工程项目中:

我们首先需要拿到官方的demo. 以下是官方demo的文件路径:


路径

找到我们需要的文件(ps:已经给大家标记出来了).这些文件都是我们工程中需要的文件.

iOS 支付 [支付宝、银联、微信]_第2张图片

工程配置文件

支付宝开发工程依赖库

iOS 支付 [支付宝、银联、微信]_第3张图片
依赖库

所有的配置完成后,工程项目可能会存在一些错误:

我们需要在该文件中引入头文件.(这些错误官方开发者文档也有说明哟)

iOS 支付 [支付宝、银联、微信]_第4张图片

除此之外还会有一个路径错误:

iOS 支付 [支付宝、银联、微信]_第5张图片

解决这个路径问题也很简单.官方文档也说的很清楚.你需要在我们的项目中设置下路径

iOS 支付 [支付宝、银联、微信]_第6张图片
'openssl/asn1'file not found解决方法

这些配置完成后是不是编译之后就成功了呢!

(ps:请大家注意这个细节.在工程配置中设置URL Schemes,如果不设置,那么支付跳转到支付宝后,无法再回到自己的app) 

iOS 支付 [支付宝、银联、微信]_第7张图片
URL Schemes设置

这里给大家写了一个按钮关联了一个支付宝支付的方法.里面给大家写了详细的参数注释.

下载demo地址:http://pan.baidu.com/s/1o7qrTfc

银联支付

银联支付官方SDK下载地址:https://open.unionpay.com/ajweb/help/query


iOS 支付 [支付宝、银联、微信]_第8张图片
官方SDK下载位置
iOS 支付 [支付宝、银联、微信]_第9张图片
手机支付属于手机控件支付产品

下载后我们需要找到以下位置


 控件使用指南就是我们的开发者文档. 控件开发包是官方提供的官方demo

这次打开官方的开发者文档.是不是想说:呵呵!写的真是漂亮

那么我这次就给大家说明下:

1、SDK 说明

SDK 分为以下两个版本:

1.支持纯无卡交易静态库,以下简称 UPPayPlugin,包含文件:

UPPayPlugin.h  UPPayPluginDelegate.h  libUPPayPlugin.a

2、支持纯无卡交易和 VIPOS 音频口支付静态库,以下简称 UPPayPluginPro,公司自主研发的 VIPOS(即“voice interface POS ”音频接口 POS 机)支付平台,与银联联合运营,并协助银 联制定了手机 POS 等安全规范、业务与技术标准。

包含文件:

UPPayPluginPro.h

UPPayPluginDelegate.h  libUPPayPluginPro.a

3、添加 SDK 包

a.根据商户选择的SDK版本,将sdk/inc目录和sdk/libs目录下对应版本的三个文件添加到 UPPayDemo 工程中;

b.如 果 你 选 择 的 是 UPPayPlugin 版 本 , 添 加 QuartzCore.framework 、Security.framework 到工程中;

c.如 果 你 选 择 的 是 UPPayPluginPro 版 本 , 添 加 QuartzCore.framework 、AudioToolbox.framework, CoreAudio.framework 、 MediaPlayer.framework,AVFoundation.framework 和 Security.framework 到工程中;

工程配置:

1.在需要调用支付控件的源文件内引用头文件 UPPayPlugin.h 或 UPPayPluginPro.h(注意:如果工程的 compile source as 选项的值不是 Objective–C++,则引用此头文件的文件类型都要改为.mm)

iOS 支付 [支付宝、银联、微信]_第10张图片
直接修改类型就可以

2.在工程的 Build Settings 中找到 Other Linker Flags 中添加-ObjC 宏.(注意大小写.O是大写.C是大写)

iOS 支付 [支付宝、银联、微信]_第11张图片
-ObjC注意大小写

3.将 xcode 工程中 Build Setting -> Apple LLVM compiler Language 标签下的 C++ Language Dialect 和 C++ Standard Library 属性值修改为 Compiler Default

iOS 支付 [支付宝、银联、微信]_第12张图片
C++ Standard Library
iOS 支付 [支付宝、银联、微信]_第13张图片
C++ Language Dialect

这里给大家写了一个按钮关联了一个银联支付的方法.里面给大家写了详细的参数注释.

下载demo地址:http://pan.baidu.com/s/1i4s4azz

微信支付

微信支付官方SDK下载地址:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1

在官方的开发者平台上面还有开发者文档

iOS 支付 [支付宝、银联、微信]_第14张图片
开发者文档

开发步骤

1:去微信开放平台注册应用

https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN&token=2c0fee9c43e1eb8f9febcc7cb73abf598e2d4011

创建移动应用并成功之后会收到腾讯发来的邮件


iOS 支付 [支付宝、银联、微信]_第15张图片
微信官方发来的邮件

通过邮件你能获得重要的参数:

(1):AppID

(2):微信支付商户号

(4):前往商户平台完成入驻

(4):API秘钥(自己设置即可,注意一定要32位字母加数字的组合)记得保存好秘钥,以后要使用

iOS 支付 [支付宝、银联、微信]_第16张图片
设置密钥


iOS 支付 [支付宝、银联、微信]_第17张图片
设置密钥

有了这些参数后,我们就可以开发自己的项目了.

首先我们需要把我们下载好的sdk导入到我们工程当中.

iOS 支付 [支付宝、银联、微信]_第18张图片
官方sdk

这3个文件是必须要导入到工程中去的.除了这个以外,我们还需要把依赖库给添加到工程中去

iOS 支付 [支付宝、银联、微信]_第19张图片
依赖库

这些信息配置完成后,那么整个项目就可以进行代码实现支付了.

具体代码实现部分可以参考我的demo.也是非常简单的按钮关联了一个支付的方法.里面对参数写了详细的注释.

微信支付demo下载地址:http://pan.baidu.com/s/1pKooaiJ


你可能感兴趣的:(iOS)