兑换课程接口
<p><strong>简要描述:</strong> </p>
<ul>
<li>兑换课程接口</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://xx.com/api/tool/third/redeemcode</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST </li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">orderid</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">订单号</td>
</tr>
<tr>
<td style="text-align: left;">user</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">手机号</td>
</tr>
<tr>
<td style="text-align: left;">ordertime</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">下单时间,yyyymmddhhmmss</td>
</tr>
<tr>
<td style="text-align: left;">payment</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">支付金额 单位元,精确到分23.88,默认0</td>
</tr>
<tr>
<td style="text-align: left;">orderstatus</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">订单状态</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">签名</td>
</tr>
<tr>
<td style="text-align: left;">courseinfo['courseid']</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">课程ID, 不参与签名</td>
</tr>
<tr>
<td style="text-align: left;">courseinfo['coursename']</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">课程名称, 不参与签名</td>
</tr>
<tr>
<td style="text-align: left;">platform</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">第三方平台, 不参与签名</td>
</tr>
</tbody>
</table>
<p><strong>请求示例</strong></p>
<pre><code> {
"sign": "289DEE951D3E3FF0BEA07FD14695B890",
"orderid": "123456789",
"user": "13305227780",
"ordertime": "20170829132655",
"payment": "20.00",
"orderstatus": "1",
"courseinfo": [
{
"courseid": "127",
"coursename": "考研英语专业1",
"price": "2358.00",
"buyprice": "1000.00",
"num": "1"
}
]
}</code></pre>
<p><strong>返回示例</strong></p>
<pre><code>{
"result": "success",
"data": {
"serial_number": "CZJ127LEDXZ9VSEL",
"secret_key": "UPZGRGH9BCY9VSEL",
"course_id": "127"
},
"message": "操作成功",
"ct": 1535523844
}</code></pre>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">result</td>
<td style="text-align: left;">string</td>
<td>返回状态, success/failed</td>
</tr>
<tr>
<td style="text-align: left;">data['serial_number']</td>
<td style="text-align: left;">string</td>
<td>兑换码序列号</td>
</tr>
<tr>
<td style="text-align: left;">data['secret_key']</td>
<td style="text-align: left;">string</td>
<td>兑换码密码</td>
</tr>
<tr>
<td style="text-align: left;">data['course_id']</td>
<td style="text-align: left;">int</td>
<td>课程ID</td>
</tr>
<tr>
<td style="text-align: left;">message</td>
<td style="text-align: left;">string</td>
<td>返回信息</td>
</tr>
</tbody>
</table>
<p><strong>备注</strong> </p>
<ul>
<li>签名
1.所有参与签名的参数,按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串A。
2.在字符串A最后拼接上key得到字符串B,并对字符串B进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值。
String A = "orderid=11&orderstatus=55&ordertime=44&payment=33&user=22";
String B= "orderid=11&orderstatus=55&ordertime=44&payment=33&user=22&key=123456";
String sign = MD5(stringSignTemp).toUpperCase();</li>
</ul>