BDNCashierSDKBaifubaoService.h 1.94 KB
//
//  BDNCashierSDKBaifubaoService.h
//  BainuoCashierPaySDK
//
//  Created by Jack on 2019/7/31.
//  Copyright © 2019 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@protocol BDNCashierSDKPaymentServiceProtocol;
@protocol BDNCashierSDKBaifubaoDelegate;

@interface BDNCashierSDKBaifubaoService : NSObject<BDNCashierSDKPaymentServiceProtocol>

/**
 * @brief 返回默认支付能力
 *
 * @return 单例,百付宝支付能力
 */
+ (instancetype)defaultService;

/**
 * @brief 注册代理
 *
 * @param delegate 实现协议BDNCashierSDKBaifubaoDelegate的代理
 */
- (void)registerDelegate:(id<BDNCashierSDKBaifubaoDelegate>)delegate;

/**
 * @brief 设置度小满调起时的rootViewController
 * @note 用于度小满接口:[[BDWalletSDKMainManager getInstance] setRootViewController:rootViewController]
 *
 * @param vc 承载度小满页面的VC
 */
- (void)setBDWalletRootVC:(UIViewController *)vc;

@end

@protocol BDWalletSDKMainManagerDelegate;
@protocol BDNCashierSDKBaifubaoDelegate <NSObject>
typedef void(^BDNCashierSDKBaifubaoPaymentCallback)(NSInteger code, NSString *desc);

/**
 * @brief 定制能力,获取宿主实现的BDWalletSDKMainManagerDelegate,等待宿主告知支付结果
 *
 * @note case 1: 如果你集成了公开版的百度钱包SDK,且不关心如何处理其支付回调,请不要实现此方法;case 2: 如果你集成了定制版的百度钱包SDK,比如需要替百度钱包实现登录能力
 * @param callback 宿主告知支付结果的回调(`code`请参照BDNCashierPaymentRespCode) BDWalletSDKMainManagerDelegate中支付回调接口`- (void)BDWalletPayResultWithCode:(int)statusCode payDesc:(NSString *)payDescs;`的Bridge
 * @return 宿主App自行实现的BDWalletSDKMainManagerDelegate(⚠️注意:需要是viewController类型)
 */
- (id<BDWalletSDKMainManagerDelegate>)bridgeBDWalletDelegateWithPayCallback:(BDNCashierSDKBaifubaoPaymentCallback)callback;

@end