代付API
<h1>一、代付请求</h1>
<p><strong>简要描述:</strong> </p>
<ul>
<li>代付请求接口,请联系管理员开通,否则无法使用。</li>
</ul>
<p><strong>请求URL(网关地址):</strong> </p>
<ul>
<li><code>http://www.shenaipay.com/API/Bank/</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>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">merId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>商户编号,即商户会员ID</td>
</tr>
<tr>
<td style="text-align: left;">merSeqId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>商户订单流水号,请确保唯一性</td>
</tr>
<tr>
<td style="text-align: left;">usrName</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>收款人姓名,收款人在银行开户时留存的开户姓名或者第三方平台的收款姓名。</td>
</tr>
<tr>
<td style="text-align: left;">cardNo</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>收款人账号,银行卡号或第三方收款账号,如是支付宝,请填写支付宝账号。</td>
</tr>
<tr>
<td style="text-align: left;">openBankID</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>开户银行ID,注意:是ID号,不是中文的银行名称,请参照<strong>开户银行列表</strong>(商户后台的接口文档里面查看)</td>
</tr>
<tr>
<td style="text-align: left;">subBank</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>支行名称,银行卡时必填,支付宝等第三方收款可留空。</td>
</tr>
<tr>
<td style="text-align: left;">transAmt</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>代付金额,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">NotifyUrl</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>异步通知URL,代付结果通知地址,请不要带参数。</td>
</tr>
<tr>
<td style="text-align: left;">charset</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>字符集,可选值"gb2312"、"utf-8",默认gb2312编码。</td>
</tr>
<tr>
<td style="text-align: left;">Sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>32位MD5签名</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>参数提示:</strong>为防止utf-8编码提交的中文参数乱码,可以指定字符集为utf-8。</p>
</blockquote>
<p><strong>签名字符串:</strong>
<code>merId=&merSeqId=&openBankID=&transAmt=&NotifyUrl=&Key=商户密钥</code></p>
<p><strong>说明:</strong>Key的K是大写的K,按照该顺序签名,参数名区分大小写,大小写与参数表对应。</p>
<p><strong>注意:</strong>参数名区分大小写,大小写与参数表对应;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。 </p>
<p><strong>签名举例:</strong></p>
<blockquote>
<p>待签名字符串:merId=162553&merSeqId=20190109092948709836&openBankID=1&transAmt=100&NotifyUrl=<a href="http://192.168.10.57&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco">http://192.168.10.57&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco</a></p>
<p>签名结果:
75b08d5b4ed17cfd15e54a185401a6d0</p>
</blockquote>
<p><strong>返回示例: </strong> </p>
<pre><code>{"errcode":0,
"msg":"ok",
"Status":0,
"merSeqId":"2018050817000088888",
"OrderId":"2018050817000099999",
"transAmt":88.00,
"ServiceCharge":0.88,
"TotalAmount":88.88,
"sign":"41ba3b8f1759e01afc49969bf954d941"
} </code></pre>
<p><strong>返回参数说明</strong> </p>
<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;">errcode</td>
<td style="text-align: left;">int</td>
<td>为0表示没有错误,为1表示有错误</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;"><strong>errcode为0时才会有以下数据</strong></td>
</tr>
<tr>
<td style="text-align: left;">Status</td>
<td style="text-align: left;">int</td>
<td>为0表示代付提交成功,为1表示代付提交失败</td>
</tr>
<tr>
<td style="text-align: left;">merSeqId</td>
<td style="text-align: left;">string</td>
<td>商户订单流水号</td>
</tr>
<tr>
<td style="text-align: left;">OrderId</td>
<td style="text-align: left;">string</td>
<td>平台生成的订单号</td>
</tr>
<tr>
<td style="text-align: left;">transAmt</td>
<td style="text-align: left;">int</td>
<td>代付金额,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">ServiceCharge</td>
<td style="text-align: left;">int</td>
<td>代付手续费,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">TotalAmount</td>
<td style="text-align: left;">int</td>
<td>扣款总金额,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">string</td>
<td>MD5签名【msg不参与签名】</td>
</tr>
</tbody>
</table>
<p><strong>签名字符串:</strong>
<code>errcode=&merSeqId=&OrderId=&ServiceCharge=&Status=&TotalAmount=&transAmt=&key=商户密钥</code>(msg不参与签名,errcode不为0时不返回签名)</p>
<p><strong>签名举例:</strong></p>
<blockquote>
<p>待签名字符串:errcode=0&merSeqId=2018050817000088888&OrderId=2018050817000099999&ServiceCharge=0.88&Status=0&TotalAmount=88.88&transAmt=88.00&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco</p>
<p>签名结果:
41ba3b8f1759e01afc49969bf954d941</p>
</blockquote>
<h1>二、代付异步回调:</h1>
<p>异步回调信息以GET方式发送,且只通知一次,如有需要请使用代付查询接口。通知地址为商户传过来的回调地址NotifyUrl。处理成功后只返回字符串“success”,请商户自己控制代付订单的重复处理,我们没有收到“success”会多次回调。(如果没有通知成功,请后台补单)</p>
<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>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">merId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>商户编号,即商户会员ID</td>
</tr>
<tr>
<td style="text-align: left;">Status</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订单状态,为0表示代付成功,为1表示代付失败(被驳回)</td>
</tr>
<tr>
<td style="text-align: left;">merSeqId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>商户订单流水号</td>
</tr>
<tr>
<td style="text-align: left;">OrderId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>平台系统订单流水号</td>
</tr>
<tr>
<td style="text-align: left;">transAmt</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>代付金额,单位元</td>
</tr>
<tr>
<td style="text-align: left;">ServiceCharge</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>代付手续费,单位元</td>
</tr>
<tr>
<td style="text-align: left;">TotalAmount</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>32位MD5签名</td>
</tr>
</tbody>
</table>
<p><strong>签名字符串:</strong>
<code>merId=&Status=&merSeqId=&transAmt=&ServiceCharge=&TotalAmount=&keyValue=商户密钥 </code></p>
<p><strong>注意:</strong>签名之前一定要先将字符串转换为小写后再签名;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。 </p>
<p><strong>签名举例:</strong></p>
<blockquote>
<p>待签名字符串:merId=162553&Status=0&merSeqId=2018050817000088888&transAmt=88&ServiceCharge=0.88&TotalAmount=88.88&keyValue=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco</p>
<p>签名结果:
cedcc7aea3e24a03c589e3dd1ae0fe97</p>
</blockquote>
<h1>三、代付查询接口:</h1>
<p><strong>请求URL(网关地址):</strong> </p>
<ul>
<li><code>http://api.yewenpay.com/API/Bank/</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>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">DFmerId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>商户编号,即商户会员ID</td>
</tr>
<tr>
<td style="text-align: left;">DFOrderId</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>32位MD5签名</td>
</tr>
</tbody>
</table>
<p><strong>签名字符串:</strong>
<code>DFmerId=&DFOrderId=&Key=商户密钥</code></p>
<p><strong>说明:</strong>Key的K是大写的K,按照该顺序签名,参数名区分大小写,大小写与参数表对应。</p>
<p><strong>注意:</strong>参数名区分大小写,大小写与参数表对应;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。 </p>
<p><strong>签名举例:</strong></p>
<blockquote>
<p>待签名字符串:DFmerId=162553&DFOrderId=20190109092948709836&Key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco</p>
<p>签名结果:
4835b9d808b4ab3b7402c929db367acd</p>
</blockquote>
<p><strong>报文返回json格式数据</strong>
<strong>返回示例: </strong> </p>
<pre><code>{
"errcode":0,
"msg":"ok",
"Status":0,
"AddTime":"2018-05-08 17:00:00",
"PayTime":"2018-05-08 17:00:30",
"RealMoney":88.00,
"sign":"d9afc1f2c8338e9c8f2fabcaa85ed69d"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<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;">errcode</td>
<td style="text-align: left;">int</td>
<td>为0表示没有错误,为1表示有错误</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;"><strong>errcode为0时才会有以下数据</strong></td>
</tr>
<tr>
<td style="text-align: left;">Status</td>
<td style="text-align: left;">int</td>
<td>为0表示成功,为1表示失败</td>
</tr>
<tr>
<td style="text-align: left;">AddTime</td>
<td style="text-align: left;">string</td>
<td>下单时间</td>
</tr>
<tr>
<td style="text-align: left;">PayTime</td>
<td style="text-align: left;">string</td>
<td>代付成功时间</td>
</tr>
<tr>
<td style="text-align: left;">RealMoney</td>
<td style="text-align: left;">string</td>
<td>实付金额,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">string</td>
<td>MD5签名【msg不参与签名】</td>
</tr>
</tbody>
</table>
<p><strong>签名字符串:</strong>
<code>AddTime=&errcode=&PayTime=&RealMoney=&Status=&key=商户密钥</code>(msg不参与签名,errcode不为0时不返回签名)</p>
<p><strong>签名举例:</strong></p>
<blockquote>
<p>待签名字符串:AddTime=2018-05-08 17:00:00&errcode=0&PayTime=2018-05-08 17:00:30&RealMoney=88.00&Status=0&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco</p>
<p>签名结果:
d9afc1f2c8338e9c8f2fabcaa85ed69d</p>
</blockquote>
<h1>四、商户余额查询接口:</h1>
<p><strong>请求URL(网关地址):</strong> </p>
<ul>
<li><code>http://api.yewenpay.com/API/Bank/</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>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">BmerId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>商户编号,即商户会员ID</td>
</tr>
<tr>
<td style="text-align: left;">Sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>32位MD5签名</td>
</tr>
</tbody>
</table>
<p><strong>签名字符串:</strong>
<code>BmerId=&Key=商户密钥</code></p>
<p><strong>说明:</strong>Key的K是大写的K,按照该顺序签名,参数名区分大小写,大小写与参数表对应。</p>
<p><strong>注意:</strong>参数名区分大小写,大小写与参数表对应;通过MD5(32位)方式签名(编码必须是gb2312,加密后转换为小写)。 </p>
<p><strong>签名举例:</strong></p>
<blockquote>
<p>待签名字符串:BmerId=162553&Key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco</p>
<p>签名结果:
192dcba4c2c9f5fb681eac9b56013cc3</p>
</blockquote>
<p><strong>报文返回json格式数据</strong>
<strong>返回示例: </strong> </p>
<pre><code>{
"errcode":0,
"msg":"ok",
"Balance":3000.00,
"NotBalance":500.00,
"YesBalance":2500.00,
"sign":"768a8370d542c5e1c632f9aebadbf94f"
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<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;">errcode</td>
<td style="text-align: left;">int</td>
<td>为0表示没有错误,为1表示有错误</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;">Balance</td>
<td style="text-align: left;">string</td>
<td>总余额,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">NotBalance</td>
<td style="text-align: left;">string</td>
<td>不可用余额,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">YesBalance</td>
<td style="text-align: left;">string</td>
<td>可用余额,单位:元</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">string</td>
<td>MD5签名【msg不参与签名】</td>
</tr>
</tbody>
</table>
<p><strong>签名字符串:</strong>
<code>Balance=&errcode=&NotBalance=&YesBalance=&key=商户密钥</code>(msg不参与签名,errcode不为0时不返回签名)</p>
<p><strong>签名举例:</strong></p>
<blockquote>
<p>待签名字符串:Balance=3000.00&errcode=0&NotBalance=500.00&YesBalance=2500.00&key=vtstvnh7SmFDAywWHmQfEtMGbiQlBpco</p>
<p>签名结果:
768a8370d542c5e1c632f9aebadbf94f</p>
</blockquote>
<p><strong>注意:代付或其他需要查询余额的情况下,请以“可用余额”为准。</strong></p>