兑换系统开放接口


订单状态回调

<h2>订单状态回调</h2> <ul> <li>订单状态发生变化时,平台会回调通知商家,通知路径优先使用下单时的传参<code>callbackUrl</code>,callbackUrl为空时则使用开户时设置的回调地址,都为空则不回调;</li> <li>回调时以<strong>POST</strong>的方式请求,请求参数为<strong>JSON格式的字符串</strong>,方便商家验签,验签相关参数以Http头的方式传递;</li> <li>商家接收到回调请求后应对请求验签,验签方法及示例代码可参考<em>验证签名</em>;</li> <li>商家的回调接口处理完成后,应返回字符串<strong>SUCCESS</strong>表示成功(不区分大小写),返回其它信息或者异常表示回调失败;</li> <li>回调失败时平台会再次尝试回调,尝试间隔为<code>15s, 30s, 3m, 10m, 20m, 30m, 60m, 3h, 6h</code></li> <li>商家应识别订单是否回调过,防止重复回调产生业务问题</li> </ul> <p><strong>Type:</strong> POST</p> <p><strong>Content-Type:</strong> application/json; charset=utf-8</p> <p><strong>Description:</strong> 平台开放接口回调</p> <p><strong>Request-headers:</strong></p> <table> <thead> <tr> <th>Header</th> <th>Type</th> <th>Description</th> <th>Required</th> <th>Since</th> </tr> </thead> <tbody> <tr> <td>businessId</td> <td>string</td> <td>业务ID,由平台提供</td> <td>true</td> <td>-</td> </tr> <tr> <td>nonce</td> <td>string</td> <td>随机字符串,需保证每次请求不同</td> <td>true</td> <td>-</td> </tr> <tr> <td>timestamp</td> <td>string</td> <td>时间戳,毫秒值</td> <td>true</td> <td>-</td> </tr> <tr> <td>sign</td> <td>string</td> <td>签名值</td> <td>true</td> <td>-</td> </tr> </tbody> </table> <p><strong>Body-parameters:</strong></p> <table> <thead> <tr> <th>Parameter</th> <th>Type</th> <th>Description</th> <th>Required</th> <th>Since</th> </tr> </thead> <tbody> <tr> <td>orderCode</td> <td>string</td> <td>平台订单号</td> <td>true</td> <td>-</td> </tr> <tr> <td>bizCode</td> <td>string</td> <td>业务方订单号</td> <td>false</td> <td>-</td> </tr> <tr> <td>mobile</td> <td>string</td> <td>手机号</td> <td>false</td> <td>-</td> </tr> <tr> <td>account</td> <td>string</td> <td>账号</td> <td>false</td> <td>-</td> </tr> <tr> <td>settlementPrice</td> <td>number</td> <td>结算金额</td> <td>false</td> <td>-</td> </tr> <tr> <td>orderStatus</td> <td>int32</td> <td>订单状态</td> <td>true</td> <td>-</td> </tr> <tr> <td>orderMessage</td> <td>string</td> <td>订单状态消息</td> <td>false</td> <td>-</td> </tr> <tr> <td>orderFailStatus</td> <td>int32</td> <td>订单异常状态</td> <td>false</td> <td>-</td> </tr> <tr> <td>orderFailMessage</td> <td>string</td> <td>订单异常状态消息</td> <td>false</td> <td>-</td> </tr> <tr> <td>orderVoucher</td> <td>string</td> <td>充值凭证</td> <td>false</td> <td>-</td> </tr> <tr> <td>dealCompleteTime</td> <td>long</td> <td>充值完成时间(时间戳毫秒值)</td> <td>false</td> <td>-</td> </tr> <tr> <td>consumeStatus</td> <td>int</td> <td>核销状态:1 未核销、2 已核销、3 已过期</td> <td>false</td> <td>-</td> </tr> <tr> <td>consumeTime</td> <td>long</td> <td>核销时间(时间戳毫秒值)</td> <td>false</td> <td>-</td> </tr> <tr> <td>type</td> <td>int</td> <td>券码类型,通过礼品卡采购下单的会返回该字段,1-兑换URL,2-卡号卡密</td> <td>false</td> <td>-</td> </tr> <tr> <td>couponInfo</td> <td>Array</td> <td>券码集合,通过礼品卡采购下单的会返回该字段,卡号卡密会加密,需自行解密,解密方式参考[卡券解密](<a href="https://www.showdoc.com.cn/1550488137087711/11484918744439323">https://www.showdoc.com.cn/1550488137087711/11484918744439323</a> &quot;卡券解密&quot;)</td> <td>false</td> <td>-</td> </tr> <tr> <td>└─cardNo</td> <td>String</td> <td>卡号(不存在卡号时则为null)</td> <td>false</td> <td>-</td> </tr> <tr> <td>└─cdkey</td> <td>String</td> <td>卡密or短链</td> <td>true</td> <td>-</td> </tr> <tr> <td>└─validityDate</td> <td>date</td> <td>有效截止期</td> <td>false</td> <td>-</td> </tr> </tbody> </table> <p><strong>Request-example:</strong></p> <pre><code>curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'businessId:55' -H 'nonce:55' -H 'timestamp:1628757969177' -H 'sign:55' -i /v1/openapi/order/callback? --data '{ &amp;quot;orderCode&amp;quot;: &amp;quot;33976&amp;quot;, &amp;quot;bizCode&amp;quot;: &amp;quot;33976&amp;quot;, &amp;quot;mobile&amp;quot;: &amp;quot;17780120049&amp;quot;, &amp;quot;settlementPrice&amp;quot;: 998, &amp;quot;orderStatus&amp;quot;: 262, &amp;quot;orderMessage&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;orderFailStatus&amp;quot;: 285, &amp;quot;orderFailMessage&amp;quot;: &amp;quot;success&amp;quot;, &amp;quot;orderVoucher&amp;quot;: &amp;quot;3320220520164751762855&amp;quot;, &amp;quot;type&amp;quot;: 2, &amp;quot;couponInfo&amp;quot;: [ { &amp;quot;cardNo&amp;quot;: &amp;quot;pl9NTIOr7CGd1F+fE/8OSvrWJ5ZB0gVZ3dWkf1ieP9onLqQf8YhqbQQ8ZEurKWWpmQDGt9ajNh1X1iVZU3QKuWz0oqe2oFCpnhtFNcDqwoOuJAkvp+SCApjDm+OCex+QBKQQGbCYo+M+v/VHS8yOwXUEWX65sTN/XomCIk5HW63TGkYx2aH6/8YxaKn7E6JmkxA3i6LRNGkzJXPvL9yUGCrFchU1KIY0+0MRQstpB2X5HOLPfabQ4luADWt1KHmmxlZg419+XchvfB8QcBvIf7I8v3ofQDKjFESjo3RkwkSX0+7XdyUCgP25MwckF69E9Wi4p+8URXkgTUXmxOXsXw\u003d\u003d&amp;quot;, &amp;quot;cdkey&amp;quot;: &amp;quot;bTVW2z9NH1+pJKOwHFXQzkvAKFEoKo9TtNy1tcPqaP72qUAQeJvoNhYGzvwv8NlLFQaAUz8qVRF/mVrIBjRoukaBID4MwS8Mqa5zW0okKT8OnO8bjeF7bTo0qrT2amRGB3HH3qGudoz8OLe4KTIz/U40Bh0tK7xfwHVld9ujEq0msNCWPOvFV2lZ/80eYU95dyp3ijw358+hXQsb0q96YwTJW+EOk5LRnADzJ0K4av0Q+dKfuSFzH2Ae4JaklJaZJhJ4kmMBRHPY8yZaqQ/pXwMtf8EHvJHJ6wqqDnv76rt/ZQhH6rGiluKPQRSeLd0kIwSXowIEIV59iaKlzzPFUg\u003d\u003d&amp;quot;, &amp;quot;validityDate&amp;quot;: &amp;quot;2024-01-01&amp;quot; }, { &amp;quot;cardNo&amp;quot;: &amp;quot;BAuy0GVcB9O55krSnqlmTF6//RmHTVbY0OsYwVIcNOKmtk1rLdeg6gY5LkUi6WFymkyU7IwFZP68E+3LFsaYY+9QZUCIv3zZ4Dpz5g7Zy/mIH7yQwthDkPxz2SgyTi7HQikj5QHr06B2qxYrVmI6IkRzX8rcVQHQ5on5xuYRHKCAIj+xmjBbpTfS1DpbCJ1zVPVdY1uEFU6uAXjoDlrN57SziiG4WfWwd8h0NCcdAj3OIBi5bdV7dI2SDhPqejwUGF+YLttZXLtmKQHrQ0cxWdIWjrCmi2BCsfSxw+6OxuZAH1hWSc9X0Ma60zQvaEWe0Xo9i3AZNxSYJ94nJYgMRg\u003d\u003d&amp;quot;, &amp;quot;cdkey&amp;quot;: &amp;quot;Vyb5mooiizHHgfyVVVYxE4RLu+Hv61L+ilDbPkfjZfzqSzEO0QuBX28Cmq/+ZeNphlqecksGBfoZE/BVyQjSFNf+6zBbJkJ6p3l07SYX/WvziGSm9gofeK9uTqPuY9ZY9eyIyxETANQe8jb0649bmLINXTvzkhTW9BSLQkytinBOwxYyLwby7Ckq6lKTRi+Iu1y3q24TfdMoRUoxBzGjXJQe2t/qoWTJc3O3JuPZai1yeUfi+2BRyvz6SHzjOCfgQFE6oLiV084g6QJyGX6Oiain2GsgomUoLIlB5jmo0ntl1iVndUJWMXpJppqfnNUnpoLclopZt6tvaV1WbTAhBQ\u003d\u003d&amp;quot;, &amp;quot;validityDate&amp;quot;: &amp;quot;2024-01-01&amp;quot; } ] }'</code></pre> <p><strong>Response-example:</strong></p> <pre><code>SUCCESS</code></pre>

页面列表

ITEM_HTML