微信收款二维码接口
<h2>微信收款二维码接口</h2>
<p>> /api/collection/unifyWechatQrPay</p>
<p><font color=red size=4>!响应参数【payQrCode】是二维码图片链接,直接打开即可</font>
<font color=red size=4>!响应参数【payQrCode】是二维码图片链接,直接打开即可</font>
<font color=red size=4>!响应参数【payQrCode】是二维码图片链接,直接打开即可</font></p>
<h3>主体请求参数</h3>
<table>
<thead>
<tr>
<th>参数名称</th>
<th>类型</th>
<th>必填</th>
<th>中文名</th>
</tr>
</thead>
<tbody>
<tr>
<td>sign</td>
<td>String</td>
<td>✅</td>
<td>签名</td>
</tr>
<tr>
<td>timestamp</td>
<td>String</td>
<td>✅</td>
<td>签名时间戳(毫秒)</td>
</tr>
<tr>
<td>merchantNo</td>
<td>String</td>
<td>✅</td>
<td>商户编号</td>
</tr>
<tr>
<td>merchantOrderNo</td>
<td>String</td>
<td>✅</td>
<td>商户订单号</td>
</tr>
<tr>
<td>channelCode</td>
<td>String</td>
<td>✅</td>
<td>渠道</td>
</tr>
<tr>
<td>amount</td>
<td>int</td>
<td>✅</td>
<td>支付金额(分)</td>
</tr>
<tr>
<td>goodsDetail</td>
<td>String</td>
<td>❌</td>
<td>商品详情(JSON字符串)</td>
</tr>
<tr>
<td>notifyUrl</td>
<td>String</td>
<td>❌</td>
<td>回调地址</td>
</tr>
<tr>
<td>attach</td>
<td>String</td>
<td>❌</td>
<td>附加数据,支付成功原样返回</td>
</tr>
<tr>
<td>description</td>
<td>String</td>
<td>❌</td>
<td>订单商品描述</td>
</tr>
<tr>
<td>clientIp</td>
<td>String</td>
<td>❌</td>
<td>用户IP地址</td>
</tr>
<tr>
<td>goodsTag</td>
<td>String</td>
<td>❌</td>
<td>订单优惠标记,代金券或立减 优惠功能<br/>该参数传给微信</td>
</tr>
<tr>
<td>supportFapiao</td>
<td>String</td>
<td>❌</td>
<td>电子发票入口开放标识 true:是;false:否 <br/>该参数传给微信</td>
</tr>
<tr>
<td>sceneInfo</td>
<td>String</td>
<td>❌</td>
<td>场景信息(JSON字符串) <br/>该参数传给微信</td>
</tr>
<tr>
<td>gpsInfo</td>
<td>String</td>
<td>❌</td>
<td>gps信息。<br/>校验GPS信息格式, 如:-128.12,23.1 <br/>1. xxx,xxx <br/>2. 经度xxx为[-180,180]之间的浮点数,维度xxx为[-90,90]之间的浮点数,最多保留小数点八位float(11,8)</td>
</tr>
<tr>
<td>bsInfo</td>
<td>String</td>
<td>❌</td>
<td>基站信息。<br/>校验基站信息格式,格式说明:<br/>-- 1. 格式为:xxx,xxx,xxx,xxx 如:460,1,12,23454<br/>-- 2. xxx均为整数,长度不超过11位 基站信息,从左至右依次对应以下几个字段: <br/>mcc: 移动国家号码,由3位数字组成,唯一地识别移动用户所属的国家。我国为460 <br/>mnc:移动网号,由两位数字组成,用于识别移动用户所归属的移动网 <br/>lac:位置区编码,为寻呼而设置的一个区域,覆盖一片地理区域,按寻呼量划分 <br/>ci :负责收发的天线所朝向的扇区编号</td>
</tr>
</tbody>
</table>
<h3>子节点请求参数</h3>
<h4>goodsDetail 商品详情JSON</h4>
<table>
<thead>
<tr>
<th>参数名称</th>
<th>类型</th>
<th>必选</th>
<th>中文名</th>
</tr>
</thead>
<tbody>
<tr>
<td>costPrice</td>
<td>String</td>
<td>❌</td>
<td>订单原价。 <br/>1.商户侧一张小票订单可能被分多次支付,订 单原价用于记录整张小票的交易金额。 <br/>2.当订单原价与支付金额不相等,则不享受优惠。 <br/>3.该字段主要用于防止同一张小票分多次支 付,以享受多次优惠的情况,正常支付订单不 必上传此参数。 <br/>该参数传给微信,当前仅对微信交易生效</td>
</tr>
<tr>
<td>receiptId</td>
<td>String</td>
<td>❌</td>
<td>商品小票 ID <br/>该参数传给微信,当前仅对微信交易生效</td>
</tr>
<tr>
<td>details</td>
<td>json</td>
<td>✅</td>
<td>商品ID</td>
</tr>
<tr>
<td>↳ goodsId</td>
<td>String</td>
<td>✅</td>
<td>商品ID</td>
</tr>
<tr>
<td>↳ goodsName</td>
<td>String</td>
<td>✅</td>
<td>商品参数名称</td>
</tr>
<tr>
<td>↳ quantity</td>
<td>int</td>
<td>✅</td>
<td>商品数量</td>
</tr>
<tr>
<td>↳ price</td>
<td>int</td>
<td>✅</td>
<td>商品价格(分) <br/>如果商户有优惠,需传输商户优惠后的单价<br/>(例如:用户对一笔 100 元的订单使用了商场发的优惠券 100-50,则活动商品的单价应为原单价-50)</td>
</tr>
</tbody>
</table>
<h4>sceneInfo 场景信息JSON</h4>
<table>
<thead>
<tr>
<th>参数名称</th>
<th>类型</th>
<th>必选</th>
<th>中文名</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>String</td>
<td>❌</td>
<td>门店 id</td>
</tr>
<tr>
<td>name</td>
<td>String</td>
<td>❌</td>
<td>门店名称</td>
</tr>
<tr>
<td>areaCode</td>
<td>String</td>
<td>❌</td>
<td>门店所在地行政区划码</td>
</tr>
<tr>
<td>address</td>
<td>String</td>
<td>❌</td>
<td>门店详细地址</td>
</tr>
</tbody>
</table>
<p>> 请求参数示例(参数需要加密,以下是加密前的示例)</p>
<pre><code class="language-json">{
&quot;sign&quot;: &quot;291C70CA1DC3823C79ABA4DAD95C5D98&quot;,
&quot;timestamp&quot;: &quot;1735660800000&quot;,
&quot;merchantNo&quot;: 17170000000000000000,
&quot;merchantOrderNo&quot;: &quot;NO1234567890&quot;,
&quot;channelCode&quot;: &quot;LeShua&quot;,
&quot;amount&quot;: 1,
&quot;goodsDetail&quot;: &quot;{\&quot;costPrice\&quot;:1,\&quot;receiptId\&quot;:\&quot;NO123\&quot;,\&quot;details\&quot;:[{\&quot;goodsId\&quot;:\&quot;1\&quot;,\&quot;goodsName\&quot;:\&quot;测试商品\&quot;,\&quot;quantity\&quot;:1,\&quot;price\&quot;:1}]}&quot;,
&quot;notifyUrl&quot;: &quot;https://abc/abc&quot;,
&quot;clientIp&quot;: &quot;127.0.0.1&quot;,
&quot;attach&quot;: &quot;附加信息&quot;,
&quot;description&quot;: &quot;商品A&quot;,
&quot;gpsInfo&quot;: &quot;128.12,23.1&quot;,
&quot;bsInfo&quot;: &quot;460&quot;,
&quot;sceneInfo&quot;: &quot;{\&quot;id\&quot;:\&quot;123\&quot;,\&quot;name\&quot;:\&quot;门店\&quot;,\&quot;areaCode\&quot;:\&quot;101010\&quot;,\&quot;address\&quot;:\&quot;详细地址\&quot;}&quot;
}</code></pre>
<h3>返回数据结构</h3>
<table>
<thead>
<tr>
<th>参数名称</th>
<th>类型</th>
<th>必填</th>
<th>是否加密</th>
<th>中文名</th>
</tr>
</thead>
<tbody>
<tr>
<td>success</td>
<td>boolean</td>
<td>是</td>
<td>❌</td>
<td>响应状态</td>
</tr>
<tr>
<td>code</td>
<td>integer</td>
<td>是</td>
<td>❌</td>
<td>响应编码</td>
</tr>
<tr>
<td>msg</td>
<td>string</td>
<td>是</td>
<td>❌</td>
<td>响应信息</td>
</tr>
<tr>
<td>data</td>
<td>object</td>
<td>是</td>
<td>❌</td>
<td>响应数据</td>
</tr>
<tr>
<td>↳ sign</td>
<td>string</td>
<td>是</td>
<td>❌</td>
<td>签名</td>
</tr>
<tr>
<td>↳ timestamp</td>
<td>string</td>
<td>是</td>
<td>❌</td>
<td>签名时间戳(毫秒)</td>
</tr>
<tr>
<td>↳ merchantNo</td>
<td>string</td>
<td>是</td>
<td>❌</td>
<td>商户编号</td>
</tr>
<tr>
<td>↳ orderNo</td>
<td>string</td>
<td>是</td>
<td>✅</td>
<td>聚合平台订单号</td>
</tr>
<tr>
<td>↳ merchantOrderNo</td>
<td>string</td>
<td>是</td>
<td>✅</td>
<td>商户订单号</td>
</tr>
<tr>
<td>↳ payQrCode</td>
<td>string</td>
<td>是</td>
<td>✅</td>
<td>微信支付二维码图片链接</td>
</tr>
<tr>
<td>↳ placeTime</td>
<td>string</td>
<td>是</td>
<td>✅</td>
<td>下单时间</td>
</tr>
<tr>
<td>↳ payState</td>
<td>string</td>
<td>是</td>
<td>✅</td>
<td>订单支付状态 <br/>0:未支付;<br/>1:已支付;<br/>2:支付失败;<br/>3:支付关闭;<br/>4:支付超时;<br/>5:退款中;<br/>6:已退款</td>
</tr>
<tr>
<td>↳ attach</td>
<td>string</td>
<td>是</td>
<td>✅</td>
<td>附加数据</td>
</tr>
<tr>
<td>↳ clientIp</td>
<td>string</td>
<td>是</td>
<td>✅</td>
<td>用户IP</td>
</tr>
</tbody>
</table>
<p>> 返回示例(data参数需要解密,以下是实际响应数据示例)</p>
<p>状态码 <strong>200</strong></p>
<pre><code class="language-json">{
&quot;success&quot;: true,
&quot;code&quot;: 200,
&quot;msg&quot;: &quot;操作成功&quot;,
&quot;data&quot;: {
&quot;sign&quot;: &quot;291C70CA1DC3823C79ABA4DAD95C5D98&quot;,
&quot;timestamp&quot;: 1743582863829,
&quot;merchantNo&quot;: &quot;17170000000000000000&quot;,
&quot;orderNo&quot;: &quot;t3q96ediYXvvWbi1eqHJ5YBthAoEyWqIzkOqAWiai/E=&quot;,
&quot;merchantOrderNo&quot;: &quot;WLXzddn2ATFBPSf9kI4edk9VltyAJ8/TTiSb7V1TT80=&quot;,
&quot;payQrCode&quot;: &quot;hQtMf0FCe37**************************&quot;,
&quot;placeTime&quot;: &quot;XDzklufxmMBnd7G/uISZ3w==&quot;,
&quot;payState&quot;: &quot;hQtMf0FCe37ZPOHU4HL4xA==&quot;,
&quot;attach&quot;: &quot;Br/deow2oXKRDZ2B7fIE3w==&quot;,
&quot;clientIp&quot;: &quot;zi2j3OnP+gv5bTIh1k6QXA==&quot;
}
}</code></pre>