支付宝流程、集成支付功能及部分代码

1.支付宝

a.什么是支付宝

  •    第三方支付平台
  • 简单来说,就是可以协调客户、商户、银行三者关系的方便平台

 

b.集成支付宝

  •   现在不少app内都集成了支付宝功能
  • 使用支付宝进行一个完整的支付功能,大致有以下步骤:
  • 与支付宝签约,获得商户ID(partner)和账号ID(seller)
  • 下载相应的公钥私钥文件(加密签名用)
  • 下载支付宝SDK
  • 生成订单信息
  • 调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
  • 支付完毕后返回支付结果给商户客户端和服务器

 

 

2.SDK下载

a.下载sdk

 

 

 

 

 

 

b.SDK目录结构

 

c. SDK的作用

  • 里面提供了非常详细的文档,内容如下:
  • 如何签约
  • 如何获得公钥私钥
  • 如何调用支付接口

3. 支付流程

1.1支付流程.

完整的支付服务业务流程和支付数据流程图,可以参考android文档

 

1.2支付流程安全支付服务业务流程

 

1.3调用安全支付数据流程

 

 

4.集成支付功能

1.1Demo集成支付功能的具体操作方式,可以参考Demo

 

1.2 Demo的常见问题

  • 当第一次打开Demo时,可能会出现以下问题:

 

  • 错误原因很简单,就是项目的部署版本设置太低了,从3.0改为4.3即可

 

1.3依赖的库文件

 

  • 要想集成支付功能,依赖以下文件夹的库文件(把这3个添加到你的客户端中)

 

1.4如何调用支付接口

  • 调用支付接口可以参考AlixPayDemoViewController的下面方法

-       (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

如何创建订单、如何签名、如何调用支付接口,都在这个方法里面了

1.5接口调用步骤

1.封装订单模型

AlixPayOrder *order = [[AlixPayOrder alloc] init];

// 生成订单描述

NSString *orderSpec = [order description];

2.签名

id<DataSigner> signer = CreateRSADataSigner(@“私钥key”);

// 传入订单描述 进行 签名

NSString *signedString = [signer signString:orderSpec];

3.生成订单字符串

NSString *orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",

                         orderSpec, signedString, @"RSA"];

4.调用支付接口

AlixPay * alixpay = [AlixPay shared];

// appScheme:商户自己的协议头

int ret = [alixpay pay:orderString applicationScheme:appScheme];

posted on 2014-01-12 22:40  林源  阅读(657)  评论(0编辑  收藏  举报

导航