更新记录
1.3(2023-03-13)
Android端修复支付取消没有回调。
1.2(2023-03-06)
iOS端修改回调数据格式,和安卓端保持数据格式统一。
1.1(2023-03-03)
修改Android端scheme设置和最低版本android4.4(19)。
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
插件集成准备
- 从招行获得appid和appScheme
- manifest.json中App原生插件配置,云端插件选择试用或购买的插件,并配置Android端的appScheme
- manifest.json中App常用其他设置 下拉找到iOS设置,在UrlSchemes中配置iOS端的appScheme,如有多个用","号分隔。注:不能在Android设置的UrlSchemes里配置appScheme。
- 制作uniapp自定义调试基座,运行到手机设备进行调试。注:1: appScheme如有更改,必需要重新制作自定义基座,2: 基座打包完成后,建议卸载基座后重新运行安装基座调试。
插件接口调用
插件对象
var CMBPayApi = uni.requireNativePlugin('CMB-Pay');
接口及参数
招行app是否安装 isCMBAPPInstalled()
var ret = CMBPayApi.isCMBAPPInstalled();
支付 cmbPay(json,callback)
CMBPayApi.cmbPay({
appid:"",//商户在招商银行相应的业务功能商户系统中的appid,即:4位分行号+6位商户号。
requestData:"",//支付、协议、领券等业务功能等请求参数,具体内容由业务功能给出具体内容,SDK透传,会将该字段信息Post给对应功能页面
CMBJumpAppUrl:"",
CMBH5Url:"",
method:"pay"//(可选)业务功能类型,SDK透传,支付默认上送pay
}, function(res){
console.log(res);
});
1)CMBH5Url与CMBJumpAppUrl至少有一个赋值。 2)若只赋值CMBH5Url则SDK只打开h5页面不跳转招商银行APP。 3)若只赋值CMBJumpAppUrl则只跳转招商银行APP。如果用户没有安装招商银行APP,方法返回false。 4)若CMBH5Url和CMBJumpAppUrl均赋值,则SDK先检查用户手机设备有没有安装招商银行APP,已安装则跳转招商银行APP,未安装则打开H5业务功能页面。
回调响应 res:
{
"type":"onPayResult",
"data":{
"respCode":0,
"respMsg":"支付成功"
}
}
respCode 对照表(来自招行开放文档)
返回值 | 描述 |
---|---|
-3 | 支付状态未知 |
-2 | 参数不正确 |
-1 | 支付失败 |
0 | 支付成功 |
1 | 签约成功 |
2 | 签约失败 |
3 | 签约状态未知 |
8 | 用户取消 |
9 | 网络异常 |
常见问题
招行appid是什么,从哪里获得来
商户在招商银行相应的业务功能商户系统中的appid,即:4位分行号+6位商户号
scheme是什么,从哪里获得
招商银行会给每个商户分配独一无二的商户scheme。当用户在招商银行APP内完成支付后,凭scheme跳转回商户应用。uni中的配置请看本文的“集成准备”
测试方法
集成插件后,如果招行给的是测试appid,需要下载招行的测试版本app
招行测试app(ios和Android)下载:
测试app启动后选择uat