> ## Documentation Index
> Fetch the complete documentation index at: https://opendocs.xft.xin/llms.txt
> Use this file to discover all available pages before exploring further.

# 付款码支付接口

## 功能说明

商户收银使用扫码设备读取用户微信、支付宝、云闪付等刷卡授权码以后，将二维码信息传送给商户的后台服务器，后台调用该接口发起付款

## 请求地址

`POST /v1/aggregate/payment/pay`

## 请求参数

| 字段                  | 类型     | 必填 | 说明                                               |
| ------------------- | ------ | -- | ------------------------------------------------ |
| `out_trade_no`      | string | 是  | 商户请求流水号，每次必须唯一                                   |
| `business_trade_no` | string | 否  | 商户业务订单号                                          |
| `merchant_code`     | string | 是  | 商户编码                                             |
| `amount`            | object | 是  | 订单金额，单位：分，详见下方 Amount 说明                         |
| `attach`            | string | 否  | 商户数据包（附加数据）                                      |
| `subject`           | string | 是  | 订单标题                                             |
| `body`              | string | 否  | 商品描述                                             |
| `notify_url`        | string | 否  | 支付结果异步通知地址                                       |
| `payer`             | object | 是  | 付款人信息，详见下方 Payer 说明                              |
| `scene_info`        | object | 是  | 场景信息，详见下方 SceneInfo 说明                           |
| `expired_at`        | string | 否  | 交易有效期，请求格式：`yyyyMMddHHmmss`；示例值：`20220912111230` |
| `staff_info`        | object | 否  | 收银员工号信息，详见下方 StaffInfo 说明                        |

**Amount 对象**

| 字段               | 类型     | 必填 | 说明                                 |
| ---------------- | ------ | -- | ---------------------------------- |
| `total`          | int    | 是  | 订单总金额，单位：分                         |
| `payer_total`    | int    | 否  | 用户支付金额，单位：分（使用优惠券的情况下，等于总金额减优惠券金额） |
| `currency`       | string | 否  | 订单金额货币类型；`CNY`：人民币，境内商户号仅支持人民币     |
| `payer_currency` | string | 否  | 用户支付货币类型                           |

**Payer 对象**

| 字段          | 类型     | 必填 | 说明       |
| ----------- | ------ | -- | -------- |
| `auth_code` | string | 是  | 付款码支付授权码 |

**SceneInfo 对象**

| 字段           | 类型     | 必填 | 说明                       |
| ------------ | ------ | -- | ------------------------ |
| `device_id`  | string | 否  | 商户端设备号（门店号或收银设备 ID）      |
| `device_ip`  | string | 是  | 商户端设备 IP                 |
| `store_info` | object | 否  | 商户门店信息，详见下方 StoreInfo 说明 |

**StoreInfo 对象**

| 字段       | 类型     | 必填 | 说明                                        |
| -------- | ------ | -- | ----------------------------------------- |
| `id`     | string | 否  | 门店编号（微信支付线下场所 ID，格式为纯数字）；与 `out_id` 二选一必填 |
| `out_id` | string | 否  | 商家自定义编码（商户系统的门店编码）；与 `id` 二选一必填           |

**StaffInfo 对象**

| 字段           | 类型     | 必填 | 说明    |
| ------------ | ------ | -- | ----- |
| `staff_code` | string | 否  | 收银员编号 |
| `staff_name` | string | 否  | 收银员姓名 |

## 请求示例

```json theme={null}
{
  "out_trade_no": "ea51203e1a0146d7954b39ac88aecaf7",
  "business_trade_no": "B20231025152300001",
  "merchant_code": "226801000000865319122",
  "amount": {
    "total": 100,
    "currency": "CNY"
  },
  "subject": "示例商品",
  "body": "线下订单服务费",
  "notify_url": "https://example.com/notify",
  "payer": {
    "auth_code": "134567890123456789"
  },
  "scene_info": {
    "device_id": "POS001",
    "device_ip": "192.168.1.100"
  },
  "expired_at": "20220912111230",
  "staff_info": {
    "staff_code": "S001",
    "staff_name": "张三"
  }
}
```

## 响应参数

| 字段                  | 类型     | 说明                                                                                |
| ------------------- | ------ | --------------------------------------------------------------------------------- |
| `out_trade_no`      | string | 商户订单号                                                                             |
| `business_trade_no` | string | 业务订单号                                                                             |
| `trade_no`          | string | 支付流水号                                                                             |
| `platform_trade_no` | string | 平台流水号                                                                             |
| `trade_state`       | string | 交易状态，详见 [TradeState 枚举](/open/xianghe/aggregate-payment-v1/get-charge#tradestate) |
| `trade_state_desc`  | string | 交易状态描述                                                                            |
| `product_code`      | string | 产品代码                                                                              |
| `product_name`      | string | 产品名称                                                                              |
| `subject`           | string | 订单标题                                                                              |
| `body`              | string | 商品描述                                                                              |
| `attach`            | string | 附加数据                                                                              |
| `channel_code`      | string | 渠道编码                                                                              |
| `channel_name`      | string | 渠道名称                                                                              |
| `institution_code`  | string | 机构编码                                                                              |
| `institution_name`  | string | 机构名称                                                                              |
| `payed_at`          | string | 支付时间                                                                              |
| `expired_at`        | string | 交易有效期                                                                             |
| `merchant_code`     | string | 商户编码                                                                              |
| `merchant_name`     | string | 商户名称                                                                              |
| `failure_code`      | string | 失败码                                                                               |
| `failure_msg`       | string | 失败信息                                                                              |
| `notify_url`        | string | 通知地址                                                                              |
| `payer`             | object | 付款人信息，结构同请求参数 Payer                                                               |
| `scene_info`        | object | 场景信息，结构同请求参数 SceneInfo                                                            |
| `amount`            | object | 订单金额，单位：分，结构同请求参数 Amount                                                          |
| `bank_code`         | string | 银行编码                                                                              |
| `bank_name`         | string | 银行名称                                                                              |

## 响应示例

```json theme={null}
{
  "out_trade_no": "ea51203e1a0146d7954b39ac88aecaf7",
  "business_trade_no": "B20231025152300001",
  "trade_no": "4200001234202310251234567890",
  "platform_trade_no": "20231025152300000001",
  "trade_state": "00",
  "trade_state_desc": "成功",
  "product_code": "MICRO_PAY",
  "product_name": "付款码支付",
  "subject": "示例商品",
  "body": "线下订单服务费",
  "attach": "",
  "channel_code": "WECHAT",
  "channel_name": "微信支付",
  "institution_code": "WECHAT",
  "institution_name": "财付通",
  "payed_at": "20220912111230",
  "expired_at": "20220912111230",
  "merchant_code": "226801000000865319122",
  "merchant_name": "示例商户",
  "failure_code": "",
  "failure_msg": "",
  "notify_url": "https://example.com/notify",
  "payer": {
    "auth_code": ""
  },
  "scene_info": {
    "device_id": "POS001",
    "device_ip": "192.168.1.100"
  },
  "amount": {
    "total": 100,
    "payer_total": 100,
    "currency": "CNY",
    "payer_currency": "CNY"
  },
  "bank_code": "",
  "bank_name": ""
}
```
