更新记录

2.2.3(2024-03-13)

  • 安卓V3.5.15 iOSV3.4.12

2.2.2(2023-11-30)

  • 安卓V3.5.13 iOSV3.4.11
  • 安卓compile更新,谷歌应用商城应该没问题了

2.2.1(2023-05-12)

修复iOS检查云闪付App是否安装不准确

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 14.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 适用版本区间:11 - 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原生插件配置”->”云端插件“列表中删除该插件重新选择


安卓V3.5.15 iOSV3.4.12

从手机支付控件升级为银联线上收银台控件

本版本从手机支付控件升级为银联线上收银台控件。银联线上收银台产品(原手机支付控件升级,以下简称“支付控件”)支持云闪付 APP、 银联手机闪付、银行 APP 等各种支付工具,可以为用户提供便捷多样的支付体验。

更新适配

  • 检测方法由原来的变成了checkIsPaymentAppInstalled(),并且增加了参数,如果不使用,可以不用修改代码。关于checkIsPaymentAppInstalled方法,见下面的说明。
    • 从手机支付控件升级为银联线上收银台控件,如果不使用直通模式,不用修改代码。服务端检测一下tn生成即可
    • 同样,安卓如果不使用直通和手机pay,可以不用更改代码

新增检查直通模式app安装情况接口

getDirectApps() ,会返回已安装的直通模式银行app列表

也就是说,更新插件版本到最新版,几乎可以不修改客户端代码,最多就是tn生成要检查一下

测试帐号

https://open.unionpay.com/tjweb/support/faq/mchlist?id=4(如地址发生变动, 进主页找到商户常见问题页面,搜“测试卡”)

测试环境直通模式不能调起相应银行APP,请悉知。

参数名词解释

  • tn:交易流水号,商户后台向银联后台提交订单信息后,由银联后台生成并下发给商户后台的交易凭证
  • schemeStr:商户自定义协议,商户在调用支付接口完成支付后,用于引导支付控件返回而定义的协议 (iOS)
  • mode:环境, 00表示正式环境, 01表示测试环境,测试环境不会发生真实交易
  • seType: 【iOS忽略】安卓手机 Pay。

下面是所有安卓pay seType列举(字符串类型)

  • Samsung Pay seType = 02
  • Huawei Pay 04
  • Meizu Pay 27
  • Le Pay 30
  • Mi Pay 25
  • OPPO Pay 29
  • vivo Pay 33
  • Smartisan Pay 32
  • realme Pay 35
  • OnePlus Pay 36

收银台支付界面

  • 银联线上收银台标准模式支付入口
  • 银联线上收银台直通模式支付入口,需要服务器在生成tn时,在保留域传入 "ebankEnAbbr" : "银行标识",具体银行的标识列举在下面。这样生成的tn就会直接拉起相应的银行APP支付。(这种支付最好是选择了银行之后,让用户确保安装了相应银行APP)
  • 手机 Pay 支付入口 (先检查手机品牌,然后选择要不要显示该入口)

银行标识(持续更新)

  • 1 CQP 云闪付
  • 2 CMBCC 全民生活
  • 3 PAB 平安口袋银行
  • 4 CCB 中国建设银行
  • 5 BoCom 交通银行
  • 6 ABC 中国农业银行
  • 7 CMB 招商银行
  • 8 CMBLIFE 掌上生活
  • 9 ICBC 中国工商银行
  • 10 SPDB 浦发银行
  • 11 SPDBC 浦大喜奔
  • 12 CNCB 中信银行手机银行
  • 13 GDBC 发现精彩
  • 14 CIBC 兴业生活(好兴动)
  • 15 HXBC 华彩生活
  • 16 BCCBC 掌上京彩
  • 17 BOCC 中国银行缤纷生活
  • 18 CEBC 阳光惠生活
  • 19 ICBCC 工银 e 生活
  • 20 CCBC 建行生活
  • 21 BoComC 买单吧
  • 22 GDB 广发银行手机银行
  • 23 PSBC 邮储银行
  • 24 PSBCC 邮储信用卡
  • 25 CEB 光大银行手机银行
  • 26 BOS 上海银行手机银行
  • 27 SHBANK 上银美好生活
  • 28 CNCBC 动卡空间
  • 29 CMBC 民生银行手机银行
  • 30 CIB 兴业银行手机银行
  • 31 BOC 中国银行
  • 32 BCCB 京彩生活
  • 33 ABCC 农银 e 管家
  • 34 HXB 华夏手机银行

支付入口.png 当然你也可以加上微信、支付宝等入口

