加款接口
# 加款接口
## 1. 接口描述
- 接口地址:`http://api.主站域名/user/charge-orders`
- 返回格式:json
- 请求方式:POST
- Content type:application/json
## 2. 请求参数
| 参数名称 | 必填 | 类型 | 说明 |
| ---------------- | :--: | :-----: | ------------------------- |
| user_id | 是 | integer | 用户在站点的ID |
| payment_order_id | 是 | string | 订单编号 |
| payment_type | 是 | string | 支付类型 `wechat_pay` |
| amount | 是 | number | 充值金额 |
| timestamp | 是 | integer | 10位时间戳 |
| sign | 是 | string | 签名 <a href="#4__60">签名规则</a> |
> 请求示例:
```json
{
"user_id": 1,
"payment_order_id": "201010100000001",
"payment_type": "wechat_pay",
"amount": 1,
"timestamp": 1286640000,
"sign": "ed5efd781c38184f2e2ddb65be16adfc"
}
```
## 3. 返回示例
> 200
```json
{
"data": 0,
"error": null
}
```
> 422
```json
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}
```
## 4. 签名规则
密钥获取:登录主站选择`站点管理 - 支付配置`,复制站点密钥。
签名方式:将请求参数按照A-Z排序之后和密钥一起调用签名方法进行签名。
请求参数排序示例:`amount=1&payment_order_id=201010100000001&payment_type=wechat_pay×tamp=1286640000&user_id=1`
> 易语言签名写法
```易语言
.子程序 sign计算, 文本型, 公开, 签名,返回签名后的sign值
.参数 param, 文本型, , 待签名的参数
.参数 key, 文本型, , 站点密钥
.局部变量 signpars, 文本型
.局部变量 分割, 文本型, , "0"
.局部变量 x, 整数型
.局部变量 k, 文本型
.局部变量 v, 文本型
.局部变量 sign, 文本型
分割 = 分割文本 (param, “&”, )
数组_排序 (分割, 0, )
.计次循环首 (取数组成员数 (分割), x)
k = 文本_取左边 (分割 [x], “=”, , )
v = 文本_取右边 (分割 [x], “=”, , )
.如果真 (k ≠ “sign” 且 v ≠ “”)
.如果 (x = 取数组成员数 (分割))
signpars = signpars + k + “=” + v
.否则
signpars = signpars + k + “=” + v + “&”
.如果结束
.如果真结束
.计次循环尾 ()
signpars = signpars + key
sign = 取数据摘要 (到字节集 (signpars))
返回 (sign)
```
