支付宝当前最新版集成2.1.2版本
来源:互联网 发布:数据预处理的内容 编辑:程序博客网 时间:2024/06/11 04:21
说道支付宝SDK集成就让人感觉到头疼,找个集成包都不好找,原来旧版本的支付宝SDK现在依然可以使用,但是
不支付64位,现在新版本的已经支付64位了。
这个是快捷支付SDK的位置,https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=1#ps-tabinfo-hash
点击 技术集成,就有一个集成开发包,下载后会有SDK。
把集成包全部放到同一个文件夹中,如AlipaySDK2.1.2,
那么需要在工程配置中header path 中添加AlipaySDK2.1.2相对于工程的路径,否则会提示openssl/rsa.h不存在之类的提示。
接下来就是集成代码了。
我这里写了一个支付宝helper类
//// HYBAliapayHelper.h//// Created by 黄仪标 on 14/12/10.// Copyright (c) 2014年 xiaoyaor. All rights reserved.//#import <Foundation/Foundation.h>/*! * @brief 支付宝支付功能封装类,此类提供一键式调起支付宝功能,方便快捷 * * @author haungyibiao */@interface HYBAliapayHelper : NSObject// 先调这个方法来获取服务器的数据+ (AFHTTPRequestOperation *)requestWithParams:(NSDictionary *)params completion:(HYBSuccessDictBlock)completion errorBlock:(HYBErrorBlock)errorBlock;// 再调这个方法来调起支付宝// 参数:一,调用- (void)requestWithParams:(NSDictionary *)params// completion:(HYBSuccessDictBlock)completion// errorBlock:(HYBErrorBlock)errorBlock 所返回来的参数// resultNumber 有以下几种状态:+ (void)alixPayWithResponse:(NSDictionary *)response completion:(HYBSuccessIdBlock)completion;// 在appdelegate中调用+ (void)handleOpenURL:(NSURL *)url application:(UIApplication *)application;@end
这里使用的是AFN网络库。
@implementation HYBAliapayHelper+ (AFHTTPRequestOperation *)requestWithParams:(NSDictionary *)params completion:(HYBSuccessDictBlock)completion errorBlock:(HYBErrorBlock)errorBlock { return [HYBHttpManager aliapayMerchantInfoParams:params completion:^(NSDictionary *resultDict) { if (completion) { completion(resultDict); } } errorBlock:^(NSError *error) { errorBlock(error); }];}// resultNumber 有以下几种状态:// 0 表示成功,1表示未安装,2表示签名错误,3表示参数错误,4,失败原因,字符串类型+ (void)alixPayWithResponse:(NSDictionary *)responseObject completion:(HYBSuccessIdBlock)completion {// 此处省略与SDK无关的代码 /* 9000 订单支付成功 8000 正在处理中 4000 订单支付失败 6001 用户中途取消 6002 网络连接出错 */ // 这个callback是使用HTML5网页版支付时的回调,如果是用客户端支付,是不会回调到这里的 [[AlipaySDK defaultService] payOrder:payRequest fromScheme:@"XiaoYaoUserUrlSchemes" callback:^(NSDictionary *resultDic) { if (delegate.alipayResultBlock) {// html5回调处理 NSNumber *number = @([resultDic[@"resultStatus"] integerValue]); delegate.alipayResultBlock(number);// 这里的Delegate是AppDelegate } }];}// 跳到支付宝应用后回调,这个是调用支付宝客户端时,会通过这个方法回调+ (void)handleOpenURL:(NSURL *)url application:(UIApplication *)application { [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) { AppDelegate *delegate = (AppDelegate *)[UIApplication sharedApplication].delegate; DDLogVerbose(@"resultDic = %@", resultDic); if (delegate.alipayResultBlock) {// 跳到支付宝应用后回调 NSString *status = resultDic[@"resultStatus"]; DDLogVerbose(@"%@", status); NSNumber *number = @([status integerValue]); delegate.alipayResultBlock(number); } }]; return;}- (NSError *)errorWithMessage:(NSString *)message { NSError *error = [[NSError alloc] initWithDomain:message code:0 userInfo:nil]; NSLog(@"%@", [error description]); return error;}@end
这里需要特别注意的是两个callback的条件。
2 0
- 支付宝当前最新版集成2.1.2版本
- 最新版支付宝集成
- Android集成支付宝支付(最新版,无脑操作)
- 最新版支付宝电脑网站支付原理及yii2中集成使用教程
- 集成 支付宝支付
- 集成支付宝支付
- 支付宝支付集成
- 集成支付宝支付
- 支付宝支付集成
- 支付宝支付集成
- 支付宝支付集成
- 2分钟集成支付宝
- Android支付宝-2016最新版支付宝,实现支付功能
- 支付宝支付功能集成
- 集成支付宝快捷支付
- 支付宝移动支付集成
- iOS 集成支付宝支付
- Cordova集成支付宝支付
- 查找算法之二分查找
- java解惑之字符之谜(谜题13)
- 怎么在spring官网上下载spring的jar包, 源代码和文档?
- 如何使用.options文件来debug Eclipse的插件
- android应用程序如何调用支付宝接口
- 支付宝当前最新版集成2.1.2版本
- abstract class和interface
- CES展中国硬件崛起 在欧美市场展开价格战
- 配置ssh-keygen比较具体比较小白的步骤
- 【BUG记录】emulator-5554 disconnected! Cancelling '项目名 activity launch'!
- Android4.0开发学习之ImageButton
- Qt子窗体关闭时,不走析构函数
- 远程授权
- 删除dedecms友情链接中<li>标签的方法