调用 富友 智能pos外调交易插件及自定义打印

185 阅读4分钟

调用富友智能pos外调交易插件及自定义打印

调用富商智能pos外调交易及自定义打印 - DCloud 插件市场

一.获取本地uni-app原生插件

  1. 下载原生插件(zip格式),解压到HBuilderX的uni-app项目下的“nativeplugins”目录(如不存在则创建)

  2. uni-app原生插件本地配置 <如果是云端插件请选择云端插件>忽略第一步 img_1.png

    调用富商智能pos外调交易及自定义打印 - DCloud 插件市场

二.插件使用方式

/**
 * 打开第三方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类型
            })
        }
    }
}

调用富商智能pos外调交易及自定义打印 - DCloud 插件市场

传入入字段

//银行卡消费
{
    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 是否必填字段:否
}


调用富商智能pos外调交易及自定义打印 - DCloud 插件市场

四.返回字段说明

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      错误信息            只有交易失败时才有

调用富商智能pos外调交易及自定义打印 - DCloud 插件市场