公共接口 - 调起微信公众号支付
<p><strong>简要描述:</strong></p>
<ul>
<li>生成充值订单并返回微信调起支付签名</li>
</ul>
<p><strong>修改时间:</strong></p>
<table>
<thead>
<tr>
<th>修改时间</th>
<th>修改内容</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>2019-06-12 11:15:18 星期三</td>
<td>添加</td>
<td>ckinghan</td>
</tr>
</tbody>
</table>
<p>*错误代码:**</p>
<table>
<thead>
<tr>
<th>错误代码</th>
<th>说明</th>
<th>添加时间</th>
<th>修改人</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>参数校验失败</td>
<td>2019-06-18 10:42:58 星期二</td>
<td>ckinghan</td>
</tr>
<tr>
<td>0003</td>
<td>用户未登陆</td>
<td>2019-06-18 10:42:58 星期二</td>
<td>ckinghan</td>
</tr>
<tr>
<td>2023</td>
<td>代理商信息不存在</td>
<td>2019-06-18 10:42:58 星期二</td>
<td>ckinghan</td>
</tr>
<tr>
<td>2024</td>
<td>代理商未设置支付通道</td>
<td>2019-06-18 10:42:58 星期二</td>
<td>ckinghan</td>
</tr>
</tbody>
</table>
<p><strong>实现逻辑描述:</strong></p>
<pre><code>生成订单
调起微信JSAPI支付生成签名</code></pre>
<p><strong>涉及表:</strong></p>
<ul>
<li><code>t_user(用户表)</code></li>
<li><code>t_recharge_order_log(用户订单记录表)</code></li>
<li><code>t_recharge_order(用户订单表)</code></li>
</ul>
<p><strong>流程:</strong></p>
<pre><code>-</code></pre>
<p><strong>请求URL:</strong></p>
<ul>
<li><code>/app/app/recharge/wxOrder</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>POST</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 style="text-align: left;">备注</th>
<th style="text-align: left;">示例</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">appId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">微信公众号APPID</td>
<td style="text-align: left;">header中传递</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">openId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">微信公众号下的用户信息</td>
<td style="text-align: left;">header中传递</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">token</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">用户登陆后的token信息</td>
<td style="text-align: left;">header或参数中传递</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">rechargeSource</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">充值来源</td>
<td style="text-align: left;">0:APP用户、1微信公众号</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">rechargeType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">Integer</td>
<td style="text-align: left;">充值类型</td>
<td style="text-align: left;">0微信、1支付宝</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">chargerAmount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">BigDeicmal</td>
<td style="text-align: left;">充值金额</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">-</td>
</tr>
</tbody>
</table>
<p><strong>请求示例</strong></p>
<pre><code>
{
"rechargeSource":1,
"rechargeType":0,
"chargerAmount":1000
}</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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">返回码</td>
<td style="text-align: left;">0 为成功</td>
</tr>
<tr>
<td style="text-align: left;">msg</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">返回信息</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">- data</td>
<td style="text-align: left;">Object</td>
<td style="text-align: left;">返回携带的数据</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">nonceStr</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">随机字符串</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">paySign</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">签名</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">appId</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">商户APPID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">package</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">统一支付接口返回的prepay_id参数值</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">signType</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">签名方式</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;">timeStamp</td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">时间戳</td>
<td style="text-align: left;">-</td>
</tr>
</tbody>
</table>
<p><strong>返回示例</strong></p>
<pre><code>{
"code": 0,
"msg": "success",
"data": {
"appId": "wx07e7e64417d90717",
"nonceStr": "5d37bdb483ea4ace9859d4e8b055aaf7",
"package": "prepay_idwx141451354071219f2dfa26391010118500",
"paySign": "568466B3518D2CBE4369869F3F88660D",
"signType": "MD5",
"timeStamp": 1560495095
}
}
</code></pre>