微信支付宝(直充、红包、立减金)下单接口
<h5>简要描述</h5>
<ul>
<li>充值下单操作为异步请求,报文返回成功,则表示受理成功,具体充值是否成功,则需要我方发起异步通知,或者下游发起查询请求来判断<br/>
<font color=LightCoral >当使用支付宝账户充值时,incomeAccount+incomeUserName须传参,使用支付宝userId充值时,支付宝appUserId为必传,都传时appUserId优先级较高。</font></li>
</ul>
<h5>请求URL</h5>
<ul>
<li><code>http://ip:port/order/submitWxAndZb</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST </li>
<li>application/json;charset=UTF-8 </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;">productId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Long</td>
<td>平台商品id</td>
</tr>
<tr>
<td style="text-align: left;">requestId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>流水Id,下游生成,不可重复</td>
</tr>
<tr>
<td style="text-align: left;">appUserId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>微信openId;<font color=LightCoral >支付宝userId(支付宝该字段可为空,为空时请传空字符串,并传incomeAccount与incomeUserName字段)</font></td>
</tr>
<tr>
<td style="text-align: left;">proxyPrice</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">BigDecimal</td>
<td>该笔订单结算金额,单位元,保留四位小数。不传不校验</td>
</tr>
<tr>
<td style="text-align: left;">timeOut</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">Integer</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>回调地址(不需要url编码)</td>
</tr>
<tr>
<td style="text-align: left;">productOperator</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Integer</td>
<td>产品运营商,枚举值见文档底部</td>
</tr>
<tr>
<td style="text-align: left;">money</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">BigDecimal</td>
<td>金额,(充值金额、优惠金额、面额)单位元,保留四位小数</td>
</tr>
<tr>
<td style="text-align: left;">fullMoney</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">BigDecimal</td>
<td>满减金额,<font color=LightCoral >微信不定额立减金必传(productOperator为46)</font>,例如满100减50,此处传100,money传50;单位元,保留四位小数</td>
</tr>
<tr>
<td style="text-align: left;">incomeAccount</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>支付宝账户(支付宝登录账号,手机号或邮箱,此字段与支付宝姓名配合使用,须同时传参,优先级低于支付宝userId),<font color=LightCoral >appUserId为空时必传</font></td>
</tr>
<tr>
<td style="text-align: left;">incomeUserName</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>支付宝账户的姓名,与incomeAccount配合使用,<font color=LightCoral >appUserId为空时必传</td>
</tr>
<tr>
<td style="text-align: left;">orderRemark</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>支付宝业务订单标题备注</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td>签名,MD5(userId+key+productId+ requestId + appUserId + productOperator )</td>
</tr>
</tbody>
</table>
<h5>请求示例</h5>
<pre><code>{
&quot;productId&quot;: &quot;11246&quot;,
&quot;money&quot;: &quot;100&quot;,
&quot;incomeUserName&quot;: &quot;&quot;,
&quot;requestId&quot;: &quot;64c6ac712ec446dcaedf7af8e31a890e&quot;,
&quot;incomeAccount&quot;: &quot;123456&quot;,
&quot;sign&quot;: &quot;d4bc48f68d98bcf84b15f4e72c845ab1&quot;,
&quot;callbackUrl&quot;: &quot;12345&quot;,
&quot;productOperator&quot;: &quot;46&quot;,
&quot;fullMoney&quot;: &quot;200&quot;,
&quot;proxyPrice&quot;: &quot;100&quot;,
&quot;appUserId&quot;: &quot;123&quot;
}</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">Integer</td>
<td>返回结果码</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;">data</td>
<td style="text-align: left;">Map</td>
<td>数据集合,提单成功返回</td>
</tr>
<tr>
<td style="text-align: left;">data. orderId</td>
<td style="text-align: left;">Long</td>
<td>我方平台订单id,提单成功返回</td>
</tr>
</tbody>
</table>
<h5>返回示例</h5>
<pre><code> {
&quot;code&quot;:200,
&quot;msg&quot;:&quot;订单提交成功&quot;,
&quot;data&quot;:{
&quot;orderId&quot;:&quot;1407727321389207552&quot;
}
}</code></pre>
<pre><code> {
&quot;code&quot;:413,
&quot;msg&quot;:&quot;订单号重复&quot;
}
</code></pre>
<ul>
<li>错误码</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">错误码</th>
<th style="text-align: left;">结果</th>
<th style="text-align: left;">注释</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">200</td>
<td style="text-align: left;">受理成功</td>
<td style="text-align: left;"><font color=LightCoral >受理成功,但不代理充值成功。充值结果以平台回调结果或通过订单查询接口结果为准</font></td>
</tr>
<tr>
<td style="text-align: left;">400</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">参数有误(失败)</td>
</tr>
<tr>
<td style="text-align: left;">410</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">用户不存在(检查请求头是否传了Authorization-User并且是否正确) (失败)</td>
</tr>
<tr>
<td style="text-align: left;">412</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">白名单校验失败(失败)</td>
</tr>
<tr>
<td style="text-align: left;">413</td>
<td style="text-align: left;">人工确认</td>
<td style="text-align: left;"><font color=LightCoral >流水号重复(每次请求都要求唯一) (人工确认,如果确实重复提交了,重复的订单也可以当失败处理) </font></td>
</tr>
<tr>
<td style="text-align: left;">414</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">产品不存在(失败)</td>
</tr>
<tr>
<td style="text-align: left;">415</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">用户没有配置该产品(请联系平台工作人员进行配置) (失败)</td>
</tr>
<tr>
<td style="text-align: left;">417</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">账户余额不足(失败)</td>
</tr>
<tr>
<td style="text-align: left;">418</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">用户没有配置供货商通道(请联系平台工作人员进行配置) (失败)</td>
</tr>
<tr>
<td style="text-align: left;">419</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">供货商没有配置产品信息(请联系平台工作人员进行配置) (失败)</td>
</tr>
<tr>
<td style="text-align: left;">422</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">验签失败(请检查加签参数与顺序是否正确) (失败)</td>
</tr>
<tr>
<td style="text-align: left;">423</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">充值失败,流控不通过</td>
</tr>
<tr>
<td style="text-align: left;">500</td>
<td style="text-align: left;">人工或者调查单接口确认</td>
<td style="text-align: left;"><font color=LightCoral >服务异常(请检查请求方式,参数格式,类型是否正确) (请求格式没问题需人工确认,或者调订单查询接口查看结果,不可当失败处理)</font></td>
</tr>
<tr>
<td style="text-align: left;">505</td>
<td style="text-align: left;">失败</td>
<td style="text-align: left;">充值失败</td>
</tr>
</tbody>
</table>
<ul>
<li>备注:产品运营商</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">运营商</th>
<th style="text-align: left;">枚举</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">支付宝固定立减金</td>
<td style="text-align: left;">42</td>
</tr>
<tr>
<td style="text-align: left;">支付宝直充</td>
<td style="text-align: left;">43</td>
</tr>
<tr>
<td style="text-align: left;">微信红包</td>
<td style="text-align: left;">44</td>
</tr>
<tr>
<td style="text-align: left;">微信固定立减金</td>
<td style="text-align: left;">45</td>
</tr>
<tr>
<td style="text-align: left;">微信不定额立减金</td>
<td style="text-align: left;">46</td>
</tr>
</tbody>
</table>