> **特别提醒:在购买和使用此插件前请确认你已购买芯烨`小票云打印机`或`标签云打印机`。**
> 京东商城推荐:[芯烨(XINYE)XP-T58H全自动外卖接单小票打印机 美团饿了么百度热敏云打印机真人语音 收银票据无线WIFI版](https://www.juzhigou.com/go/jump?url=https%3A%2F%2Funion-click.jd.com%2Fjdc%3Fe%3D618%257Cpc%257C%26p%3DJF8BARQJK1olXwQAVVdUAE8WBl8IGloUXQEFV1lYDUwnRzBQRQQlBENHFRxWFlVPRjtUBABAQlRcCEBdCUoWA2gPGFwQWAEdDRsBVXtuRxYOaQFqXGRnJlYtEhZxUxNMUB11UQoyVW5dCUoUBGgBG1oUbTYCU24fZgJWQDdXXg9WWg8HV1ldAHsWM28PE1kVVQIDUFpUDUInBG8BK10SXw8BXV1bFEMQBm4MH10RbTYyV25aCEIDBR1JSU8TLzYyVG5eOEsWA2YOGV4XXQYCSF5cDU0RAXMIHFMXXQ4GVVtcAUgWM20JGl8cbTYyUwIuUQ1gCjp2ZQddDVFiUlkneA9EWStwdVlcD11BUBsbVDVtYQhDZx1NWzY)
[XP-T58H全自动外卖接单小票打印机")](https://www.62720.com/page/jump?url=https%3A%2F%2Funion-click.jd.com%2Fjdc%3Fe%3D618%257Cpc%257C%26p%3DJF8BARQJK1olXwQAVVdUAE8WBl8IGloUXQEFV1lYDUwnRzBQRQQlBENHFRxWFlVPRjtUBABAQlRcCEBdCUoWA2gPGFwQWAEdDRsBVXtuRxYOaQFqXGRnJlYtEhZxUxNMUB11UQoyVW5dCUoUBGgBG1oUbTYCU24fZgJWQDdXXg9WWg8HV1ldAHsWM28PE1kVVQIDUFpUDUInBG8BK10SXw8BXV1bFEMQBm4MH10RbTYyV25aCEIDBR1JSU8TLzYyVG5eOEsWA2YOGV4XXQYCSF5cDU0RAXMIHFMXXQ4GVVtcAUgWM20JGl8cbTYyUwIuUQ1gCjp2ZQddDVFiUlkneA9EWStwdVlcD11BUBsbVDVtYQhDZx1NWzY "芯烨(XINYE)XP-T58H全自动外卖接单小票打印机")
# 1. 获取接口秘钥
第一步: 登录芯烨云开放平台 https://admin.xpyun.net/ ,没有账号请直接注册并登录。
第二步: 登录开放平台后,打开此链接:https://admin.xpyun.net/user-manage/identity-auth 完成实名认证。
第三步: 待实名认证审核通过后,打开此链接:https://admin.xpyun.net/user-manage/user-info 获取`开发者ID`和`开发者秘钥`。
第四步: 进入您的网站管理后台:系统 -> 系统管理 -> 应用管理页面,找到`芯烨云打印`应用,点击`配置`按钮,在弹出的表单里面填写第三步获取到的`开发者ID`和`开发者秘钥`即可。
# 2. 添加打印设备

# 3. 创建模板

示例模板内容如下:
```html
<CB> 自营外卖单 {:PHP_EOL}
<L><N>--------------------------------{:PHP_EOL}
<CB>--{$order[\\\'receive_method\\\']==1?\\\'骑手配送\\\':($order[\\\'receive_method\\\']==2?($order[\\\'dining_method\\\']==1?\\\'店内就餐\\\':\\\'打包带走\\\'):($order[\\\'receive_method\\\']==3?\\\'到店自提\\\':\\\'定点取货\\\'))}--{:PHP_EOL}
<L><N>下单时间:{:date(\\\'Y年m月d日 H时i分\\\', strtotime($order[\\\'create_time\\\']))}{:PHP_EOL}
订单编号:{$order[\\\'order_no\\\']}{:PHP_EOL}
**************商品**************{:PHP_EOL}
{foreach name="$order[\\\'skus\\\']" id="item"}{php}$len = 28-str_len($item[\\\'name\\\'].$item[\\\'quantity\\\'].$item[\\\'price\\\']);{/php}<L><N>{$item[\\\'name\\\']}{:str_repeat(\\\' \\\', $len)} x{$item[\\\'quantity\\\']} {$item[\\\'price\\\']}</L>{:PHP_EOL}
{/foreach}
--------------------------------{:PHP_EOL}
配送费:¥{$order[\\\'delivery_fee\\\']}{:PHP_EOL}
--------------------------------{:PHP_EOL}
小计:¥{$order[\\\'product_amount\\\']+$order[\\\'delivery_fee\\\']}{:PHP_EOL}
<L><N>********************************{:PHP_EOL}
<B>订单总价:¥{$order[\\\'order_amount\\\']}{:PHP_EOL}
<N>地址:{$order[\\\'consignee_address\\\']}{:PHP_EOL}
电话:{$order[\\\'consignee_name\\\']} {$order[\\\'consignee_mobile\\\']}{:PHP_EOL}
备注:{$order[\\\'buyer_memo\\\']}{:PHP_EOL}
<C><HB>** 完 **{:PHP_EOL}
<L><N>请使用微信扫码{:PHP_EOL}
<L><QRCODE s=6 e=L l=center>二维码地址</QRCODE>
```
>模板内容支持直接使用TP内置的所有模板标签。
# 4. 如何调用?
| 参数名 | 类型 | 必须 | 默认值 | 说明 |
| :------------: | :------------: | :------------: | :------------: | :------------|
| order_no | int/string | 必须 | | 内部订单号 |
| template | string | 可选 | | 模板别名,通过后台模板管理页面获取,`当content参数为空时,此参数为必须` |
| content | string/array | 可选 | | 打印内容,`当template里面含有变量时,请传入数据集合` |
| sn | string | 可选 | | 设备号,不指定将自动提取可用设备号 |
| copies | int | 可选 | 1 | 打印份数 |
| cutter | int | 可选 | 0 | 切刀控制开关,1关闭云端切刀,若想自己设置切刀位置,可以通过 <CUT> 标签设置切刀 `仅用于支持切刀的芯烨云打印机` |
| voice | int | 可选 | 2 | 声音播放模式,0 取消订单,1 静音模式,2 来单播放,3 申请退单 |
| mode | int | 可选 | 0 | 打印模式:值为 0 或不指定则会检查打印机是否在线,如果不在线 则不生成打印订单,直接返回设备不在线状态码;如果在线则生成打印订单,并返回打印订单号。值为 1不检查打印机是否在线,直接生成打印订单,并返回打印订单号。如果打印机不在线,订单将缓存在打印队列中,打印机正常在线时会自动打印。 |
| expiresIn | int | 可选 | 0 | 订单有效期,单位:秒。订单打印时,超过该时间的订单将不会自动加载打印,当参数设置为 0 时,将采用系统默认设置值。`使用该参数时,需要将参数mode 设置为1`。取值范围:0 < expiresIn < 86400。 |
| payType | int | 可选 | | 支付方式:支付宝 41、微信 42、云支付 43、银联刷卡 44、银联支付 45、会员卡消费 46、会员卡充值 47、翼支付 48、成功收款 49、嘉联支付 50、壹钱包 51、京东支付 52、快钱支付 53、威支付 54、享钱支付55`仅用于支持金额播报的芯烨云打印机` |
| payMode | int | 可选 | | 支付与否:退款 59 到账 60 消费 61 `仅用于支持金额播报的芯烨云打印机` |
| money | float | 可选 | | 播报金额,最多允许保留2位小数 `仅用于支持金额播报的芯烨云打印机` |
>示例1:直接打印内容
```php
$param = [
\\\'order_no\\\' => 202301010101,
\\\'voice\\\' => 2,
\\\'copies\\\' => 1,
\\\'payMode\\\' => 60,
\\\'payType\\\' => 42,
\\\'money\\\' => 50,
\\\'content\\\' => \\\'这是一张小票测试单\\\',
];
$resp = $this->pluginXpyunLogicXpyun->printTicket($param);// 直接调用
// $resp = event(\\\'PrintTicket\\\', $param, true);// 通过事件函数调用
if ($resp[\\\'code\\\']) {// 成功
print_r($resp[\\\'data\\\']);
} else {// 失败
echo $resp[\\\'msg\\\'];
}
```
>示例2:通过模板打印
```php
$param = [
\\\'order_no\\\' => 202301010101,
\\\'voice\\\' => 2,
\\\'copies\\\' => 1,
\\\'payMode\\\' => 60,
\\\'payType\\\' => 42,
\\\'money\\\' => 50,
\\\'template\\\' => \\\'order\\\',
\\\'content\\\' => [// 此处的示例数据是配合第三步的示例模板使用的
\\\'order\\\' => [
\\\'order_no\\\' => 2023082711185582242,
\\\'receive_method\\\' => 1,
\\\'order_amount\\\' => 115.00,
\\\'delivery_fee\\\' => 0.00,
\\\'product_amount\\\' => 115.00,
\\\'buyer_memo\\\' => \\\'\\\',
\\\'consignee_name\\\' => \\\'张三\\\',
\\\'consignee_mobile\\\' => 13888888888,
\\\'consignee_address\\\' => \\\'花园小区一期 1 栋 1001\\\',
\\\'dining_method\\\' => 0,
\\\'create_time\\\' => \\\'2023-08-27 11:18:55\\\',
\\\'skus\\\' => [
[
\\\'name\\\' => \\\'猪脚饭\\\',
\\\'spec\\\' => \\\'\\\',
\\\'quantity\\\' => 5,
\\\'price\\\' => 23.00,
],
],
]
],
];
$resp = $this->pluginXpyunLogicXpyun->printTicket($param);// 直接调用
// $resp = event(\\\'PrintTicket\\\', $param, true);// 通过事件函数调用
if ($resp[\\\'code\\\']) {// 成功
print_r($resp[\\\'data\\\']);
} else {// 失败
echo $resp[\\\'msg\\\'];
}
```