Payment Open API


支付通知

<p>[TOC]</p> <h4>简要描述</h4> <ul> <li>当支付订单客户支付成功时,会向商户系统发起回调通知。(<code>注意!部分地区会出现订单失败后二次通知为成功的情况,需要商家能够支持订单状态修订能力*</code>)</li> <li>如果商户系统没有正确返回,支付网关会延迟再次通知。</li> </ul> <h4>测试说明</h4> <p>&lt;font color=&quot;red&quot;&gt; 1、测试环境 &quot;amount&quot;金额中包含 数字[ 3 支付失败],[2 支付成功],系统会自动回调相应状态。&lt;/br&gt; 2、针对孟加拉BDT &gt;&gt; 金额中包含[73 部分支付]包含[83 超额支付]系统自动回调对应的支付状态&lt;/font&gt;</p> <h4>请求URL</h4> <ul> <li><code>该链接是通过支付下单接口提交的参数notifyUrl设置,如果无法访问链接,商户系统将无法接收到支付中心的通知。</code></li> </ul> <h4>请求方式</h4> <ul> <li>POST</li> </ul> <h4>请求类型</h4> <ul> <li><code>application/x-www-form-urlencoded</code></li> </ul> <h4>回调示例</h4> <ul> <li> <p>假设支付下单接口提交的参数,notifyUrl=<a href="https://www.google.com">https://www.google.com</a></p> </li> <li>回调示例: <a href="https://www.google.com?payOrderId=S&amp;mchOrderNo=S&amp;sign=S&amp;channelOrderNo=S&amp;reqTime=L&amp;customerName=S&amp;createdAt=L&amp;customerPhone=S&amp;appId=S&amp;clientIp=S&amp;customerEmail=S&amp;state=I&amp;mchNo=S">https://www.google.com?payOrderId=S&amp;mchOrderNo=S&amp;sign=S&amp;channelOrderNo=S&amp;reqTime=L&amp;customerName=S&amp;createdAt=L&amp;customerPhone=S&amp;appId=S&amp;clientIp=S&amp;customerEmail=S&amp;state=I&amp;mchNo=S</a></li> </ul> <h4>参数</h4> <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>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">payOrderId</td> <td style="text-align: left;">支付订单号</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String(32)</td> <td style="text-align: left;">P12021022311124442600</td> <td>支付系统订单号</td> </tr> <tr> <td style="text-align: left;">mchNo</td> <td style="text-align: left;">商户号</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String(32)</td> <td style="text-align: left;">M1621873433953</td> <td>商户号</td> </tr> <tr> <td style="text-align: left;">appId</td> <td style="text-align: left;">应用ID</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String(32)</td> <td style="text-align: left;">60cc09bce4b0f1c0b83761c9</td> <td>应用ID</td> </tr> <tr> <td style="text-align: left;">mchOrderNo</td> <td style="text-align: left;">商户订单号</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String(32)</td> <td style="text-align: left;">202205071206040004000</td> <td>商户传入的订单号</td> </tr> <tr> <td style="text-align: left;">amount</td> <td style="text-align: left;">支付金额</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: left;">10000</td> <td><code>单位: 分</code></td> </tr> <tr> <td style="text-align: left;">currency</td> <td style="text-align: left;">货币代码</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String(3)</td> <td style="text-align: left;">INR</td> <td>三位货币代码:&lt;/br&gt;<code>INR:印度卢比</code>&lt;/br&gt;<code>BRL:巴西雷亚儿</code>&lt;/br&gt;<code>PKR: 巴基斯坦卢比</code></td> </tr> <tr> <td style="text-align: left;">state</td> <td style="text-align: left;">订单状态</td> <td style="text-align: left;">是</td> <td style="text-align: left;">int</td> <td style="text-align: left;">2</td> <td>订单支付状态:&lt;/br&gt;<code>0:订单生成</code>&lt;br/&gt;<code>1:支付中</code>&lt;br/&gt;<code>2:支付成功</code>&lt;/br&gt;<code>3:支付失败</code>&lt;/br&gt;<code>4:已撤销</code>&lt;/br&gt;<code>5:已退款</code>&lt;/br&gt;<code>6:订单关闭</code>&lt;/br&gt;<code>7:部分支付</code>&lt;/br&gt;<code>8:超额支付</code></td> </tr> <tr> <td style="text-align: left;">payAmount</td> <td style="text-align: left;">实际支付金额</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td style="text-align: left;">9000</td> <td>只有BDT币种会返回该字段 <code>单位: 分</code></td> </tr> <tr> <td style="text-align: left;">errCode</td> <td style="text-align: left;">错误码</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td style="text-align: left;">1002</td> </tr> <tr> <td style="text-align: left;">errMsg</td> <td style="text-align: left;">错误描述</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td style="text-align: left;">Business Failed 失败</td> </tr> <tr> <td style="text-align: left;">customerName</td> <td style="text-align: left;">客户名字</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String(64)</td> <td style="text-align: left;">客户姓名</td> <td>客户姓名</td> </tr> <tr> <td style="text-align: left;">customerEmail</td> <td style="text-align: left;">客户邮箱</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String(64)</td> <td style="text-align: left;">客户邮箱</td> <td>客户邮箱</td> </tr> <tr> <td style="text-align: left;">customerPhone</td> <td style="text-align: left;">客户手机号</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String(64)</td> <td style="text-align: left;">客户手机号</td> <td>客户手机号</td> </tr> <tr> <td style="text-align: left;">extParam</td> <td style="text-align: left;">商户扩展参数</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String(512)</td> <td style="text-align: left;">134586944573118714</td> <td>回调时会原样返回</td> </tr> <tr> <td style="text-align: left;">outExtInfo</td> <td style="text-align: left;">扩展信息参数</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String(512)</td> <td style="text-align: left;">134586944573118714</td> <td>扩展信息参数</td> </tr> <tr> <td style="text-align: left;">createdAt</td> <td style="text-align: left;">创建时间</td> <td style="text-align: left;">是</td> <td style="text-align: left;">long</td> <td style="text-align: left;">1622016572190</td> <td>订单创建时间,13位时间戳</td> </tr> <tr> <td style="text-align: left;">reqTime</td> <td style="text-align: left;">请求时间</td> <td style="text-align: left;">是</td> <td style="text-align: left;">long</td> <td style="text-align: left;">1652148000000</td> <td>请求接口时间,13位毫秒时间戳</td> </tr> <tr> <td style="text-align: left;">sign</td> <td style="text-align: left;">签名</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String(32)</td> <td style="text-align: left;">C380BEC2BFD727A4B6845133519F3AD6</td> <td>签名值,详见签名算法(大写 MD5 签名值)</td> </tr> </tbody> </table> <h4>商户返回示例</h4> <ul> <li>商户收到回调通知后,需要给平台返回的示例: <pre><code>success</code></pre></li> </ul> <h4>返回参数说明</h4> <ul> <li>商户业务系统处理后同步返回给支付中心,返回字符串 <code>success</code> 则表示成功,返回 <code>非success</code> 则表示处理失败,支付中心会再次通知业务系统。</li> <li> <p><code>通知频率</code> 0 / 30 / 60 / 90 / 120 / 150,单位: 秒。</p> </li> <li><code>注意</code>返回的字符串必须是小写,且前后不能有空格和换行符。</li> </ul> <h4>虚拟账户(VA)收款通知参数的说明</h4> <ul> <li>customerName:付款人姓名(该参数为可选,可能不返回)</li> <li>extParam.customerAccount:付款人账户(该参数为可选,可能不返回)</li> <li>extParam.reference:付款的银行流水(该参数为可选,可能不返回)</li> <li>extParam.finishedTime:付款完成的当地时间 示例值:2024-01-20T16:51:23+07:00</li> <li>extParam.amountTo:商户实到账金额 <h4>虚拟账户(VA)收银台收款通知参数的说明</h4></li> <li>customerName:付款人姓名(该参数为可选,可能不返回)</li> <li>outExtInfo.customerAccount:付款人账户(该参数为可选,可能不返回)</li> <li>outExtInfo.reference:付款的银行流水(该参数为可选,可能不返回)</li> <li>outExtInfo.finishedTime:付款完成的当地时间 示例值:2024-01-20T16:51:23+07:00</li> <li>outExtInfo.amountTo:商户实到账金额</li> </ul>

页面列表

ITEM_HTML