发货通知
<p>[TOC]</p>
<h3>1、【发货通知】接口功能说明</h3>
<pre><code>在乐玩的公众号官网中,角色下单支付完成后,回调支付结果。
CP方接收到支付回调时需验证签名和订单金额。
CP方接收到回调请求后,需按要求响应对应的json数据,否则我方会重试该回调。 回调间隔按2s,5s,10s,1min,5min,30min,..,梯度进行重试。</code></pre>
<h5>请求URL</h5>
<ul>
<li>CP方提供</li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST </li>
<li>Content-Type:application/json</li>
</ul>
<h5>请求参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
<th>示例值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">game </td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>乐玩游戏标识</td>
<td>jihewanguo-weixin</td>
</tr>
<tr>
<td style="text-align: left;">orderSn</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>乐玩方订单唯一标识</td>
<td>550000102024101411353445482</td>
</tr>
<tr>
<td style="text-align: left;">uid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>乐玩方用户唯一标识</td>
<td>1_10</td>
</tr>
<tr>
<td style="text-align: left;">roleId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>研发方角色ID</td>
<td>156565</td>
</tr>
<tr>
<td style="text-align: left;">proId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>研发方道具ID</td>
<td>pay15001</td>
</tr>
<tr>
<td style="text-align: left;">amount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">integer</td>
<td>订单金额,单位:分</td>
<td>600</td>
</tr>
<tr>
<td style="text-align: left;">trade_state</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>交易状态,枚举值: SUCCESS:支付成功; REFUND:转入退款; NOTPAY:未支付; CLOSED:已关闭; PAYERROR:支付失败(其他原因,如银行返回失败)</td>
<td>SUCCESS</td>
</tr>
<tr>
<td style="text-align: left;">timeStamp</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">integer</td>
<td>时间戳,单位为:s,长度10位</td>
<td>1728716232</td>
</tr>
<tr>
<td style="text-align: left;">platform</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>系统类型:ios 或者 android</td>
<td>ios</td>
</tr>
</tbody>
</table>
<h5>返回示例</h5>
<pre><code>// 成功
{&quot;code&quot;:1,&quot;msg&quot;:&quot;SUCCESS&quot;,&quot;cpOrderSn&quot;:&quot;lewan152973489_1728876934411&quot;}
// 异常
{&quot;code&quot;: -1, &quot;msg&quot;: &quot;找不到角色信息&quot;}
</code></pre>
<h5>响应参数</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
<th>示例值</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">cpOrderSn </td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>研发方订单号,必须响应此参数</td>
<td>lewan152973489_1728876934411</td>
</tr>
</tbody>
</table>
<h5>签名说明,和游戏内支付回调的签名规则一致</h5>
<h6>签名规则</h6>
<pre><code>Signature = MD5(POST_DATA + Lewan-Nonce + PAY_SECRET)。
</code></pre>
<h6>签名规则字段说明</h6>
<pre><code>Signature 表示签名串,通过请求头参数 Lewan-Authorization 获得。
POST_DATA 表示请求报文主体。
Lewan-Nonce 随机字符串,通过请求头参数 Lewan-Nonce 获得。
PAY_SECRET 表示【支付签名密钥】,由我方和SDK一起提供。
Lewan-Id 表示回调请求唯一ID,CP方可记录该ID值,异常情况可通过该ID查找到我方发起回调的详情。</code></pre>
<h6>支付签名示例</h6>
<pre><code>例如:
POST_DATA = {&quot;game&quot;:&quot;sanguobawangzhuan-weixin&quot;, &quot;uid&quot;:&quot;4_10_0&quot;,&quot;cpOrderSn&quot;:&quot;hezi_order2&quot;,&quot;amount&quot;:1,&quot;trade_state&quot;:&quot;SUCCESS&quot;,&quot;attach&quot;:&quot;123&quot;,&quot;timeStamp&quot;:1609925646,&quot;platform&quot;:&quot;ios&quot;};
Lewan-Nonce = abc;
PAY_SECRET = 123;
则签名:
Signature = MD5({&quot;game&quot;:&quot;sanguobawangzhuan-weixin&quot;, &quot;uid&quot;:&quot;4_10_0&quot;,&quot;cpOrderSn&quot;:&quot;hezi_order2&quot;,&quot;amount&quot;:1,&quot;trade_state&quot;:&quot;SUCCESS&quot;,&quot;attach&quot;:&quot;123&quot;,&quot;timeStamp&quot;:1609925646,&quot;platform&quot;:&quot;ios&quot;}abc123);
Signature = 263648b97cdd93fac8bbe82529dc528a;</code></pre>