主要接口
A.请求发起接口
/*! @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;
◆ 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
◆ appid参数说明
商户在招商银行相应的业务功能商户系统中的appid,即:4位分行号+6位商户号。
◆ viewController参数说明
商户业务功能界面的ViewController,用于用户没安装招商银行APP时SDK弹出的ViewController展示H5界面。
◆ delegate参数说明
商户用来接收招商银行APP或H5处理的回调结果,可参考招行提供的Demo实现。
◆ method参数说明
默认上送pay
◆ 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
B.招行手机银行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;
C.SDK回调接口
该接口由SDK声明protocol,商户APP实现delegate
@protocol CMBApiDelegate <NSObject>
@optional
/*! @brief 发送sendReq后,收到的执行结果回应
*
* 业务执行结果响应,如跳转至招商银行应用执行则在handleOpenURL执行后触发。
* @param resp具体的回应内容,是自动释放的,具体内容参考CMBResponse参数说明
*/
-(void)onResp:(CMBResponse*)resp;
@end
◆ CMBResponse参数说明
@interface CMBResponse: NSObject
/** 应答码 */
@property (nonatomic, assign) int respCode;
/** 应答信息 */
@property (nonatomic, retain) NSString *respMessage;
@end
/*! @brief应答码
*
*/
enum CMBRespCode {
CMBRespSuccess = 0, /** 成功 */
CMBRespError = -1, /** 普通错误类型 */
CMBRespUnknown =-2 /** 结果未知 */
};
辅助接口
A.检查用户是否安装招商银行APP
/*! @brief 检查招商银行APP是否已被用户安装,涉及跳转招商银行APP的业务功能须先
*用此接口检查是否已安装招商银行APP
*
* @return 招商银行APP已安装返回YES,未安装返回NO。
*/
+(BOOL)isCMBAppInstalled;