更新记录
1.1.0(2022-11-26)
1.新增交易后返回状态 2.新增自定义打印插件
1.0.0(2022-11-25)
智能pos外调交易接口
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
调用富商智能pos外调交易插件及自定义打印
一.获取本地uni-app原生插件
- 下载原生插件(zip格式),解压到HBuilderX的uni-app项目下的“nativeplugins”目录(如不存在则创建)
- uni-app原生插件本地配置 <如果是云端插件请选择云端插件>
二.插件使用方式
/**
* 打开第三方Activity
*/
const pay = uni.requireNativePlugin('get-printer-pay') //交易插件
const print = uni.requireNativePlugin('get-printer-print') //自定义打印插件
export default {
data() {
return {
msg: '',
data: ''
}
},
onShow() {
//此处可作为点击事件使用
/**
* e.reason //交易失败信息
* e.msg //返回状态 ok or err
*/
if (thsi.msg = 21) {
pay.content(e => {
this.data = e //获取第三方activity返回值
})
}
},
methods: {
bnt() {
pay.payment({
transType: 21, //交易类型 必填字段:是 类型:int
amount: "100", //金额 100 = 1 元 必填字段:是 类型:string
orderNumber: "00000018", //自定义订单号不能超过60个字节 必填字段:否 类型:string
version: "1.0.7" //版本号 必填字段:是 类型:string
}, (e) => {
var msg = e.transType //获取交易类型 为了配合onHide生命周期使用获取返回值
});
},
print() {
/**
*
* content: "内容", //文字传text文字,图片传path路径,一维码传content,二维码传content
* contenttype: "txt", //文字传txt,图片传bmp,一维码传 one-dimension,二维码传 two-dimension
*
* 文字模版(必传):大小 左右中 粗体 斜体
* size:"1", //大小 1-3 三种打印大小(s(小号),m(中号),l(大号)), 1小号,2正常,3大号, 默认2
* position:"center", //位置center居中right靠右 left 靠左,默认靠左
* bold:"0", //是否加粗 0否1是
* italic:"0", //是否斜体 0否1是
*
* 图片模板(必传):
* position, 位置center居中right靠右 left 靠左, 默认居中
*
* 一维码(必传):
* position, 位置center居中right靠右 left 靠左,默认居中
* height 一维码高度, 可选1-3 默认为2
*
* 二维码(必传):
* size:"1", 大小 1-3 三种打印大小 默认为2
* position:"center", 位置center居中right靠右 left 靠左 默认居中
*
* 其他参数
* height: "-1", // 向下移动
* offset: "0", //使不在一条直线上
*/
var data = {
spos: [
{
bold: "0",
content: "内容",
contenttype: "txt",
italic: "1",
position: "center",
size: "2"
},
{
position: "center",
content: "/sdcard/tmp/pay.bmp", //路径
contenttype: "bmp", //图片
bold: "0",
height: "-1",
italic: "0",
offset: "0",
size: "3"
}
]
}
print.setPrint({
data: JSON.stringify(data) //必须是string类型
})
}
}
}
传入入字段
//银行卡消费
{
transType:21 //int型 固定填21
amount:"100" // 交易金额 1元 = 100
orderNumber:"00000012" // 自定义订单号
}
//整单退款 如上
{
transType: 22
oldTrace:"交易凭证号" //交易时收据上的凭证号
amount: "金额"
isManagePwd: "false" //撤销时不显示输入主管密码(false-不显示输入密码,true-显示主管输入密码)
orderNumber:"自定义自定义订单号"
}
//部分退款
{
transType: 23
amount: "金额"
orderNumber:"自定义订单号"
}
//扫码付款
{
transType: 112
isPrintTicket: "trur or false" // 为true时调用打印;为false时不调用打印
amount: "金额"
orderNumber: "订单号"
isFrontCamera:"false" // 是否打开前置摄像头(传true时,打开前置。传false不打开前置)
}
//批量交易查询
{
transType: 71
Time:"yyyyMMdd" //查询日期默认返回当天数据 年月日 yyyyMMdd 是否必填字段:否
}
四.返回字段说明
class module {
String amount;//金额
String traceNo;//凭证号(流水号)
String batchNo;//批次号
String cardNo;//卡号
String date;//日期
String time;//时间
String merchantld;//商户号
String terminalld;//终端号
String merchantName;//商户名
String transactionType;//交易类型
String referenceNo; //卡号
String type; //卡类型 (如:借记卡,信用卡)
String issue; //发卡行
String termAlias; //终端别名
String orderNumber; //消费第三方订单号
String oldReferenceNo; //全额退款原参考号(撤销原消费那笔的参考号)
String oldOrderNumber; //全额退款第三方订单号
String backOldReferenceNo; //部分退款原参考号
String tuiOldOrderNumber; //部分退款第三方订单号
String transid; //渠道订单号
/*----------------------------*/
}
#jsons;//批量查询返回数据
json字段名 类型 数据 列如
name String 交易名
amount String 交易金额
pan String 主帐号(卡号)当是微信或者支付宝消费的时候返回的是二维码的id。
trace String 凭证号
authorizationCode String 授权码
referenceNo string 参考号 241305734110
date String 时间 1122
time String 日期
status String 交易状态 失败、成功、已撤销、已退款
orderNumber string 订单号第三方 00000018
transid String 渠道订单号 扫码交易时存在
termAlias string 终端别名 测试商户
merchantld string 商户号 818290059980727
terminalld string 终端号 61099590
merchantName string 商户名 测试账号
estimate string 返回状态 ok 或 err
reason string 错误信息 只有交易失败时才有