云码枪/云码牌对接协议
<p><img src="http://doc.szzkc.com/server/../Public/Uploads/2022-06-11/62a44f27760b4.png" alt="" /><img src="http://doc.szzkc.com/server/../Public/Uploads/2022-06-11/62a4509b745a5.png" alt="" /><img src="http://doc.szzkc.com/server/../Public/Uploads/2022-06-11/62a450b9462ca.png" alt="" />
<img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b01357e4a19aa1fffd7a5b3754f0ba5f&amp;file=file.png" alt="" /><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=60af222e6a21de700db94838ab9ad625&amp;file=file.png" alt="" />
云码枪和云码牌的对接,已经定义好支付对接协议,采用JSON格式,支付服务器接口按照以下协议对接测试,提供测试接口域名,更新接口到设备即可测试,批量上线请提供正式域名。
测试服务器域名:<a href="https://pay.szzkc.com/payroute">https://pay.szzkc.com/payroute</a></p>
<hr />
<p><strong>应用场景</strong>
设备向服务器请求静态聚合码, 服务器生成静态聚合码返回给设备,设备将静态聚合码展示给用户,由用户使用微信或支付宝扫描静态聚合码,并输入相应金额完成支付。设备开机后自动请求获取静态码并离线缓存,便于调用展示。</p>
<h4>设备请求静态聚合码</h4>
<p><strong>请求地址(POST方式)</strong>
<a href="https://pay.szzkc.com/payroute/staticqrcode">https://pay.szzkc.com/payroute/staticqrcode</a></p>
<p><strong>请求参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>设备型号</td>
<td>device</td>
<td>pos2808</td>
<td>设备型号</td>
</tr>
<tr>
<td>设备编号</td>
<td>imei</td>
<td>352736082428742</td>
<td>设备IMEI号</td>
</tr>
<tr>
<td>请求信息</td>
<td>msg</td>
<td>request_static_qrcode</td>
<td>请求静态聚合码</td>
</tr>
</tbody>
</table>
<p><strong>返回参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>响应信息</td>
<td>msg</td>
<td>response_static_qrcode</td>
<td>请求静态聚合码的响应结果</td>
</tr>
<tr>
<td>返回码</td>
<td>result</td>
<td>0</td>
<td>0: 正常; 1: 设备未认证; 2: 无需展示聚合码</td>
</tr>
<tr>
<td>二维码链接</td>
<td>url</td>
<td><a href="http://pay.szzkc.com/url/stqr">http://pay.szzkc.com/url/stqr</a></td>
<td>静态聚合码的信息内容</td>
</tr>
</tbody>
</table>
<h4>设备请求动态收款码</h4>
<p><strong>应用场景</strong>
商户输入订单金额选择支付方式后, 设备生成订单信息发送给服务器,服务器调用微信或支付宝或银联下单接口生成二维码信息返回给设备,设备将二维码信息展示给用户,由用户扫描二维码完成订单支付。</p>
<p><strong>请求地址(POST方式)</strong>
<a href="https://pay.szzkc.com/payroute/dynamicQrcode">https://pay.szzkc.com/payroute/dynamicQrcode</a></p>
<p><strong>请求参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>设备型号</td>
<td>device</td>
<td>pos2808</td>
<td>设备型号</td>
</tr>
<tr>
<td>设备编号</td>
<td>imei</td>
<td>352736082428742</td>
<td>设备IMEI号</td>
</tr>
<tr>
<td>请求信息</td>
<td>msg</td>
<td>request_dynamic_qrcode</td>
<td>请求动态收款码</td>
</tr>
<tr>
<td>支付金额</td>
<td>fee</td>
<td>10.23</td>
<td>订单金额,以元为单位;</td>
</tr>
</tbody>
</table>
<p><strong>返回参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>响应信息</td>
<td>msg</td>
<td>request_dynamic_qrcode</td>
<td>请求动态收款码的响应结果</td>
</tr>
<tr>
<td>返回码</td>
<td>result</td>
<td>0</td>
<td>0: 正常;1: 设备未认证;2: 无需展示动态收款码</td>
</tr>
<tr>
<td>二维码链接</td>
<td>url</td>
<td><a href="http://pay.szzkc.com/url/dynaqr">http://pay.szzkc.com/url/dynaqr</a></td>
<td>动态收款码的信息内容</td>
</tr>
</tbody>
</table>
<hr />
<h4>设备上传用户付款码</h4>
<p><strong>应用场景</strong>
用户展示出付款码, 商户输入金额, 设备扫描客户的付款码并上传给服务器, 服务器返回处理结果;</p>
<p><strong>请求地址(POST方式)</strong>
<a href="https://pay.szzkc.com/payroute/authcode">https://pay.szzkc.com/payroute/authcode</a></p>
<p><strong>请求参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>设备型号</td>
<td>device</td>
<td>pos2808</td>
<td>设备型号</td>
</tr>
<tr>
<td>设备编号</td>
<td>imei</td>
<td>352736082428742</td>
<td>设备IMEI号</td>
</tr>
<tr>
<td>请求信息</td>
<td>msg</td>
<td>upload_authcode</td>
<td>上传用户付款码</td>
</tr>
<tr>
<td>用户付款码</td>
<td>authcode</td>
<td>135411028469183825</td>
<td>设备扫描用户展示的付款码得到的字符串</td>
</tr>
<tr>
<td>支付金额</td>
<td>fee</td>
<td>10.23</td>
<td>订单金额,以元为单位</td>
</tr>
</tbody>
</table>
<p><strong>返回参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>响应信息</td>
<td>msg</td>
<td>upload_authcode</td>
<td>上传用户付款码的响应结果</td>
</tr>
<tr>
<td>返回码</td>
<td>result</td>
<td>0</td>
<td>0: 支付成功, 1: 支付失败, 2: 正在处理;</td>
</tr>
<tr>
<td>返回订单号</td>
<td>ordnum</td>
<td>135411028469183825</td>
<td>订单号, 用于设备后期查询交易结果</td>
</tr>
<tr>
<td>支付金额</td>
<td>fee</td>
<td>10.23</td>
<td>订单金额,以元为单位</td>
</tr>
</tbody>
</table>
<p>注:返回金额类型string</p>
<hr />
<h2>设备查询最后一笔订单交易结果</h2>
<p><strong>应用场景</strong>
设备保存最后一笔订单交易返回的订单号, 设备将订单号上传给服务器, 服务器返回处理结果;</p>
<p><strong>请求地址(POST方式)</strong>
<a href="https://pay.szzkc.com/payroute/orderquery">https://pay.szzkc.com/payroute/orderquery</a></p>
<p><strong>请求参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>设备型号</td>
<td>device</td>
<td>pos2808</td>
<td>设备型号</td>
</tr>
<tr>
<td>设备编号</td>
<td>imei</td>
<td>352736082428742</td>
<td>设备IMEI号</td>
</tr>
<tr>
<td>请求信息</td>
<td>msg</td>
<td>request_orderquery</td>
<td>查询订单号</td>
</tr>
<tr>
<td>请求订单号</td>
<td>ordnum</td>
<td>135411028469183825</td>
<td>设备最后一笔交易的订单号</td>
</tr>
<tr>
<td>支付金额</td>
<td>fee</td>
<td>10.23</td>
<td>订单金额,以元为单位</td>
</tr>
</tbody>
</table>
<p><strong>返回参数(Json格式)</strong></p>
<table>
<thead>
<tr>
<th>字段名</th>
<th>变量名</th>
<th>示例值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>响应信息</td>
<td>msg</td>
<td>request_orderquery</td>
<td>查询订单号的响应结果</td>
</tr>
<tr>
<td>返回码</td>
<td>result</td>
<td>0</td>
<td>0: 支付成功, 1: 支付失败, 2: 正在处理;</td>
</tr>
<tr>
<td>返回订单号</td>
<td>ordnum</td>
<td>135411028469183825</td>
<td>订单号</td>
</tr>
<tr>
<td>支付金额</td>
<td>fee</td>
<td>10.23</td>
<td>订单金额,以元为单位</td>
</tr>
</tbody>
</table>
<hr />
<hr />