请写一个统一支付的API文档
时间: 2023-03-03 08:59:58 浏览: 46
好的,以下是一个统一支付的API文档的示例:
### 接口URL
```
https://api.example.com/pay
```
### 请求方式
```
POST
```
### 请求参数
| 参数名 | 类型 | 必填 | 描述 |
| -------- | ------ | ---- | ------------------------------------------------------------ |
| amount | number | 是 | 支付金额,单位为元 |
| pay_type | string | 是 | 支付类型,取值为alipay或wechatpay |
| order_id | string | 是 | 订单号,需要确保唯一性,长度不超过64位 |
| subject | string | 是 | 订单主题,长度不超过128位 |
| body | string | 否 | 订单详情,长度不超过1024位 |
| return_url | string | 否 | 支付完成后跳转的URL |
| notify_url | string | 是 | 支付完成后,接收支付通知的URL |
| app_key | string | 是 | 应用的API Key |
| sign | string | 是 | 签名,防止请求被篡改。详见签名算法。 |
### 签名算法
1. 将请求参数按照参数名的字典序升序排序。
2. 将参数名和参数值用等号连接起来,得到参数字符串。
3. 将应用的API Key拼接在参数字符串的末尾。
4. 将拼接后的字符串进行MD5计算,得到签名值。
### 响应参数
| 参数名 | 类型 | 描述 |
| -------- | ------ | ------------------------------------------------------------ |
| code | number | 响应码,0表示成功,其他表示失败 |
| message | string | 响应消息 |
| pay_info | object | 支付信息,根据不同的支付类型,返回不同的信息。详见支付信息。 |
### 支付信息
#### 支付宝支付
| 参数名 | 类型 | 描述 |
| ------- | ------ | -------------------------------------- |
| trade_no | string | 支付宝交易号 |
| qr_code | string | 支付二维码图片链接,有效期15分钟。 |
#### 微信支付
| 参数名 | 类型 | 描述 |
| ------ | ------ | --------------------------- |
| prepay_id | string | 预支付ID,用于调起微信支付。 |
| qr_code | string | 支付二维码图片链接。 |
### 响应示例
支付宝支付成功:
```
{
"code": 0,
"message": "支付成功",
"pay_info": {
"trade_no": "20230215000001",
"qr_code": "https://qr.alipay.com/abcdefg"
}
}
```
微信支付成功:
```
{
"code": 0,
"message": "支付成功",
"pay_info": {
"prepay_id": "wx20230215000001",
"qr_code": "https://wxpay.qq.com/abcdefg"
}
}
```