提单接口
<p>[TOC]</p>
<h5>接口地址</h5>
<ul>
<li><code>http://120.26.223.111:9090/v1/SubmitOrder</code></li>
</ul>
<h5>参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">Service</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>下单命令(签名)</td>
<td>SubmitOrder 下单接口固定值</td>
</tr>
<tr>
<td style="text-align: left;">UserId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>帐号 ID(签名)</td>
<td>注意不是登陆名</td>
</tr>
<tr>
<td style="text-align: left;">BizType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>业务类型(签名)</td>
<td>固定填写: ECARD</td>
</tr>
<tr>
<td style="text-align: left;">OrderNo</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订单号(签名)</td>
<td>不大于 32 位的唯一订单号</td>
</tr>
<tr>
<td style="text-align: left;">ProductId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>标准产品 ID(签名)</td>
<td>直充与卡密的产品 ID 是相互独立的</td>
</tr>
<tr>
<td style="text-align: left;">AccountVal</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>充值目标账号(签名)</td>
</tr>
<tr>
<td style="text-align: left;">Phone</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>手机号(签名)</td>
<td>用于接收通知消息</td>
</tr>
<tr>
<td style="text-align: left;">BuyNum</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td>购买数量(签名)</td>
<td>为空时默认为 1</td>
</tr>
<tr>
<td style="text-align: left;">CustomerIP</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>终端 IP(签名)</td>
<td>此 IP 需填写下单人的 IP,而不是接口调用方 IP 充值 Q 币、 区域产品时必填,其他产品可以为空</td>
</tr>
<tr>
<td style="text-align: left;">ExtraData</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>附加数据(签名)</td>
<td>特定产品充值时需要的参数,默认直接为空,格式为 JSON 字符串,注意是序列化后的字符串</td>
</tr>
<tr>
<td style="text-align: left;">Time</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>时间戳(签名)</td>
<td>1970-1-1 ( UTC) 到现在的总秒数 10位</td>
</tr>
<tr>
<td style="text-align: left;">Sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>签名值</td>
<td>参见签名算法</td>
</tr>
</tbody>
</table>
<h5>请求示例</h5>
<pre><code>{
&quot;UserId&quot;: &quot;test&quot;,
&quot;Service&quot;: &quot;SubmitOrder&quot;,
&quot;BizType&quot;: &quot;ECARD&quot;,
&quot;OrderNo&quot;: &quot;JN5464564206&quot;,
&quot;ProductId&quot;: &quot;cscp03&quot;,
&quot;Time&quot;: &quot;1706152698&quot;,
&quot;Sign&quot;: &quot;9b63d257726a324421a890ce5631489d&quot;,
&quot;AccountVal&quot;: &quot;893250898&quot;
}</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>消息代码</td>
<td>成功返回 0, 出错返回对应的错误码</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">String</td>
<td>消息文本</td>
</tr>
<tr>
<td style="text-align: left;">status</td>
<td style="text-align: left;">String</td>
<td>请求状态</td>
<td>以code为准</td>
</tr>
<tr>
<td style="text-align: left;">BizType</td>
<td style="text-align: left;">String</td>
<td>业务类型</td>
<td>原样返回请求中的业务类型</td>
</tr>
<tr>
<td style="text-align: left;">OrderNo</td>
<td style="text-align: left;">String</td>
<td>订单号</td>
<td>原样返回请求中的订单号</td>
</tr>
<tr>
<td style="text-align: left;">OrderStatus</td>
<td style="text-align: left;">String</td>
<td>订单状态</td>
<td><div style="width:110%">如果 code==0 时才会返回:</div>UNDERWAY:下单成功,充值中<br> SUCCESS:充值成功<br> FAILED:充值失败</td>
</tr>
<tr>
<td style="text-align: left;">OrderInfo</td>
<td style="text-align: left;">Object</td>
<td>订单明细</td>
</tr>
</tbody>
</table>
<h5>OrderInfo内部参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">total</td>
<td style="text-align: left;">BigDecimal</td>
<td>订单总价(元)</td>
</tr>
<tr>
<td style="text-align: left;">buyNum</td>
<td style="text-align: left;">int</td>
<td>购买数量</td>
</tr>
<tr>
<td style="text-align: left;">price</td>
<td style="text-align: left;">BigDecimal</td>
<td>产品官方价格(元)</td>
</tr>
<tr>
<td style="text-align: left;">agentProductPrice</td>
<td style="text-align: left;">BigDecimal</td>
<td>代理产品价格(元)</td>
</tr>
</tbody>
</table>
<h5>返回参数示例</h5>
<pre><code>{
&quot;code&quot;: 0,
&quot;msg&quot;: null,
&quot;status&quot;: &quot;ok&quot;,
&quot;OrderStatus&quot;: &quot;UNDERWAY&quot;,
&quot;ProductData&quot;: null,
&quot;OrderInfo&quot;: {
&quot;total&quot;: 1.00,
&quot;buyNum&quot;: 1,
&quot;price&quot;: 1.00,
&quot;agentProductPrice&quot;: 1.00
}
}</code></pre>
<h5>备注</h5>
<h6>注意</h6>
<p>1. 如果接口超时, 请不要直接对订单状态进行处理, 可以在稍后通过查询接口进行订单状态获取, 成功 或者失败平台也会回调。
2. 如果发起相同订单号, 平台会对订单进行对比, 如果传入参数业务类型、产品、目标账号、数量都相 同的订单, 平台会对接口幂等操作(返回该订单当前的实时状态), 否则对接口返回订单号重复的错 误。</p>