IOS 第三方支付的使用:支付宝

本文转载至 http://blog.csdn.net/u014011807/article/details/47726799

总结一下支付宝iOS使用步骤:

1 第三方支付:支付宝

使用过程:

1.1  向支付宝申请支付宝使用权限。

这个步骤一般是以公司的名义,填写各种公司信息,最后审核通过。

1.2 获取关键参数

selleder_ID

parter_ID

加密信息

1.3  下载支付宝集成SDK(无线移动版)放到我们的应用中

1.4 开始编写代码

1.4.1 编辑商品信息

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

order.productName = 商品名称;

order.productDescription = 商品描述;

order.partner = 合作者身份ID;

order.seller = 卖家支付宝账号;(卖家唯一标示)

order.amount = 支付金额;

1.4.2 订单信息加密

首先利用商户私钥生成一个对象,然后用这个对象加密订单信息。

id<DataSigner>signer = CreateRSADataSigner(商户私钥);

NSString *signedString = [signer signString:[order description]];

1.4.3 组合订单信息

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

[order description], signedString, @"RSA"];

1.4.4 开始进行订单支付

参数1 订单信息

参数2 网页支付 回调APPscheme

参数3 回调方法

参数4 回调对象

[AlixLibService payOrder:orderString AndScheme:@"tuangou" seletor:@selector(getResult:)target:self];

1.4.5 支付完成处理

支付完成处理分为两种情况,一种是网页支付处理,一种是客户端支付处理

如果是客户端版:(意思就是从支付宝的客户端跳转回这个App)

在AppDelegate中使用回调方法:

- (BOOL)application:(UIApplication*)application openURL:(NSURL *)urlsourceApplication:(NSString*)sourceApplication annotation:(id)annotation

在这里处理相应的逻辑:

支付结果验证逻辑可以参考支付宝的SDKdemo,基本不用修改神马。

AlixPayResult * result = nil;

