# 二维码支付或兑换

#### **接口用途**

- 支付宝支付
- 微信被扫支付
- 银行二维码支付
- 银行二维码积分兑换
- 银联立码付
- 百度支付
- 翼支付
- 其他二维码支付
- 产品券/代金券/折扣券/买N赠M券/立减券
- 外卖或自助点单订单码自动上屏

#### **交易流程说明**

- 该交易需要先采集二维码扫描器或键盘输入的二维码信息，再发至中间件，中间件收到请求后，检查包含qrcode内容信息再请求易百后台进行处理。

#### **action**

- `qrcodeSale`

#### **请求参数，收银机===&gt;中间件**

<table id="bkmrk-%E5%AD%97%E6%AE%B5-%E7%B1%BB%E5%9E%8B-%E6%98%AF%E5%90%A6%E5%BF%85%E5%A1%AB-%E5%AD%97%E6%AE%B5%E6%84%8F%E4%B9%89-%E5%A4%87%E6%B3%A8-t"><thead><tr><th style="width: 136px;">字段</th><th style="width: 169px;">类型</th><th style="width: 78px;">是否必填</th><th style="width: 112px;">字段意义</th><th style="width: 314px;">备注</th></tr></thead><tbody><tr><td style="width: 136px;">traceNo</td><td style="width: 169px;">String</td><td style="width: 78px;">是</td><td style="width: 112px;">收银机流水号</td><td style="width: 314px;">不允许重复，建议YYYYmmddHHMMSS+10位流水号</td></tr><tr><td style="width: 136px;">totalAmount</td><td style="width: 169px;">Price</td><td style="width: 78px;">是</td><td style="width: 112px;">交易总金额</td><td style="width: 314px;">单位：元</td></tr><tr><td style="width: 136px;">undiscountAmount</td><td style="width: 169px;">Price</td><td style="width: 78px;">是</td><td style="width: 112px;">不可打折金额</td><td style="width: 314px;">单位：元</td></tr><tr><td style="width: 136px;">qrcode</td><td style="width: 169px;">String</td><td style="width: 78px;">是</td><td style="width: 112px;">二维码内容</td><td style="width: 314px;">串号、一维码或二维码内容</td></tr><tr><td style="width: 136px;">goodsDetail</td><td style="width: 169px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 78px;">是</td><td style="width: 112px;">产品明细</td><td style="width: 314px;">验证产品明细时必填</td></tr><tr><td style="width: 136px;">memberDetail</td><td style="width: 169px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 78px;">否</td><td style="width: 112px;">会员信息</td><td style="width: 314px;">会员支付时必填</td></tr></tbody></table>

#### **请求报文举例**

```
{
    "traceNo": "99000009100010101732123",
    "totalAmount": 40.8,
    "undiscountAmount": 0,
    "qrcode": "280123121234567890",
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000"
        }
    ],
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}

```

#### **返回参数，中间件===&gt;收银机**

