微信APP充值
<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-09-11 20:20:02 星期三</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>生成订单
调起微信APP支付生成签名</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>{{url}}/app/app/recharge/wxAppPay</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;">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;"><font color="red">appid</font></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;"><font color="red">noncestr</font></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;"><font color="red">package</font></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;"><font color="red">partnerid</font></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;"><font color="red">prepayid</font></td>
<td style="text-align: left;">String</td>
<td style="text-align: left;">预支付交易会话ID</td>
<td style="text-align: left;">-</td>
</tr>
<tr>
<td style="text-align: left;"><font color="red">sign</font></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;"><font color="red">timestamp</font></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": "wx9a50168a1a20097f",
"noncestr": "fe1c4ff01c024651bae063b72d967885",
"package": "Sign=WXPay",
"partnerid": "1271401001",
"prepayid": "wx16092947125690e8932a8a981968303800",
"sign": "C340057AE2D347FC54B4ECE5A3BFD5DB",
"timestamp": 1579138187
}
}
</code></pre>