Android接口
netpay.netpay.bas.cmburl.cn:8011. 创建CMBApi对象
/* @param aContext Android Context对象 @param aAppId AppId */ public static CMBApi createCMBApi(Context aContext, String aAppId)
2. 发送请求
/* 发送请求,其中请求内容通过参数CMBRequest指定 @param CMBRequest 请求对象参数 */ public int sendReq(CMBRequest aReq);
requestData | 支付、协议、领券等业务功能等请求参数,具体内容由业务功能给出具体内容,SDK透传,会将该字段信息Post给对应功能页面 |
CMBJumpAppUrl | h5Url与CMBJumpUrl至少有一个赋值,app已经安装时要跳转到的招商银行APP具体功能的url |
CMBH5Url | h5Url与CMBJumpUrl至少有一个赋值,app没有安装时在商户APP打开H5页面 |
method | 业务功能类型,SDK透传,支付默认上送pay |
isShowNavigationBar | True:显示H5支付页面导航栏 False:不显示 默认显示导航栏 |
2.1 mH5Url与mCMBJumpUrl地址
/**测试环境与生产环境地址不同**/
测试环境:
mH5Url: http://netpay.netpay.bas.cmburl.cn:801/netpayment/BaseHttp.dll?H5PayJsonSDK
mCMBJumpUrl: cmbmobilebank://CMBLS/FunctionJump?action=gofuncid&funcid=200013&serverid=CMBEUserPay&requesttype=post&cmb_app_trans_parms_start=here
生产环境
mH5Url: https://netpay.cmbchina.com/netpayment/BaseHttp.dll?H5PayJsonSDK
mCMBJumpUrl: cmbmobilebank://CMBLS/FunctionJump?action=gofuncid&funcid=200013&serverid=CMBEUserPay&requesttype=post&cmb_app_trans_parms_start=here
3. Intent回调接口
@param aIntent onCreate(), onNewIntent()以及onActivityResult中的intent参数 @aEventHandler 最终处理业务处理结果的回调接口 @return 已处理Intent返回true, 未处理返回false boolean handleIntent(Intent aIntent, CMBEventHandler aEventHandler);
要点:
需要在onCreate(), onNewIntent()以及onActivityResult方法里面显式调用该方法,否则将收不到最终的业务处理结果回调。
4. 业务响应回调接口CMBEventHandler
定义:
interface CMBEventHandler { void onResp(CMBResponse aResp); }
respCode | 返回码 |
resMsg | 返回的业务数据 |
返回值 | 描述 | 返回值 | 描述 | 返回值 | 描述 |
---|---|---|---|---|---|
0 | 支付成功 | -1 | 支付失败 | -3 | 支付状态未知 |
1 | 签约成功 | 2 | 签约失败 | 3 | 签约状态未知 |
-2 | 参数不正确 | 8 | 用户取消 | 9 | 网络异常 |
5. 检查用户是否安装招商银行APP
如果已安装招行APP,返回true,否则返回false public boolean isCMBAPPInstalled();
6. 自定义webview-CMBWebview
6.1 集成方式
在布局文件中集成该控件,或者在代码中构造出此控件实例动态添加到布局中。详细请参考网络上自定义控件集成。
6.2 发送支付请求
商户自定义H5页面中作请求加载招商银行网页支付
@param cmbRequest request参数 @param listener public void sendRequest(CMBRequest cmbRequest, CMBWebViewListener listener);
6.3 CMBWebViewListener参数说明
商户用来接收招行浏览器控件的业务回调及标题变更事件,商户APP实现以下接口:
@brief 收到页面关闭响应 * * 用户主动关闭/取消页面请求、或收到业务响应结果 * @param respCode 返回的支付结果码 @param respString 支付结果信息 void onClosed(int respCode, String respString); @brief 收到页面标题变更通知 * * H5页面设置的标题内容 @param title 变更后的标题 void onTitleChanged(String title);
6.4 获取当前支付结果
商户自定义H5支付页面时,主动触发此方法获取当前支付结果;由于响应数据会发生变更,非关闭场景请勿获取该信息,避免对业务处理产生干扰。
public CMBResponse getCMBResponse();