if (url != nil && [[urlhost] compare:@"safepay"] == 0) {

NSString * query = [[url query] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

#if ! __has_feature(objc_arc)

result = [[[AlixPayResultalloc] initWithString:query] autorelease];

#else

result = [[AlixPayResult alloc] initWithString:query];

#endif

}

if (result.statusCode == 9000) {

将支付时候的私钥与现在的公钥进行配对。

id<DataVerifier> verifier = CreateRSADataVerifier(AlipayPubKey);

if ([verifier verifyString:result.resultString withSign:result.signString]) {

验证信息有效

} else { // 失败

}

} else {

// 失败

}

return  YES;

如果是网页版 回调方法参考1.4.4. 这里就不多说了。处理逻辑参考上面的代码。有一点需要注意:URL Scheme:

Target info中添加这个Scheme

时间: 2024-10-02 17:43:28

IOS 第三方支付的使用:支付宝的相关文章

ios第三方支付流程

现在不少app内都集成了支付宝功能,因此对于iOS开发人员来说,也应该熟悉第三方支付 关于安全支付的流程,支付宝的文档里有个很好的图 数据流程 使用支付宝进行一个完整的支付功能,大致有以下步骤: 与支付宝签约,获得商户ID(partner)和账号ID(seller) 下载相应的公钥私钥文件(加密签名用) 下载支付宝SDK 生成订单信息 调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道 支付完毕后返回支付结果给商户客户端和服务器 支付宝提供了Demo让开发人员快速了解支付的接入流程:htt

iOS第三方支付集成

支付宝(alipay)和微信支付(Wechat Pay) 支付宝: 一.整体流程 (1)先与支付宝签约,获得商户ID(partner)和账号ID(seller)(注册app?用) (2)下载相应的公钥私钥?文件(加密签名用) (3)下载支付宝SDK. (4)根据SDK设置(如何签约.如何获得公钥私钥.如何调用支付接?口) (5)生成订单信息 (6)调用支付宝客户端,由支付宝客户端跟?支付宝安全服务器打交道 (7)支付完毕后返回?支付结果给商户客户端和服务器. 二.SDK设置流程 (1)拿到商户I

iOS第三方支付集成——微信支付

近期笔者开发的项目中,需要用到支付宝支付和微信支付.大概一个月前,支付宝就已经集成完毕并可以正常使用.但在集成坑爹的微信支付SDK时,遇到了诸多问题,搞了将近三个星期.期间不断的跟后台同事核对代码(签名.下单),支付流程,其中的血泪艰辛,不言而喻.现笔者把集成过程中遇到的一些问题记录下来,供自己和大家参考.如果有什么不对的地方,也请大家多多指正: 吐槽完了,下面出正文. 补充说明:第一准备阶段不需要开发者负责操作,如果你是iOS开发人员,只想找到调用微信支付的代码,可直接跳过 第一准备阶段. 一

iOS第三方支付-微信支付

微信支付用到的文件 1.首先支持非arc 2.设置URL types 3.AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    [WXApi registerApp:@"wxd930ea5d5a258f4f" withDescription:@"demo 2.0"];  

iOS第三方支付-银联支付

#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #import "UPPayPluginDelegate.h" /** 银联支付 测试账号: 卡号: 6226 4401 2345 6785 密码: 111101 * 1.导入框架:QuartzCore.framework,Security.framework 2.调用本类的控制器文件类型要改为.mm 3.调用本类方法 4.处理支付结果 */ @i

第三方支付平台业务分析

何为第三方支付平台 我们把时间往前推15年,1999年的时候国内的电子商务开始起步,一些电商网站开始运行.理论上人们可以通过网络进行支付.购物.用户在网上下单,支付,然后商家收到钱后发货,用户收到货物感觉非常嗨皮,一次美好的网购旅程结束了.但有时并不那么嗨皮,这种流程因为在支付和收货之间存在时间和空间上的距离,那么问题就来了,不是挖掘技术哪家强,而是用户和商家难以在彼此信任的问题上达成一致,用户担心我给了钱,商家不发货:商家担心如果先发货,用户不付钱.为了解决这种尴尬,第三方支付平台诞生了. 第

第三方支付集成

看一个典型的在线支付流程.第三方支付平台就是提供网上支付的平台,由第三方支付平台来和各个银行进行对接,商户只要和第三方支付平台对接即可,降低了商户的技术难度和接入门槛.常见的第三方支付平台:支付宝.网银在线.快钱.财付通.易宝等. 一个支付流程的数据流动:客户在网上商店挑选商品.点击支付,网站将用户重定向到第三方支付平台的支付网关,并且将订单号.金额等信息通过QueryString传递给支付网关,用户在第三方支付平台支付成功后,第三方支付平台会自动访问商户的确认页面,将支付成功的订单号等信息通过

第三方支付架构设计之—自有账户支付

笔者在上一篇blog<<第三方支付架构设计之-帐户体系>>中已经稍微全面的阐述了第三方支付架构设计中的账户体系,在该体系中,其实涉及了各种各样的账户:银行侧账户(包括用户在银行侧的账户:用户借记卡,信用卡,商户在银行侧的清算账户,结算账户等),第三方支付自有账户(跟银行侧账户比较类似,包括用户在第三方支付公司的账户和商户在第三方支付公司的账户)等. 我们知道,第三方支付本身是不直接接触实际资金的,所有的资金流必须走银行系统进行,因此这里涉及到的实际资金流的时候就会把交易请求转接到银

第三方支付过程中session失效问题

第三方支付过程中session失效问题 时间 2015-05-13 12:36:23  IT社区推荐资讯 原文  http://itindex.net/detail/53436-session-问题 主题 Java 问题产行于公司p2c交易平台的一个用户充值模块. 平台简介:该平台通过第三方支付(以下使用“支付宝”代替)完成与各大银行的交易(充值.投资.转帐.提现等操作),并将数据保存在我司的服务器数据库中,服务器使用tomcat,数据库Mysql 平台充值流程:用户登陆系统----点击充值--