BBASMPaymentAdapterProtocol.h
4.83 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
//
// BBASMPaymentAdapterProtocol.h
// BBAMNP
//
// Created by baidu on 2019/5/7.
// Copyright © 2019 Baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BBASMAdapterBaseImplement.h"
NS_ASSUME_NONNULL_BEGIN
/**
* @brief 支付类型
*/
typedef NS_ENUM(NSUInteger, BBASMPaymentType) {
BBASMPaymentTypeBDWallet, // 百度钱包
BBASMPaymentTypeAlipay // 支付宝
};
/**
* @brief 支付结果状态
*/
typedef NS_ENUM(NSUInteger, BBASMPaymentStatus) {
BBASMPaymentStatusSuccess,
BBASMPaymentStatusLoading,
BBASMPaymentStatusCanceled,
BBASMPaymentStatusFailed
};
/**
* @brief 支付相关协议
*/
@protocol BBASMPaymentAdapterProtocol <NSObject>
/**
* @brief 糯米聚合收银台
*
* @discussion 调起聚合收银台,小程序可以配置收银台的支付渠道。
* @param params 调起参数,包含订单信息、宿主信息以及场景值等。宿主app不需要做额外处理,直接透传给收银台API即可
* @param bannedChannels 收银台需要屏蔽的渠道列表,宿主app不需要做额外处理,直接透传给收银台API即可
* @param completionBlock 支付回调,其中payResult需要宿主app通过kBDNCashierWalletPayResultPayDescsKey取出后直接透传给小程序框架
*/
+ (void)requestBainuoPolymerPaymentWithParams:(NSDictionary *)params
bannedChannels:(nullable NSArray *)bannedChannels
completion:(void (^)(BBASMPaymentStatus status, NSString *payResult))completionBlock;
/**
* @brief 糯米聚合收银台新接口,支持更多信息的返回
*
* @discussion 调起聚合收银台,小程序可以配置收银台的支付渠道。
* @param params 调起参数,包含订单信息、宿主信息以及场景值等。宿主app不需要做额外处理,直接透传给收银台API即可
* @param bannedChannels 收银台需要屏蔽的渠道列表,宿主app不需要做额外处理,直接透传给收银台API即可
* @param detailResultCallback 支付回调,其中payResult需要宿主app通过BDNCashierPaymentRespMsgKey取出,data通过BDNCashierPaymentRespDataKey取出后直接透传给小程序框架
*/
+ (void)requestBainuoPolymerPaymentWithParams:(NSDictionary *)params
bannedChannels:(nullable NSArray *)bannedChannels
detailResultCallback:(void (^)(BBASMPaymentStatus status, NSString *payResult, NSDictionary *data))detailResultCallback;
/**
* @brief 糯米聚合收银台支付渠道信息(含支付渠道列表、优惠券列表)
*
* @param params 调起参数
* @param completionBlock 回调
*/
+ (void)requestBainuoPolymerPaymentChannelInfoWithParams:(NSDictionary *)params
completion:(void (^)(NSDictionary *info, NSError *error))completionBlock;
/**
* @brief 糯米聚合收银台算价接口
*
* @param params 调起参数
* @param completionBlock 回调
*/
+ (void)calculateBainuoPolymerPaymentPriceWithParams:(NSDictionary *)params
completion:(void (^)(NSDictionary *info, NSError *error))completionBlock;
/**
* @brief 展示糯米聚合支付收银台优惠券面板
* @param params 展示所需参数
* @param fromViewController 承接面板展示的vc
* @param callback callback
*/
+ (void)showBainuoCashierCouponPannel:(NSDictionary *)params
fromViewController:(UIViewController *)fromViewController
callback:(void (^)(NSDictionary *info))callback;
/**
* @brief 直连支付
*
* @param type 支付方式
* @param orderInfo 订单信息
* @param completion 完成回调
*/
+ (void)requestPaymentWithType:(BBASMPaymentType)type
orderInfo:(NSString *)orderInfo
completion:(void (^)(BBASMPaymentStatus status, NSDictionary *result))completion;
/**
* @brief 百度钱包直连支付时,需要请求钱包风控信息
*
* @param parameter 参数
* @param source 来源
* @param controller 当前topController
* @param completion 完成回调
*/
+ (void)requestWalletRiskInfo:(NSString *)parameter
source:(NSString *)source
controller:(UIViewController *)controller
completion:(void (^)(NSInteger status, NSString *message))completion;
@optional
/**
* @brief 生成一个唯一的payID
*
* @param appID 小程序 or 小游戏 ID
* @param completionBlock 完成回调
*/
+ (void)requestPayIDWithAppID:(NSString *)appID
completion:(void (^)(NSString *payID))completionBlock;
/**
* @brief 向服务端发送带货分佣信息
*
* @param params 带货分佣信息
*/
+ (void)requestRebateInfoWithParams:(NSDictionary *)params;
/**
* @brief 批量上传本地存储的带货信息
*/
+ (void)requestBatchRebateInfo;
@end
NS_ASSUME_NONNULL_END