Latest 15.5.0
Homepage https://github.com/caosuyang/AlipaySDK
License MIT
Platforms ios 7.0, requires ARC
Frameworks SystemConfiguration, CoreTelephony, QuartzCore, CoreText, CoreGraphics, UIKit, Foundation, CFNetwork, CoreMotion
Authors

AlipaySDK

支付宝支付 SDK ,支持手动集成以及 Cocoapods 集成方式,持续更新。

安装 CocoaPods

在终端输入

sudo gem install cocoapods

如果安装成功,会有一个提示

Successfully installed cocoaPods

使用 CocoaPods 安装 SDK

在您项目工程 .xcodeproj 文件同目录下创建一个名为 Podfile 文件。如果您尚未创建 Xcode 项目,请立即创建一个并将其保存到您的本地计算机。

在当前工程文件 .xcodeproj 所在文件夹下,打开 terminal。

  • 创建 Podfile
touch Podfile
  • 编辑 Podfile 内容
platform :ios, '8.0' #手机的系统
target 'YourProjectTarget' do #工程名字
  pod “AlipaySDK” #支付宝支付SDK
end   
  • Podfile 所在的文件夹下输入命令
pod install 
//这个可能比较慢,请耐心等待……
end 
  • 导入成功,启动工程

升级新版 SDK

若已经安装了支付宝 iOS 支付 SDK,想要更新到最新版本,在 Podfile 文件的目录下使用以下命令

pod repo update #用于保证本地支付相关SDK为最新版 pod update   

使用 CocoaPods 的问题

pod search 无法搜索到类库的解决办法(找不到类库):

  • 执行 pod setup

  • 删除 ~/Library/Caches/CocoaPods 目录下的 search_index.json 文件
pod setup 成功后会生成~/Library/Caches/CocoaPods/search_index.json文件
终端输入rm ~/Library/Caches/CocoaPods/search_index.json
删除成功后再执行pod search
  • 执行 pod search

使用 SDK

import <AlipaySDK/AlipaySDK.h> 后,在 @implementation AppDelegate 中以下代码中的 NSLog 改为实际业务处理代码。

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

    if ([url.host isEqualToString:@"safepay"]) {
        //跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",resultDic);
        }];
    }
    return YES;
}

// NOTE: 9.0以后使用新API接口
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options
{
    if ([url.host isEqualToString:@"safepay"]) {
        //跳转支付宝钱包进行支付,处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"result = %@",resultDic);
        }];
    }
    return YES;
}

Swift 接入 SDK

  • 如果项目使用 Swift 为开发语言,需要添加桥接文件,如 Bridging-Header.h

  • 同时,在项目 Build Settings 中设置桥接文件的位置

  • 添加成功后,在桥接文件中写入 #import <AlipaySDK/AlipaySDK.h>

  • 如此,在需要调用 AlipaySDK 的地方,即可直接使用,具体调用方式参照 OC

  • 注意,运行时如果发生报错,在桥接文件中,写入 #import <UIKit/UIKit.h>

iOS 调用说明

接口名称:AlipaySDK

接口描述:提供支付功能。

Alipay 接口主要为商户提供订单支付功能。接口所提供的方法,如下表所示:

方法名称 方法描述
+(Alipay *)defaultService; 获取服务实例。
-(void)payOrder:(NSString )orderStr fromScheme:(NSString )schemeStr callback:(CompletionBlock)completionBlock; 支付并通过回调返回结果。
-(void)processOrderWithPaymentResult:(NSURL*)resultUrl standbyCallback:(CompletionBlock)completionBlock; 处理支付宝客户端返回的 url(在 app 被杀模式下,通过这个方法获取支付结果)。

快捷订单支付 iOS

方法名称:pay 方法

方法原型:(void)payOrder:(NSString )orderStr fromScheme:(NSString )schemeStr callback:(CompletionBlock)completionBlock;

方法功能:提供给商户快捷订单支付功能。

处理客户端返回 url

方法名称:处理客户端方法

方法原型:-(void)processOrderWithPaymentResult:(NSURL*)resultUrl standbyCallback:(CompletionBlock)completionBlock;

方法功能:设备已安装支付宝客户端情况下,处理支付宝客户端返回的 url。

回调接口

在支付过程结束后,会通过 callbackBlock 同步返回支付结果(callbackBlock 是调用支付同步的回调)。支付结果中参数的提取,必须通过 CompletionBlock 获取,禁止开发者私自解析支付结果返回的 URL。

参考文档

App 支付 iOS 集成流程详见:开发文档/App支付/iOS集成流程

Latest podspec

{
    "name": "AlipaySDK_MI",
    "version": "15.5.0",
    "summary": "Alipay payment SDK, support manual integration and Cocoapods integration mode, continuous update.",
    "homepage": "https://github.com/caosuyang/AlipaySDK",
    "platforms": {
        "ios": "7.0"
    },
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "caosuyang": "[email protected]"
    },
    "social_media_url": "https://twitter.com/caosuyang1",
    "source": {
        "git": "https://github.com/caosuyang/AlipaySDK.git",
        "tag": "15.5.0"
    },
    "frameworks": [
        "SystemConfiguration",
        "CoreTelephony",
        "QuartzCore",
        "CoreText",
        "CoreGraphics",
        "UIKit",
        "Foundation",
        "CFNetwork",
        "CoreMotion"
    ],
    "libraries": [
        "z",
        "c++"
    ],
    "resources": "AlipaySDK/AlipaySDK.bundle",
    "vendored_frameworks": "AlipaySDK/AlipaySDK.framework",
    "requires_arc": true
}

Pin It on Pinterest

Share This