6.2 扫码交易下单
<p>[TOC]</p>
<h5>简要描述</h5>
<ul>
<li>该接口为扫码交易下单接口,支持主扫(用户扫商户收款码)、被扫交易(商户扫用户付款码);</li>
<li>主扫交易返回一个URL,给商户进行渲染成条码或者是二维码,由用户扫码完成支付;</li>
<li>被扫交易,由商户扫用户码,直接消费掉用户的条码,来完成支付;</li>
<li>请以订单状态为依据,针对系统异常类失败,请直接调用扫码交易查询接口交易订单状态,或者等待后台回调结果(只回传成功或者失败的订单,其余请调用查询接口);</li>
</ul>
<h5>请求URL</h5>
<ul>
<li><code>http://pay.test.891tech.com/website/agent/isv/agentAppPayComfiy.action</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST 【application/json】</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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">bizType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>请求接口,固定值:agentAppPayComfiy</td>
</tr>
<tr>
<td style="text-align: left;">agentNo</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>代理商编号</td>
</tr>
<tr>
<td style="text-align: left;">merchantNo</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>子商户商户号,进件后获取</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>
</tr>
<tr>
<td style="text-align: left;">orderIP</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>请求IP</td>
</tr>
<tr>
<td style="text-align: left;">appPayType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>客户端类型,请查看字段说明</td>
</tr>
<tr>
<td style="text-align: left;">payType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>支付类型,请查看字段说明</td>
</tr>
<tr>
<td style="text-align: left;">itemname</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>商品名称,展示在订单详情中</td>
</tr>
<tr>
<td style="text-align: left;">amount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Num</td>
<td>订单金额,单位元,如:0.01表示0.01元</td>
</tr>
<tr>
<td style="text-align: left;">authCode</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>用户条码,被扫交易必填</td>
</tr>
<tr>
<td style="text-align: left;">callbackUrl</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>后台回调地址,如有需要请填写</td>
</tr>
<tr>
<td style="text-align: left;">showUrl</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>前台回调地址,支付完毕以后展示的页面(功能预留)</td>
</tr>
<tr>
<td style="text-align: left;">timeExpire</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>订单超时时间,单位为秒,一分钟请输入60</td>
</tr>
<tr>
<td style="text-align: left;">userCreditCard</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>是否允许使用信用卡,1表示限制只能储蓄卡,0表示不限制</td>
</tr>
<tr>
<td style="text-align: left;">deviceInfo</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>设备号信息</td>
</tr>
<tr>
<td style="text-align: left;">splitBillType</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>分账类型,目前只支持FIXED,表示固定金额</td>
</tr>
<tr>
<td style="text-align: left;">splitBillJson</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>分账规则,将需要分账的参数,详情查看下方明细组成说明</td>
</tr>
<tr>
<td style="text-align: left;">installNum</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>分期数,比如花呗分期数:3/6/12</td>
</tr>
</tbody>
</table>
<h5>同步返回示例</h5>
<pre><code> {
&quot;bizType&quot;: &quot;agentAppPayComfiy&quot;,
&quot;orderNo&quot;: &quot;20220817102402675&quot;,
&quot;agentNo&quot;: &quot;AG00000000000012&quot;,
&quot;data&quot;: &quot;LY7D37jvzG58sjYmogIfcsbjJggKqozC7XEeikRoqSybke35IIfsmxPp/SvbhdaUHOpFeFNuOFXPXiCo4Iy4fe9a9zHjjWRPc5IhY28KkFioHV4BMx7Zg7fwIqCHQek6rjAXo/c15pIFxu/YyCuAOmnPjtWBRM8jeYRG43c0y5iXvhjGefVYpISosEZ3FK8ynPOczO6QHJS2i1rJubXOn7W4XMYbz6QZb+CGQ0wpxvKe5SKxWsXHBDSkb1l9+dISVebcGRsgb0bPAxLUAQwSsA1WyGcnNVKFMQjjY8LPn8siErVtmSmCiW2CjuvW0BcaWAyx4SOcOmUqxmGqzi27UJ90SCmluVfH39mA3r6xaxPtJ9imJIVdJiPwSvC05E0S1flT/VvXhhvHhpGtkarZcRLlmWH3H8Ve/sA8yCJXy82SPYdIIXmTiyQkoiRZ/oYG&quot;,
&quot;signature&quot;: &quot;c2e//Avktxlk+jjshT64mEH6ZFHoZlZBoC4eBd0+kg3RqTbcmm54IA6KZdmKt938oF/rTZv/I+BdQpHd39vb5bSn6lhIzEKiUXGB+VjGXR/zx/eMyM7DoU3Fg/e8JmlkmuSkfuah5DmxdE8mI5nM6/OPpIcEFDgZ1aejXnqHN1m3V7eIh0Kuqn6mYS5dqlrYKucGR2GcUBtoOOwjFq1A7W/P7Ldaa80/RahKliNu1SRekkBoFYAFeqqbLBFft0IOXxQ28HBekzlqEJonJDSu17hKSDuQ/LMI3lrPQ5SigC9ZDMfkcuIFJsi0Nq2iTO+jswV0RjZ2whupRoug/oQgfQ==&quot;,
&quot;retCode&quot;: &quot;C0000&quot;,
&quot;retMsg&quot;: &quot;成功&quot;
}</code></pre>
<h5>解密返回参数示例</h5>
<pre><code> {
&quot;amount&quot;: 0.03,
&quot;paymentAmount&quot;:,
&quot;appPayType&quot;: &quot;WXPAY&quot;,
&quot;channelRetCode&quot;: &quot;0028&quot;,
&quot;channelRetMsg&quot;: &quot;交易失败&quot;,
&quot;completeDate&quot;: &quot;20220817135854&quot;,
&quot;merchantNo&quot;: &quot;M00000000000183&quot;,
&quot;orderNo&quot;: &quot;20220817102402675&quot;,
&quot;payType&quot;: &quot;SWIPE&quot;,
&quot;serialNumber&quot;: &quot;1660715931039&quot;,
&quot;status&quot;: &quot;FAIL&quot;
}</code></pre>
<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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">merchantNo</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>子商户编号</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>
</tr>
<tr>
<td style="text-align: left;">amount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Num</td>
<td>交易金额,单位为元</td>
</tr>
<tr>
<td style="text-align: left;">paymentAmount</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">Num</td>
<td>用户实际支付金额,单位为元,不一定有值</td>
</tr>
<tr>
<td style="text-align: left;">receiptAmount</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">Num</td>
<td>商户到账金额,单位为元,不一定有值</td>
</tr>
<tr>
<td style="text-align: left;">merchantProductFee</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">Num</td>
<td>交易收费费,单位为元,不一定有值</td>
</tr>
<tr>
<td style="text-align: left;">appPayType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>客户端类型,请查看字段说明</td>
</tr>
<tr>
<td style="text-align: left;">payType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>交易类型,请查询字段说明</td>
</tr>
<tr>
<td style="text-align: left;">serialNumber</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>我方系统唯一流水号</td>
</tr>
<tr>
<td style="text-align: left;">channelRetCode</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>渠道返回码,仅供参考</td>
</tr>
<tr>
<td style="text-align: left;">channelRetMsg</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>渠道返回信息</td>
</tr>
<tr>
<td style="text-align: left;">completeDate</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>完成时间(yyyyMMddHHmmss),不一定有值</td>
</tr>
<tr>
<td style="text-align: left;">status</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>扫码订单最终交易状态,请查看字段数说明</td>
</tr>
<tr>
<td style="text-align: left;">tokenId</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>当为主扫交易时候返回一个二维码链接,该链接默认失效时间是5分钟</td>
</tr>
<tr>
<td style="text-align: left;">splitBillJson</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>分账参数</td>
</tr>
</tbody>
</table>
<h5>备注</h5>
<ul>
<li>
<p>扫码订单状态:status字段说明:
INIT:接收(表示系统收到该订单请求)
DOING:处理中
SUCCESS:成功
FAIL:失败
CLOSE:关闭
CANCEL:已撤销</p>
</li>
<li>
<p>如果下单返回【C9999】【请求过多,系统繁忙!】,请为确保业务安全,请调用一次查询接口,一般为下单2秒后就可以立马调用;针对明确失败的,可以置为失败;</p>
</li>
<li>分账参数例子
<pre><code>[{&quot;splitBillMerchantNo&quot;:&quot;M00000000000304XXXX&quot;,&quot;splitBillAmount&quot;:0.02}]</code></pre>
<p>其中splitBillMerchantNo为进件返回的商户号,splitBillAmount为需要分账的金额,目前分账有比例限制,各个商户情况不一样,具体需求联系我司;</p></li>
</ul>