BBASMPaymentPlugin.h 6.47 KB
//
//  BBASMPaymentPlugin.h
//  SWAN
//
//  Created by baidu on 2018/10/20.
//  Copyright © 2018 baidu. All rights reserved.
//

#import <BBASchemeDispatcher/BBASchemeDispatcher.h>

extern NSString *_Nonnull const BBASMPaymentPluginParamterInfoKey;

NS_ASSUME_NONNULL_BEGIN

/// 交易sdk所需平台id 100003
extern NSString *const BBASMBainuoPolymerPlatformID;

@interface BBASMPaymentPlugin : BBASDPluginBase

/**
 * 描  述: 调起百度钱包支付
 * 示  例: baiduboxapp://BDWallet/requestPayment?params=\$params&callback=\$callback
 * 文  档: http://ft.baidu.com/#/scheme/bdwallet_requestpayment
 * 备  注:
 * ********** description ************
 * @name:      requestPayment
 * @authority: BDWallet
 * @path:      /requestPayment
 * @args:      [{"name": "orderInfo", "value": "string"}, {"name": "cb", "value": "string"}, {"name": "from", "value": "string="}, {"name": "version", "value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */

/** 基础描述表
 * @jsnative_desc:
 {"name"     : "wallet.requestPayment",
 "config"    : {"basic" : {"web": {}}}
 }
 */
- (void)requestPayment:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 调起支付宝支付
 * 示  例: baiduboxapp://BDWallet/requestAliPayment?params=\$params&callback=\$callback
 * 文  档: http://ft.baidu.com/#/scheme/bdwallet_requestalipayment
 * 备  注:
 * ********** description ************
 * @name:      requestAliPayment
 * @authority: BDWallet
 * @path:      /requestAliPayment
 * @args:      [{"name": "orderInfo", "value": "string"}, {"name": "cb", "value": "string"}, {"name": "from", "value": "string="}, {"name": "version", "value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */

/** 基础描述表
 * @jsnative_desc:
 {"name"     : "wallet.requestAliPayment",
  "config"    : {"basic" : {"web": {}}}
 }
*/
- (void)requestAliPayment:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 调起微信H5支付
 * 示  例: baiduboxapp://BDWallet/requestWeChatPayment?params={"url":"http://xxx/static/payment/wechat?prepay_id=wx201410272009395522657a690389285100&mweb_url=https%3A%2F%2Fwx.tenpay.com%2Fcgi-bin%2Fmmpayweb-bin&custome_key=custome_value","cb":"_bdbox_pjs_810"}&callback=_bdbox_js_811&upgrade=0
 * 文  档:
 * 备  注:
 * ********** description ************
 * @name:      requestWeChatPayment
 * @authority: BDWallet
 * @path:      /requestWeChatPayment
 * @args:      [{"name": "src", "value": "string"}, {"name": "extraData", "value": "Object"}, {"name": "cb", "value": "string="}, {"name": "from", "value": "string="}, {"name": "version", "value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */


/** 基础描述表
 * @jsnative_desc:
 {"name"     : "wallet.requestWeChatPayment",
 "config"    : {"basic" : {"web": {}}}
 }
 */
- (void)requestWeChatPayment:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 调起新直连支付
 * 文  档:
 * 备  注:
 * ********** description ************
 * @name:      requestThirdPayment
 * @authority: swanAPI
 * @path:      /requestThirdPayment
 * @args:      [{"name": "orderInfo", "value": "object"}, {"name": "cb", "value": "string"},{"name": "from", "value": "string="}, {"name": "invokeFrom", "value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.payment.requestThirdPayment"}}}
 */
- (void)requestThirdPayment:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 调起糯米聚合支付平台
 * 示  例: baiduboxapp://BDWallet/requestPolymerPayment?callback=_bdbox_js_734&upgrade=0&oauthType=swan
 * 文  档:
 * 备  注:
 * ********** description ************
 * @name:      requestPolymerPayment
 * @authority: BDWallet
 * @path:      /requestPolymerPayment
 * @args:      [{"name": "orderInfo", "value": "object"}, {"name": "bannedChannels", "value": "string[]="}, {"name": "cb", "value": "string"}, {"name": "from", "value": "string="}, {"name": "invokeFrom", "value": "string="}, {"name": "version", "value": "string="}, {"name": "__plugin__", "value": "string="}, {"name": "error", "value": "object="}, {"name": "componentId", "value": "string="}, {"name": "slaveId", "value": "string="}]
 * @config:    {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
 */


/** 基础描述表
 * @jsnative_desc:
 {"name"     : "wallet.requestPolymerPayment",
 "config"    : {"basic" : {"web": {}}}
 }
 */
- (void)requestPolymerPayment:(BBASchemeDispatcher *)dispatcher;

/**
 * 描  述: 获取钱包风控信息 端能力
 * 示  例: baiduboxapp://swanAPI/payment/getWalletRiskControlData?params={}&callback=_bdbox_js_186&upgrade=0
 * 文  档: http://es.baidu-int.com/index#/apidetail/949
 * 备  注:
 * ********** description ************
 * @name:      getWalletRiskControlData
 * @authority: swanAPI
 * @path:      /payment/getWalletRiskControlData
 * @args:      [{"name":"cb","value":"string"},{"name":"info","value":"object"}]
 * @config:   {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.payment.getWalletRiskControlData"}}}
 */
- (void)getWalletRiskControlData:(BBASchemeDispatcher *)dispatcher;

#pragma mark - Not API
// 获取钱包风控信息
+ (void)requestWalletRiskInfo:(NSString *)parameter
                        appId:(NSString *)appId
                     complete:(void (^)(NSDictionary *dic))completion;

/**
 * @brief 新版直连支付,整合微信、支付宝支付
 * @param appID appID
 * @param params  参数信息
 * @param completion 二级回调
 * @return 一级回调返回数据
 */
+ (NSDictionary *)requestThirdPaymentWithAppID:(NSString *)appID
                                        params:(NSDictionary *)params
                                    completion:(void (^)(NSDictionary *completionData))completion;

@end

NS_ASSUME_NONNULL_END