更新
This commit is contained in:
@@ -0,0 +1,434 @@
|
||||
# 支付API端点文档
|
||||
|
||||
## 支付相关API
|
||||
|
||||
### 1. 支付宝支付
|
||||
|
||||
**端点**: `POST /order.order/alipay`
|
||||
|
||||
**请求参数**:
|
||||
|
||||
#### 正常支付
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"order_no": "ORD20240101120000123456",
|
||||
"amount": 100.00,
|
||||
"payment_method": "alipay"
|
||||
}
|
||||
```
|
||||
|
||||
#### 补单支付
|
||||
```json
|
||||
{
|
||||
"order_no": "ORD20240101120000123456",
|
||||
"payment_method": "alipay",
|
||||
"is_supplement": 1
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "success",
|
||||
"data": {
|
||||
"pay_url": "https://openapi.alipay.com/gateway.do?app_id=xxx&method=alipay.trade.page.pay&..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**说明**:
|
||||
- 返回支付宝支付URL
|
||||
- 前端跳转到该URL进行支付
|
||||
- 支付完成后支付宝会回调 `/api/order/alipay-notify`
|
||||
|
||||
---
|
||||
|
||||
### 2. 微信支付
|
||||
|
||||
**端点**: `POST /order.order/wechat`
|
||||
|
||||
**请求参数**:
|
||||
|
||||
#### 正常支付
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"order_no": "ORD20240101120000123456",
|
||||
"amount": 100.00,
|
||||
"payment_method": "wechat"
|
||||
}
|
||||
```
|
||||
|
||||
#### 补单支付
|
||||
```json
|
||||
{
|
||||
"order_no": "ORD20240101120000123456",
|
||||
"payment_method": "wechat",
|
||||
"is_supplement": 1
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "success",
|
||||
"data": {
|
||||
"pay_url": "https://api.mch.weixin.qq.com/pay/unifiedorder",
|
||||
"pay_data": {
|
||||
"appid": "wx1234567890abcdef",
|
||||
"mch_id": "1234567890",
|
||||
"nonce_str": "abc123def456",
|
||||
"body": "订单支付",
|
||||
"out_trade_no": "ORD20240101120000123456",
|
||||
"total_fee": 10000,
|
||||
"spbill_create_ip": "192.168.1.1",
|
||||
"notify_url": "https://yourdomain.com/api/order/wechat-notify",
|
||||
"trade_type": "NATIVE",
|
||||
"sign": "ABC123DEF456"
|
||||
},
|
||||
"order_no": "ORD20240101120000123456"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**说明**:
|
||||
- 返回微信支付数据
|
||||
- 前端需要将 `pay_data` 发送到微信支付API
|
||||
- 或者使用 `pay_url` 和 `pay_data` 生成二维码
|
||||
- 支付完成后微信会回调 `/api/order/wechat-notify`
|
||||
|
||||
---
|
||||
|
||||
### 3. 支付宝异步通知
|
||||
|
||||
**端点**: `POST /api/order/alipay-notify`
|
||||
|
||||
**请求参数** (由支付宝发送):
|
||||
```
|
||||
app_id=2021000000000000
|
||||
method=alipay.trade.page.pay
|
||||
charset=UTF-8
|
||||
sign_type=RSA2
|
||||
timestamp=2024-01-01 12:00:00
|
||||
version=1.0
|
||||
notify_url=https://yourdomain.com/api/order/alipay-notify
|
||||
return_url=https://yourdomain.com/order
|
||||
biz_content={"out_trade_no":"ORD20240101120000123456",...}
|
||||
sign=ABC123DEF456...
|
||||
trade_status=TRADE_SUCCESS
|
||||
trade_no=2024010100000001
|
||||
out_trade_no=ORD20240101120000123456
|
||||
total_amount=100.00
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```
|
||||
success
|
||||
```
|
||||
|
||||
**说明**:
|
||||
- 支付宝会在支付完成后发送异步通知
|
||||
- 后端验证签名和金额
|
||||
- 更新订单状态为"已支付"
|
||||
- 返回 `success` 表示处理成功
|
||||
|
||||
---
|
||||
|
||||
### 4. 微信异步通知
|
||||
|
||||
**端点**: `POST /api/order/wechat-notify`
|
||||
|
||||
**请求参数** (由微信发送,XML格式):
|
||||
```xml
|
||||
<xml>
|
||||
<appid>wx1234567890abcdef</appid>
|
||||
<mch_id>1234567890</mch_id>
|
||||
<nonce_str>abc123def456</nonce_str>
|
||||
<sign>ABC123DEF456</sign>
|
||||
<result_code>SUCCESS</result_code>
|
||||
<out_trade_no>ORD20240101120000123456</out_trade_no>
|
||||
<total_fee>10000</total_fee>
|
||||
<transaction_id>4200001234567890</transaction_id>
|
||||
<trade_type>NATIVE</trade_type>
|
||||
</xml>
|
||||
```
|
||||
|
||||
**响应** (XML格式):
|
||||
```xml
|
||||
<xml>
|
||||
<return_code><![CDATA[SUCCESS]]></return_code>
|
||||
<return_msg><![CDATA[支付成功]]></return_msg>
|
||||
</xml>
|
||||
```
|
||||
|
||||
**说明**:
|
||||
- 微信会在支付完成后发送异步通知
|
||||
- 后端验证签名和金额
|
||||
- 更新订单状态为"已支付"
|
||||
- 返回 XML 格式的响应
|
||||
|
||||
---
|
||||
|
||||
## 其他订单API
|
||||
|
||||
### 5. 订单列表
|
||||
|
||||
**端点**: `GET /order.order/lists`
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"page_no": 1,
|
||||
"page_size": 10,
|
||||
"order_no": "",
|
||||
"patient_keyword": "",
|
||||
"order_type": "",
|
||||
"status": "",
|
||||
"create_time_start": "",
|
||||
"create_time_end": ""
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "success",
|
||||
"data": {
|
||||
"lists": [
|
||||
{
|
||||
"id": 1,
|
||||
"order_no": "ORD20240101120000123456",
|
||||
"patient": {
|
||||
"id": 1,
|
||||
"patient_name": "张三",
|
||||
"phone": "13800000000"
|
||||
},
|
||||
"creator": {
|
||||
"id": 1,
|
||||
"name": "李四"
|
||||
},
|
||||
"order_type": 1,
|
||||
"amount": 100.00,
|
||||
"status": 2,
|
||||
"payment_method": "alipay",
|
||||
"payment_time": "2024-01-01 12:30:00",
|
||||
"create_time": "2024-01-01 12:00:00"
|
||||
}
|
||||
],
|
||||
"count": 100,
|
||||
"page_no": 1,
|
||||
"page_size": 10
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 6. 订单详情
|
||||
|
||||
**端点**: `POST /order.order/detail`
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "success",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"order_no": "ORD20240101120000123456",
|
||||
"patient": {
|
||||
"id": 1,
|
||||
"patient_name": "张三",
|
||||
"phone": "13800000000"
|
||||
},
|
||||
"creator": {
|
||||
"id": 1,
|
||||
"name": "李四"
|
||||
},
|
||||
"order_type": 1,
|
||||
"amount": 100.00,
|
||||
"status": 2,
|
||||
"payment_method": "alipay",
|
||||
"payment_time": "2024-01-01 12:30:00",
|
||||
"create_time": "2024-01-01 12:00:00",
|
||||
"remark": "备注信息"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 7. 创建订单
|
||||
|
||||
**端点**: `POST /order.order/create`
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"patient_id": 1,
|
||||
"order_type": 1,
|
||||
"amount": 100.00,
|
||||
"remark": "备注信息"
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "创建成功",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"order_no": "ORD20240101120000123456",
|
||||
"patient_id": 1,
|
||||
"creator_id": 1,
|
||||
"order_type": 1,
|
||||
"amount": 100.00,
|
||||
"status": 1,
|
||||
"create_time": "2024-01-01 12:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 8. 编辑订单
|
||||
|
||||
**端点**: `POST /order.order/edit`
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"remark": "新的备注信息"
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "编辑成功"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 9. 取消订单
|
||||
|
||||
**端点**: `POST /order.order/cancel`
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "取消成功"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 10. 退款订单
|
||||
|
||||
**端点**: `POST /order.order/refund`
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "退款成功"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 11. 删除订单
|
||||
|
||||
**端点**: `POST /order.order/delete`
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**响应**:
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"msg": "删除成功"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 错误响应
|
||||
|
||||
所有API在出错时返回以下格式:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 1,
|
||||
"msg": "错误信息"
|
||||
}
|
||||
```
|
||||
|
||||
**常见错误**:
|
||||
- `订单不存在` - 订单ID无效
|
||||
- `订单状态不允许支付` - 订单已支付或已取消
|
||||
- `签名验证失败` - 支付网关回调签名验证失败
|
||||
- `金额不匹配` - 支付金额与订单金额不符
|
||||
- `支付宝配置不完整` - 缺少支付宝配置
|
||||
- `微信支付配置不完整` - 缺少微信支付配置
|
||||
|
||||
---
|
||||
|
||||
## 状态码说明
|
||||
|
||||
| 状态码 | 说明 |
|
||||
|--------|------|
|
||||
| 1 | 待支付 |
|
||||
| 2 | 已支付 |
|
||||
| 3 | 已取消 |
|
||||
| 4 | 已退款 |
|
||||
|
||||
## 订单类型说明
|
||||
|
||||
| 类型码 | 说明 |
|
||||
|--------|------|
|
||||
| 1 | 挂号费 |
|
||||
| 2 | 问诊费 |
|
||||
| 3 | 药品费用 |
|
||||
|
||||
## 支付方式说明
|
||||
|
||||
| 方式 | 说明 |
|
||||
|------|------|
|
||||
| alipay | 支付宝 |
|
||||
| wechat | 微信 |
|
||||
Reference in New Issue
Block a user