加款接口

# 加款接口 ## 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&timestamp=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) ``` ![易语言签名规则示例](https://webft.libragx.com/yizhou/help_document/images/elang-sign-example.png)