商户代付回调接口
<p><strong>简要描述:</strong></p>
<p>代付回调接口
回调接口由商户提供, 一般情况下, 代付是同步接口,可以立即得到订单状态, 此时本回调不会执行。
极少数情况下银行返回 pending 或网络超时, 此时订单状态未知, 则当订单状态确定时,订单完成,MPurse会调用此接口通知商户.</p>
<p><strong>请求URL:</strong></p>
<p><a href="http://xx.merchant.com/xx/yyyy">http://xx.merchant.com/xx/yyyy</a></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;">txnId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">商户端生成的订单号</td>
</tr>
<tr>
<td style="text-align: left;">partnerId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">商户 partnerId</td>
</tr>
<tr>
<td style="text-align: left;">mpQueryId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">Mpurse端生成的订单号</td>
</tr>
<tr>
<td style="text-align: left;">cardNo</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">收款用户账号(非银行卡卡号。银行卡除了本身卡片上的卡号,在银行处还有一个对应账户号,这里使用的是银行的账户号) 。当transferChannel = bank时,返回此项</td>
</tr>
<tr>
<td style="text-align: left;">ifsc</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">收款用户IFSC号。当transferChannel = bank时,返回此项</td>
</tr>
<tr>
<td style="text-align: left;">amount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">付款金额</td>
</tr>
<tr>
<td style="text-align: left;">status</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">支付状态 : TRANSACTION_SUCCESS - 交易成功, TRANSACTION_FAILURE - 交易失败</td>
</tr>
<tr>
<td style="text-align: left;">txnCompletionDate</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">交易完成时间 (yyyyMMddHHmmss)</td>
</tr>
<tr>
<td style="text-align: left;">errorMsg</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">订单失败原因</td>
</tr>
<tr>
<td style="text-align: left;">transferChannel</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">转账类型。bank:银行账户(不填写默认为此项),wallet:用户钱包</td>
</tr>
<tr>
<td style="text-align: left;">beneEmail</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">收款方邮箱,当transferChannel = wallet,并且选择的是邮箱注册的钱包时,此项返回</td>
</tr>
<tr>
<td style="text-align: left;">beneMobile</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">收款方手机号码,当transferChannel = wallet,并且选择的是手机号码注册的钱包时,此项返回</td>
</tr>
<tr>
<td style="text-align: left;">balance</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">预付账户余额</td>
</tr>
</tbody>
</table>
<p><strong>
请求示例</strong></p>
<pre><code> {
"txnId": "1234567890",
"partnerId": "Mct_PartnerId_1001",
"mpQueryId": "1234567890",
"cardNo": "43193831588",
"ifsc": "ICICI213123",
"amount": "314",
"status": "TRANSACTION_SUCCESS",
"txnCompletionDate": "20190706121000",
"errorMsg": "Invalid Account No",
"transferChannel": "bank",
"balance": "15956256.12"
}
</code></pre>
<p><strong>请求参数会加密后发送</strong>
post_data = Base64.encode(AES.encrypt(request_json, key))</p>
<p>返回示例
商户返回 “SUCCESS” 表示已接收到回调。否则MPurse会再次执行回调,最多8次后结束. 每次回调的时间间隔为:
1 - 3 : 每隔2分钟
3 - 5 : 每隔1小时
5 - 8 : 每隔2小时</p>