Andpay-Repay-SDK-iOS
和付帮还SDK-iOS
简介
AndpayRepaySDK文件夹中包含一个框架、一个资源包、包含芝麻信用SDK的文件夹和包含支付宝钱包SDK的文件夹。
demo文件夹中,ManualTest是手动接入示例,PodTest是CocoaPods接入示例,示例仅供参考。
版本要求
iOS SDK 要求 iOS 8.0 及以上版本
接入方法
方法1:CocoaPods接入
- 在
Podfile
中添加
#必有
pod 'AndpayRepaySDK','~>1.0.0', :subspecs => ["AndpayRepay"]
#项目中引入过芝麻信用SDK则不需要这行
pod 'AndpayRepaySDK','~>1.0.0', :subspecs => ["ZMCreditSDK"]
- 运行
pod update
- 使用
{project}.xcworkspace
打开项目,而不是{project}.xcodeproj
方法2:手动接入
-
获取 SDK
下载 SDK,AndpayRepaySDK 文件夹中包含一个 framework、一个资源 bundle 包、以及包含芝麻信用 SDK 的文件夹和包含支付宝钱包 SDK 的文件夹。
-
将 .framework 文件、.bundle 文件以及整个 ZMCreditSDK 文件夹和 AlipaySDK 文件夹导入项目中。 (注意:1、如果项目中已引入芝麻信用 SDK,则不需要再次导入 ZMCreditSDK 文件夹。2、如果项目中已引入支付宝钱包 SDK,则不需要再次导入 AlipaySDK 文件夹。)
-
在 Target->General 中,添加(若有则无需再添加)
UIKit.framework
Foundation.framework
QuartzCore.framework
CoreText.framework
CoreGraphics.framework
CFNetwork.framework
MobileCoreServices.framework
MessageUI.framework
EventKit.framework
AssetsLibrary.framework
CoreMotion.framework
SystemConfiguration.framework
CoreTelephony.framework
libz.tbd
libxml2.tbd
libc++.tbd
-
在 Target->Build Setting->Linking->Other Linker Flags 添加 -ObjC
项目配置
添加字段
1) 在 Info.plist 中添加一行
键:Privacy - Location When In Use Usage Description
值:使用帮还需要获取您的地理位置信息[文案可自行配置]
2) 在 Info.plist 中添加一行
键:Privacy - Contacts Usage Description
值:使用帮还需要访问您的通讯录[文案可自行配置]
3) 配置支付宝钱包 scheme:在 Info.plist 文件的“URL Types"-"URL Schemes”中配置支付宝 scheme。注意下图的“AndpayRepaySDKAlipay”为 demo 所用,需自行配置独立的 scheme。
4) 在 Info.plist 中添加一行
添加键:App Transport Security Settings,类型为字典类型。然后给它添加一个键:Allow Arbitrary Loads,类型为 Boolean 类型,值为 YES;
使用
初始化SDK配置
在AppDelegate.m中
引入头文件
#import <AndpayRepaySDK/AndpayRepaySDK.h>
初始化
在应用初始化方法中添加SDK的初始化配置
APRepaySdkConfig *config = [APRepaySdkConfig new];
//运行环境,生产或者测试
config.productEnvironment = YES;
//是否打开debug调试模式
config.debugMode = NO;
[AndpayRepay initWithConfig:config];
处理支付宝APP返回的结果
在AppDelegate.m中处理支付宝返回的结果,注意“AndpayRepaySDKAlipay”为之前配置过的scheme,需自行替换
//ios9以前
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([url.scheme isEqualToString:@"AndpayRepaySDKAlipay"]) {
[AndpayRepay handleOpenURL:url];
return YES;
}
return YES;
}
//ios9及以后使用以下方法
//- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options
在启动SDK的页面引入头文件
#import <AndpayRepaySDK/AndpayRepaySDK.h>
${yourController}是你启动SDK的页面。
${yourDelegate}是你接收SDK回调的代理。
${params} 扩展字段。
[AndpayRepay startWithProvider:${yourController} delegate:${yourDelegate} params:${params}];
mobileNo:用户手机号(必传)
partyId:商户号(必传)
token:token(必传)
alipayScheme:APP的info.plist文件中“URL Types"-"URL Schemes”中配的支付宝scheme(必传, NSString类型)
sdk事件回调
SDK在运行过程中会发布一些关键性的事件,接入方可以在调用SDK时传入代理对象来获取这些事件的回调
//帮还关闭回调
@optional
-(void)andpayRepayDidFinish;