<table id="bkmrk-%E5%AD%97%E6%AE%B5-%E7%B1%BB%E5%9E%8B-%E6%98%AF%E5%90%A6%E5%BF%85%E5%A1%AB-%E5%AD%97%E6%AE%B5%E6%84%8F%E4%B9%89-%E5%A4%87%E6%B3%A8-t-0"><thead><tr><th style="width: 147px;">字段</th><th style="width: 168px;">类型</th><th style="width: 47px;">是否必填</th><th style="width: 132px;">字段意义</th><th style="width: 235px;">备注</th></tr></thead><tbody><tr><td style="width: 147px;">traceNo</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">收银机流水号</td><td style="width: 235px;">不允许重复</td></tr><tr><td style="width: 147px;">orderNo</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">交易订单号</td><td style="width: 235px;">易百生成</td></tr><tr><td style="width: 147px;">transDate</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">交易时间</td><td style="width: 235px;">格式为：YYYYmmddHHMMSS</td></tr><tr><td style="width: 147px;">returnCode</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">返回码</td><td style="width: 235px;">00表示交易成功，其他表示失败</td></tr><tr><td style="width: 147px;">returnDesc</td><td style="width: 168px;">String</td><td style="width: 47px;">是</td><td style="width: 132px;">返回信息</td><td style="width: 235px;">交易结果描述或错误原因</td></tr><tr><td style="width: 147px;">paidAmount</td><td style="width: 168px;">Price</td><td style="width: 47px;">是</td><td style="width: 132px;">支付成功总金额</td><td style="width: 235px;">单位：元</td></tr><tr><td style="width: 147px;">receiptAmount</td><td style="width: 168px;">Price</td><td style="width: 47px;">否</td><td style="width: 132px;">商户实收金额</td><td style="width: 235px;">单位：元</td></tr><tr><td style="width: 147px;">invoiceAmount</td><td style="width: 168px;">Price</td><td style="width: 47px;">否</td><td style="width: 132px;">商户开票金额</td><td style="width: 235px;">单位：元</td></tr><tr><td style="width: 147px;">exchangeRate</td><td style="width: 168px;">Number(8,6)</td><td style="width: 47px;">否</td><td style="width: 132px;">汇率</td><td style="width: 235px;">1外币等于多少人民币</td></tr><tr><td style="width: 147px;">currency</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">货币类型</td><td style="width: 235px;">例如:CNY</td></tr><tr><td style="width: 147px;">discountCode</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">折扣编码</td><td style="width: 235px;">由收银机分配，用于入账计折扣类型，如：2016120102\\</td><td style="width: 80px;">10.00表示折扣10元</td></tr><tr><td style="width: 147px;">discountNum</td><td style="width: 168px;">Number</td><td style="width: 47px;">否</td><td style="width: 132px;">固定金额折扣数量</td><td style="width: 235px;">用于入账计折扣类型的数量</td></tr><tr><td style="width: 147px;">tenderCode</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">支付方式编码</td><td style="width: 235px;">由收银机分配，用于入账计支付方式，如：2016120101\\</td><td style="width: 80px;">20.00表示支付20元</td></tr><tr><td style="width: 147px;">activityProductNo</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">活动产品编号</td><td style="width: 235px;"> </td></tr><tr><td style="width: 147px;">activityProductName</td><td style="width: 168px;">String</td><td style="width: 47px;">否</td><td style="width: 132px;">活动产品名称</td><td style="width: 235px;"> </td></tr><tr><td style="width: 147px;">goodsDetail</td><td style="width: 168px;">List&lt;[goodsDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/a0a08 "goodsDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">折抵产品明细</td><td style="width: 235px;">返回后台已抵扣成功的产品明细</td></tr><tr><td style="width: 147px;">fundChannel</td><td style="width: 168px;">List&lt;[fundChannel](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/e00da "fundChannel")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">资金渠道</td><td style="width: 235px;"> </td></tr><tr><td style="width: 147px;">printDetail</td><td style="width: 168px;">Object&lt;[printDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/310dc "printDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">打印信息</td><td style="width: 235px;">如需在收银小票上打印信息时必填</td></tr><tr><td style="width: 147px;">memberDetail</td><td style="width: 168px;">Object&lt;[memberDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/559cb "memberDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">会员信息</td><td style="width: 235px;">返回本次交易的会员信息</td></tr><tr><td style="width: 147px;">voucherDetail</td><td style="width: 168px;">List&lt;[voucherDetail](https://book.e-buy.com/books/ebuy-cashier-middleware-api/page/084b6 "voucherDetail")&gt;</td><td style="width: 47px;">否</td><td style="width: 132px;">优惠券信息</td><td style="width: 235px;">返回本次交易的优惠券信息</td></tr></tbody></table>

#### **返回报文举例**

```
{
    "traceNo": "99000009100010101732123",
    "orderNo": "171698602301",
    "transDate": "20161231120533",
    "returnCode": "00",
    "returnDesc": "SUCCESS",
    "paidAmount": 40.8,
    "receiptAmount": 40.8,
    "invoiceAmount": 40.8,
    "exchangeRate": 6.0939,
    "currency": "CNY",
    "discountCode": "0001",
    "discountNum": 20,
    "tenderCode": "8001",
    "activityProductNo": "2016123102",
    "activityProductName": "支付宝支付",
    "goodsDetail": [
        {
            "goodsCategory": "001",
            "goodsId": "P00001",
            "goodsName": "牙膏",
            "price": 8,
            "quantity": 2,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        },
        {
            "goodsCategory": "101",
            "goodsId": "P00002",
            "goodsName": "洗发水",
            "price": 24.8,
            "quantity": 1,
            "rebateCode": "000",
            "activityNo": "2016123101",
            "memo": "100123456789"
        }
    ],
    "fundChannel": [
        {
            "channelNo": "001",
            "channelName": "用户实付现金",
            "channelAmount": "20.8"
        },
        {
            "channelNo": "002",
            "channelName": "用户积分支付",
            "channelAmount": "20"
        }
    ],
    "printDetail": {
        "cardNo64": "622562****8888",
        "bank": "中国银行",
        "paymentOrderNo": "201612315689412157458787",
        "paymentUser": "139****@163.com",
        "pointSale": "20000",
        "qrCode1": "htt://www.xxx.com/url",
        "qrCode2": "",
        "qrCode3": "",
        "barCode1": "12345679",
        "barCode2": "",
        "barCode3": ""
    },
    "memberDetail": {
        "memberId": "M000001545",
        "memberName": "TONY",
        "grade": "1",
        "status": "1",
        "balance": 1000.00,
        "pointBalance": 30000
    }
}
```