接口说明

  • checkIsPaymentAppInstalled() ,检查是否安装云闪付App
  • getDirectApps(),检查已安装的支持直通模式的银行app列表,接口回调说明: 成功 {"status":"succ", "result" : directApps},失败 {"status":"fail", "msg" : msg, "code" : code}, code说明:参数错误 : 01,网络错误 : 02,其它 : 03。iOS需要配置相应的白名单。
  • payWithData() 调起支付控件,发起支付
  • phoneBand() 安卓获取手机品牌,从而决定是否显示相应手机pay,也可以自己实现。(iOS忽略)
  • 如要实现Apple Pay,自行参考:
  • https://open.unionpay.com/tjweb/support/faq/mchlist?id=741
  • https://open.unionpay.com/tjweb/support/faq/mchlist?id=410
  • https://open.unionpay.com/tjweb/support/faq/mchlist?id=281

参数说明

由于js是弱类型语言,参数类型尽量按照demo传入,以免发生异常

{
'tn':'交易流水号,商户后台向银联后台提交订单信息后,由银联后台生成并下发给商户后台的交易凭证', 
'schemeStr':'商户自定义协议,商户在调用支付接口完成支付后,用于引导支付控件返回而定义的协议',
'mode':'01',
'seType' : '25' 
}

回调说明

回调格式{"status":""},当status为needCheck的时候,会多一个sign字段

  • notConfirm 表示不确定是否成功,需要调用商户后台查询是否成功
  • needCheck 表示客户端是成功的,不过需要验证签名是否被篡改,sign字段用于验证,一般是发送到服务器,让后台验证,也可以不使用该数据,直接去后台请求当前订单状态
  • fail 表示支付失败
  • cancel 表示用户取消支付

由于银联取消了测试tn,所以需要自己后端来生成测试tn,测试插件时,请传入后台根据银联sdk生成的tn

manifest.json配置

iOS配置--App常用其他设置

  • UrlSchemes 给你的应用配置一个schemes,用于支付后回到你的App,发起支付时需要这个作为参数
  • 应用访问白名单,下面列出所有白名单(持续更新)按需添加 (uppaysdk、uppaywallet、upwallet、upopen、upcommon、uppayx1、uppayx2、uppayx3 这八项建议都添加,下面的选择性添加)如果使用直通模式,一定要添加相应银行白名单
  • 1 uppaysdk 云闪付 APP
  • 2 uppaywallet 云闪付 APP
  • 3 uppayx1 民生银行全民生活
  • 4 uppayx2 预留
  • 5 uppayx3 预留
  • 6 paesuperbank 平安口袋银行
  • 7 ccbmbsylunionpay 中国建设银行
  • 8 bocom 交通银行
  • 9 bankabc 中国农业银行
  • 10 cmbmobilebank 招商银行
  • 11 cmblife 掌上生活
  • 12 com.icbc.iphoneclient 中国工商银行
  • 13 spdbbank 浦发银行
  • 14 spdbcccUnionPay 浦大喜奔
  • 15 citicbankpay 中信银行手机银行
  • 16 credit 发现精彩
  • 17 uppayxingyecredit 兴业生活(好兴动)
  • 18 uppayhuaxiacredit 华彩生活
  • 19 uppaybeijingcredit 掌上京彩
  • 20 uppayzhonghangcredit 中国银行缤纷生活
  • 21 uppayguangdacredit 阳光惠生活
  • 22 uppaygonghangcredit 工银 e 生活
  • 23 uppayjianhangcredit 建行生活
  • 24 uppayjiaohangcredit 买单吧
  • 25 uppayguangfa 广发银行手机银行
  • 26 uppayyouchu 邮储银行
  • 27 uppayyouchucredit 邮储信用卡
  • 28 com.cebbank.ebank 光大银行手机银行
  • 29 BankOfShangHai 上海银行手机银行
  • 30 boscgdlf 上银美好生活
  • 31 citicbankdkkj 动卡空间
  • 32 cmbc 民生银行手机银行
  • 33 cibmb 兴业银行手机银行
  • 34 bocmbankpsn 中国银行
  • 35 bankofbjpay 京彩生活
  • 36 uppaynonghangcredit 农银 e 管家
  • 37 uppayhuaxia 华夏手机银行
  • 38 zytuppay 中银通
  • 39 LZYHSJYHAUTHSSOAPP 兰州银行
  • 40 bnbpay 宁波银行
  • 41 dlrcb 大连农商行
  • 42 czbank 浙商银行

Android无需配置,安卓银联支付需访问一下权限,已经在插件中申明,无需再做任何配置

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

后端配置

1、商户需按照以下链接及表格内容配置 IP 及地址白名单 https://open.unionpay.com/tjweb/support/faq/mchlist?id=228

测试 生产
https://appcashier.test.cup.com.cn https://conf.cup.com.cn
https://appcashier.test.95516.com https://conf.95516.com
https://acpstatic.cup.com.cn
https://acpstatic.95516.com
https://appcashier.95516.com

2、其他问题请参见 https://open.unionpay.com 帮助中心-FAQ

详细代码实现,见demo

隐私、权限声明

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

安卓访问如下权限: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

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

插件不采集任何数据

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

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