iOS接口

主要接口

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;

                        

关于网站迁移公告


为提供更优质的开发技术支持,本网站已于2019年8月12日正式迁移至新域名http://openhome.cmbchina.com/paynew/pay/Home,敬请访问并收藏。原网站域名已停止更新维护,请以新网站提供的文档信息为准。

由此给您带来的不便,敬请谅解。


招商银行一网通支付技术支持小组

2019年8月12日