历史接口版本

iOS接口(旧)

主要接口

1. 请求发起接口

/*! @brief 发送请求到招商银行APP,支持用户没安装招商银行APP,等待招商银行APP返回onResp
   *
   * 函数调用后,会切换到招商银行APP的界面。第三方应用程序等待招商银行APP返回onResp。招商银行APP在异步处理完成后一定会调用onResp。
   * @param request 具体的发送请求,在调用函数后,请自己释放,具体内容参考CMBRequest参数说明。
   * @param appid 商户在招商银行相应的业务功能商户系统中的appid,即:4位分行号+6位商户号。
   * @param viewController 当前界面对象。
   * @param delegate 对象,用来接收招商银行APP触发的消息。
   * @return 成功返回YES,失败返回NO。
*/
   +(BOOL)sendRequest:(CMBRequest *)request
   appid:(NSString *)appid
   viewController:(UIViewController*)viewController
   delegate:(id<CMBApiDelegate>)delegate;  

1.1 CMBRequest参数说明

@interface CMBRequest: NSObject
/** 支付、协议、领券等业务功能等请求参数,具体内容由业务功能给出具体内容,SDK透传,会将该字段信息Post给对应功能页面 **/
@property (nonatomic, strong) NSString *requestData;
/** 业务功能类型,SDK透传 **/
@property (nonatomic, strong) NSString *method;
/** h5Url与CMBJumpUrl均需要赋值,app没有安装时在商户APP打开H5页面 **/
@property (nonatomic, strong) NSString *h5Url;
/** h5Url与CMBJumpUrl均需要赋值,app已经安装时要跳转到的招商银行APP具体功能的url **/
@property (nonatomic, strong) NSString *CMBJumpUrl;
@end      

1.2 appid参数说明

商户在招商银行相应的业务功能商户系统中的appid,即:4位分行号+6位商户号。

1.3 viewController参数说明

商户业务功能界面的ViewController,用于用户没安装招商银行APP时SDK弹出的ViewController展示H5界面。

1.4 delegate参数说明

商户用来接收招商银行APP或H5处理的回调结果,可参考招行提供的Demo实现。

1.5 method参数说明

默认上送pay

1.6 h5Url与CMBJumpUrl参数说明

/**测试环境与生产环境地址不同**/

测试环境: 
h5Url: http://121.15.180.66:801/netpayment/BaseHttp.dll?H5PayJsonSDK 
CMBJumpUrl: cmbmobilebank://CMBLS/FunctionJump?action=gofuncid&funcid=200013&serverid=CMBEUserPay&requesttype=post&cmb_app_trans_parms_start=here 
生产环境 
h5Url: https://netpay.cmbchina.com/netpayment/BaseHttp.dll?H5PayJsonSDK 
CMBJumpUrl: cmbmobilebank://CMBLS/FunctionJump?action=gofuncid&funcid=200013&serverid=CMBEUserPay&requesttype=post&cmb_app_trans_parms_start=here

2. 招行手机银行APP回调第三方APP结果回传接口

招商银行APP处理完成后跳回商户APP时,商户需支持此接口将手机银行APP的结果url信息传递到SDK进一步处理。

 /*! @brief 处理招商银行APP通过URL启动商户App时传递的数据
*
* 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。
* @param url 招商银行APP启动第三方应用时传递过来的URL
* @param delegate  CMBApiDelegate对象,用来接收招商银行APP触发的消息。
* @return 成功返回YES,失败返回NO。
*/
  +(BOOL)handleOpenURL:(NSURL *) url delegate:(id<CMBApiDelegate>) delegate;

3. SDK回调接口

该接口由SDK声明protocol,商户APP实现delegate

@protocol CMBApiDelegate <NSObject>
@optional

/*! @brief 发送sendReq后,收到的执行结果回应
*
* 业务执行结果响应,如跳转至招商银行应用执行则在handleOpenURL执行后触发。
* @param resp具体的回应内容,是自动释放的,具体内容参考CMBResponse参数说明
*/
-(void)onResp:(CMBResponse*)resp;
@end  

3.1 CMBResponse参数说明

@interface CMBResponse: NSObject

/** 应答码 */
@property (nonatomic, assign) int respCode;

/** 应答信息 */
@property (nonatomic, retain) NSString *respMessage;

@end

/*! @brief应答码
*
*/
enum CMBRespCode {
   CMBRespSuccess           = 0,    /** 成功    */  
   CMBRespError             = -1,   /** 普通错误类型    */
   CMBRespUnknown         =-2    /**  结果未知  */
};    


辅助接口

1. 检查用户是否安装招商银行APP

/*! @brief 检查招商银行APP是否已被用户安装,涉及跳转招商银行APP的业务功能须先
*用此接口检查是否已安装招商银行APP
*
* @return 招商银行APP已安装返回YES,未安装返回NO。
*/
+(BOOL)isCMBAppInstalled;