AndpayRepaySDK 1.0.1

AndpayRepaySDK 1.0.1

ML维护。



  • Michael

Andpay-Repay-SDK-iOS

和付帮还SDK-iOS

简介

AndpayRepaySDK文件夹中包含一个框架、一个资源包、包含芝麻信用SDK的文件夹和包含支付宝钱包SDK的文件夹。
demo文件夹中,ManualTest是手动接入示例,PodTest是CocoaPods接入示例,示例仅供参考。

版本要求

iOS SDK 要求 iOS 8.0 及以上版本

接入方法

方法1:CocoaPods接入

  1. Podfile 中添加
#必有
pod 'AndpayRepaySDK','~>1.0.0', :subspecs => ["AndpayRepay"]

#项目中引入过芝麻信用SDK则不需要这行
pod 'AndpayRepaySDK','~>1.0.0', :subspecs => ["ZMCreditSDK"]

  1. 运行 pod update
  2. 使用 {project}.xcworkspace 打开项目,而不是 {project}.xcodeproj

方法2:手动接入

  1. 获取 SDK
    下载 SDK,AndpayRepaySDK 文件夹中包含一个 framework、一个资源 bundle 包、以及包含芝麻信用 SDK 的文件夹和包含支付宝钱包 SDK 的文件夹。

  2. 将 .framework 文件、.bundle 文件以及整个 ZMCreditSDK 文件夹和 AlipaySDK 文件夹导入项目中。 (注意:1、如果项目中已引入芝麻信用 SDK,则不需要再次导入 ZMCreditSDK 文件夹。2、如果项目中已引入支付宝钱包 SDK,则不需要再次导入 AlipaySDK 文件夹。)

  3. 在 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

  4. 在 Target->Build Setting->Linking->Other Linker Flags 添加 -ObjC

项目配置

  1. 在 Target->Build Setting 中搜索 Enable Bitcode,将值修改为:NO

添加字段

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}];
其中params包含以下参数:

mobileNo:用户手机号(必传)
partyId:商户号(必传)
token:token(必传)
alipayScheme:APP的info.plist文件中“URL Types"-"URL Schemes”中配的支付宝scheme(必传, NSString类型)

sdk事件回调

SDK在运行过程中会发布一些关键性的事件,接入方可以在调用SDK时传入代理对象来获取这些事件的回调

//帮还关闭回调
@optional
-(void)andpayRepayDidFinish;