BBASMPaymentPlugin+InlinePay.h 3.89 KB
//
//  BBASMPaymentPlugin+InlinePay.h
//  BBAMNP
//
//  Created by baidu on 2021/6/3.
//

#import <BBASchemeDispatcher/BBASchemeDispatcher.h>
#import "BBASMPaymentPlugin.h"

NS_ASSUME_NONNULL_BEGIN

@interface BBASMPaymentPlugin (InlinePay)

/**
 * 描  述: 内嵌支付组件数据拉取(支付渠道、优惠券信息)
 * 示  例: baiduboxapp://swanAPI/payment/getPaymentInfo?params={}&callback=_bdbox_js_186&upgrade=0
 * 备  注:
 * ********** description ************
 * @name:      boxjs.getPaymentInfo
 * @authority: swanAPI
 * @path:      /payment/getPaymentInfo
 * @args:      [{"name": "componentId", "value": "string"}, {"name": "dealId", "value": "string"},{"name": "appKey", "value": "string"},{"name": "totalAmount", "value": "string"},{"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.payment.getPaymentInfo"}}}
 *
 */
- (void)getPaymentInfo:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 设置内嵌支付组件当前选中支付信息
 * 示  例: baiduboxapp://swanAPI/payment/setPaymentInfo?params={}&callback=_bdbox_js_186&upgrade=0
 * 备  注:
 * ********** description ************
 * @name:      boxjs.setPaymentInfo
 * @authority: swanAPI
 * @path:      /payment/setPaymentInfo
 * @args:      [{"name": "componentId", "value": "string"}, {"name": "chosenChannel", "value": "string"},{"name": "chosenCoupon", "value": "string="},{"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.payment.setPaymentInfo"}}}
 */
- (void)setPaymentInfo:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 调起优惠券选择面板
 * 示  例: baiduboxapp://swanAPI/payment/chooseCoupon?params={}&callback=_bdbox_js_186&upgrade=0
 * 备  注:
 * ********** description ************
 * @name:      boxjs.chooseCoupon
 * @authority: swanAPI
 * @path:      /payment/chooseCoupon
 * @args:      [{"name": "componentId", "value": "string"},{"name": "totalAmount", "value": "string"}, {"name": "appKey", "value": "string"},{"name": "cb", "value": "string"}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.payment.chooseCoupon"}}}
 */
- (void)chooseCoupon:(BBASchemeDispatcher *)dispatcher;

#pragma mark - Not API

/**
 * @brief 内嵌支付组件数据拉取(支付渠道、优惠券信息)
 * @param appID appID
 * @param params  参数信息
 * @param completion 二级回调
 * @return 一级回调返回数据
 */
+ (NSDictionary *)getPaymentInfoWithAppID:(NSString *)appID
                                   params:(NSDictionary *)params
                               completion:(void (^)(NSDictionary *completionData))completion;

/**
 * @brief 设置内嵌支付组件当前选中支付信息
 * @param appID appID
 * @param params  参数信息
 * @param completion 二级回调
 * @return 一级回调返回数据
 */
+ (NSDictionary *)setPaymentInfoWithAppID:(NSString *)appID
                                   params:(NSDictionary *)params
                               completion:(void (^)(NSDictionary *completionData))completion;

/**
 * @brief 调起优惠券面板
 * @param appID appID
 * @param params  参数信息
 * @param completion 二级回调
 * @return 一级回调返回数据
 */
+ (NSDictionary *)showCouponPannelWithAppID:(NSString *)appID
                                     params:(NSDictionary *)params
                                 completion:(void (^)(NSDictionary *completionData))completion;

/**
 * @brief 获取内嵌支付用户选中的支付信息(渠道、优惠券)
 * @param signKey 取值key
 * @return 选中的支付信息
 */
+ (NSDictionary *)getInlinePayUserChoosenInfoWithSignKey:(NSString *)signKey;

@end

NS_ASSUME_NONNULL_END