扫码枪扣款请求
<p><strong>简要描述:</strong></p>
<ul>
<li>车辆出场时到达出口通道,车主出示付款码,岗亭收费员使用扫码枪扫描车主付款码,扫码后本地停车场系统主动向支付平台发起扣款请求;</li>
<li>支付平台收到请求后执行扣款动作,扣款成功后通过 <strong>下行接口[支付结果通知]</strong> 返回给本地停车场系统;</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>
<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 style="text-align: left;">接口名称</td>
<td>requestbarcodepay</td>
</tr>
<tr>
<td style="text-align: left;">parkid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">车场ID</td>
<td>20180001</td>
</tr>
<tr>
<td style="text-align: left;">order_id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">入场记录号</td>
<td>118881(对应入场时上传的order_id,每次请求相同)</td>
</tr>
<tr>
<td style="text-align: left;">parking_serial</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">订单流水号</td>
<td>PN0000000750</td>
</tr>
<tr>
<td style="text-align: left;">car_number</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">车牌号</td>
<td>粤B12345</td>
</tr>
<tr>
<td style="text-align: left;">in_time</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">进场时间</td>
<td>2018-09-25 19:35:40</td>
</tr>
<tr>
<td style="text-align: left;">duration</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">停车时长(分钟)</td>
<td>110</td>
</tr>
<tr>
<td style="text-align: left;">price</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">应收金额</td>
<td>15.50</td>
</tr>
<tr>
<td style="text-align: left;">gateid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">出场通道ID</td>
<td>2</td>
</tr>
<tr>
<td style="text-align: left;">gatename</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">出场通道名称</td>
<td>北门出口</td>
</tr>
<tr>
<td style="text-align: left;">auth_code</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">付款码</td>
<td>135729086282911628</td>
</tr>
<tr>
<td style="text-align: left;">timestamp</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">当前时间戳,单位ms</td>
<td>1546831287000</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">签名=md5(UTF8(parkid<br>+order_id<br>+parking_serial<br>+price<br>+timestamp<br>+auth_code))</td>
<td>AFE60745D403AC71DE46A6E157906C91</td>
</tr>
</tbody>
</table>
<pre><code>签名计算
sign = md5(UTF8(parkid+order_id+parking_serial+price+timestamp+auth_code))
=md5(UTF8(20180001118881PN000000075015.501546831287000135729086282911628))
=AFE60745D403AC71DE46A6E157906C91</code></pre>
<p><strong>请求示例</strong></p>
<pre><code> {
&quot;service&quot;: &quot;requestbarcodepay&quot;,
&quot;parkid&quot;: &quot;20180001&quot;,
&quot;order_id&quot;: &quot;118881&quot;,
&quot;parking_serial&quot;: &quot;PN0000000750&quot;,
&quot;car_number&quot;: &quot;粤B12345&quot;,
&quot;in_time&quot;: &quot;2018-09-25 19:35:40&quot;,
&quot;duration&quot;: 110,
&quot;price&quot;: &quot;15.50&quot;,
&quot;gateid&quot;: 2,
&quot;gatename&quot;: &quot;北门出口&quot;,
&quot;auth_code&quot;: &quot;135729086282911628&quot;,
&quot;timestamp&quot;: 1546831287000,
&quot;sign&quot;: &quot;AFE60745D403AC71DE46A6E157906C91&quot;
}</code></pre>
<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>
<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 style="text-align: left;">接口名称</td>
<td>requestbarcodepay</td>
</tr>
<tr>
<td style="text-align: left;">result_code</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">返回代码</td>
<td>0请求成功,1请求失败</td>
</tr>
<tr>
<td style="text-align: left;">order_id</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td style="text-align: left;">订单记录号</td>
<td>118881</td>
</tr>
<tr>
<td style="text-align: left;">message</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">返回描述</td>
<td>请求成功</td>
</tr>
</tbody>
</table>
<p><strong>返回示例</strong>
<strong>注意 :</strong> 返回成功只是代表支付平台收到了请求并且在处理扣款,真正扣款成功后要通过-->下行接口[支付结果通知] 返回给本地停车场系统</p>
<pre><code> {
&quot;service&quot;: &quot;requestbarcodepay&quot;,
&quot;result_code&quot;: 0,
&quot;order_id&quot;: &quot;118881&quot;,
&quot;message&quot;: &quot;请求成功,正在扣款&quot;
}
{
&quot;service&quot;: &quot;requestbarcodepay&quot;,
&quot;result_code&quot;: 1,
&quot;order_id&quot;: &quot;118881&quot;,
&quot;message&quot;: &quot;请求失败&quot;
}</code></pre>