更新记录

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

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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原生插件配置”->”云端插件“列表中删除该插件重新选择


插件集成准备

  1. 从招行获得appidappScheme
  2. manifest.json中App原生插件配置云端插件选择试用或购买的插件,并配置Android端的appScheme
  3. manifest.json中App常用其他设置 下拉找到iOS设置,在UrlSchemes中配置iOS端的appScheme,如有多个用","号分隔。注:不能在Android设置的UrlSchemes里配置appScheme
  4. 制作uniapp自定义调试基座,运行到手机设备进行调试。注:1: appScheme如有更改,必需要重新制作自定义基座,2: 基座打包完成后,建议卸载基座后重新运行安装基座调试

插件接口调用

插件对象

var CMBPayApi = uni.requireNativePlugin('CMB-Pay');

接口及参数

接口调用请事先准备好招行的appid和scheme

招行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

相关插件

银联商务全民付(综合支付)+统一收银台支付插件(Android和iOS)

工行聚富通支付插件(Android和iOS)

农行掌银支付插件(Android和iOS)

插件问题或定制双端插件,联系QQ:16792999、568647409

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件自身不采集任何数据,插件使用的SDK采集数据,详情参考:http://openhome.cmbchina.com/paynew/pay/Home

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问