CNLivePaySDK.h
3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
//
// CNLivePaySDK.h
// CNLivePaySDK
//
// Created by cnliveJunBo on 17/5/1.
// Copyright © 2017年 cnlive. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "CNLivePayArg.h"
#import "CNLivePayResult.h"
typedef void(^CNLCompletionBlock)(CNLivePayResult *cnlivePayResult);
@interface CNLivePaySDK : NSObject
/**
获取SDK当前版本号
@return 返回SDK当前版本号
*/
+ (NSString *)getVersion;
/**
获取支付核心类单例
@return 返回支付核心类单例
*/
+ (instancetype)sharedCNLivePayManager;
/**
注册支付SDK
@param appid 从视讯云平台获取到的appId
@param appkey 从视讯云平台获取到的appKey
@warning 必须传参数 appid appkey
@discussion 您在使用支付SDK所有功能之前,您必须先调用此方法初始化SDK。在App整个生命周期中,您只需要执行一次初始化。
@return 是否注册成功
*/
- (BOOL) registerApp:(NSString *)appid AppKey:(NSString *)appkey;
/**
注册微信支付(只有使用了微信支付才会使用到此方法)
@param wxAppId 微信平台申请到的appId
@return 是否注册成功
*/
- (BOOL) registerWXApiWithWXAppId:(NSString *)wxAppId;
/**
支付方法(微信, 支付宝)
@param payArg 支付所需参数结构体;
@param schemeStr 支付宝支付时需要的appScheme,需要与info配置的scheme对应;其他支付不需要可填nil;
@param completionBlock 支付结果回调;
@discussion 支付宝 客户端, 网页 支付结果回调都在此方法中的block回调中;
微信客户端支付结果回调在此方法中的block回调中;
*/
- (void)pay:(CNLivePayArg *)payArg appScheme:(NSString *)schemeStr completion:(CNLCompletionBlock)completionBlock;
/**
支付方法(内购)
@param payArg 支付所需参数结构体;
@param isDebug 是否是测试环境,上线时务必改成NO;开发环境请填YES,内购支付会到沙盒环境下验证支付结果,验证成功才算支付成功,并且会给用户付款通知业务系统接收地址异步通知时返回参数 sandbox=1 后台可以此作为标记判断加不加商品;真实环境请填NO,内购支付会到真实环境下验证支付结果,验证成功才算支付成功;
@param productId 内购时商品的ID,只有内购时用到,其他支付可传nil;
@param completionBlock 支付结果回调;
@discussion 内购支付结果回调在此方法中的block回调中;
*/
- (void)pay:(CNLivePayArg *)payArg isDebug:(BOOL)isDebug productId:(NSString *)productId completion:(CNLCompletionBlock)completionBlock;
/**
处理支付渠道通过URL启动App时传递的数据
在 appdelegate
iOS 8.0 以前
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
iOS 9.0及以后
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options;
中实现此方法,否则支付结果回调无法实现;
@param url 支付渠道在启动第三方应用时传递过来的URL
@return 成功返回YES,失败返回NO;
*/
- (BOOL)handleOpenURL:(NSURL *)url;
@end