业务报文全加密下单
<p>[TOC]</p>
<h5>业务背景</h5>
<ul>
<li>由于合作方内部合规要求,向福禄标准API下单时,充值账号若传递手机号,需加密传输;福禄标准API无法定制调整,故使用此接口进行中转下单</li>
</ul>
<h5>接口描述</h5>
<ul>
<li>业务报文全加密下单,支持直充、卡密、话费下单</li>
</ul>
<h5>接口地址</h5>
<ul>
<li><code>/api/Order/SendOrder</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST</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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">app_key</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>开放平台分配给商户的app_key</td>
</tr>
<tr>
<td style="text-align: left;">encrypt_data</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>加密的业务报文,采用[AES加密](<a href="https://www.showdoc.com.cn/fuluapichannelservice/11558549786573526">https://www.showdoc.com.cn/fuluapichannelservice/11558549786573526</a> "AES加密")</td>
</tr>
</tbody>
</table>
<h5>业务报文参数</h5>
<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>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">customer_order_no</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">50</td>
<td>外部订单号,用于系统日志跟踪</td>
</tr>
<tr>
<td style="text-align: left;">api_url</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">未限制</td>
<td>福禄开放平台API请求地址</td>
</tr>
<tr>
<td style="text-align: left;">public_request_param</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">未限制</td>
<td>福禄开放平台下单接口的公共请求参数,json字符串</td>
</tr>
</tbody>
</table>
<h5>业务报文参数示例</h5>
<pre><code> {
&quot;customer_order_no&quot;: &quot;20250115Test0001&quot;,
&quot;api_url&quot;: &quot;https://pre-openapi.fulu.com/api/getway&quot;,
&quot;public_request_param&quot;: &quot;{&quot;customer_order_no&quot;:&quot;20250115Test0001&quot;,&quot;api_url&quot;:&quot;https://pre-openapi.fulu.com/api/getway&quot;,&quot;public_request_param&quot;:&quot;{\&quot;app_key\&quot;:\&quot;i4esv1l+76l/7NQCL3QudG90Fq+YgVfFGJAWgT+7qO1Bm9o/adG/1iwO2qXsAXNB\&quot;,\&quot;method\&quot;:\&quot;fulu.order.direct.add\&quot;,\&quot;timestamp\&quot;:\&quot;2025-01-15 12:17:01\&quot;,\&quot;version\&quot;:\&quot;2.0\&quot;,\&quot;format\&quot;:\&quot;json\&quot;,\&quot;charset\&quot;:\&quot;utf-8\&quot;,\&quot;sign_type\&quot;:\&quot;md5\&quot;,\&quot;app_auth_token\&quot;:\&quot;\&quot;,\&quot;biz_content\&quot;:\&quot;{\\\&quot;buy_num\\\&quot;:1,\\\&quot;charge_ip\\\&quot;:\\\&quot;183.94.57.157\\\&quot;,\\\&quot;charge_account\\\&quot;:\\\&quot;17620132013\\\&quot;,\\\&quot;product_id\\\&quot;:10000586,\\\&quot;customer_order_no\\\&quot;:\\\&quot;20250115Test0001\\\&quot;}\&quot;,\&quot;sign\&quot;:\&quot;95d7c80b359a01a20492780dea15e6df\&quot;}&quot;}&quot;
}</code></pre>
<h5>公共请求参数示例</h5>
<pre><code> {
&quot;app_key&quot;: &quot;i4esv1l+76l/7NQCL3QudG90Fq+YgVfFGJAWgT+7qO1Bm9o/adG/1iwO2qXsAXNB&quot;,
&quot;encrypt_data&quot;: &quot;+vE71wCsxswojkH34lmC+GdN5CtYE9s/ZyNAFGAroPhFyYA3ZyEL7tONCWBuUZv6uA634t+giuHQ27yP1rmwAWSURp/WbSx8TV0JB6dlJktVwaLX1Re2WdgDEM6+1rI4nF8ckYBhSU2YpP0wy34kTqvi64ZY9geKy1joQZ6HOGGe/RQX04NAXlOn6jKNpNiNAyf1AZjFDsIOSLKrc+j0j5I7iE/LiKCK0WObTeBFgE3Q6bkaswYzMuABXMGIe3YKhLAH7OKGeb2PzKqddbsGByXpuxnqcXKLRBuBXBEyZks6BbHgUICv2RJjyP9LaOEiOt5hnD9hmaWRMZqxM80PSG0c59r1IuLKO0BKGoUYSZ7WbWgf8YoL7hHsMfsuTVmoxOCJnOHHhlew2qo5zHw+6HT9sVbEWEsIXyeZ8Ohi4UiGPVw3BzfmDBCdhewhhmWwRMvW30DvnobBiIx/jydyg6uG/mbKrewmiiICtkIRyMPIa0RhWOqekqJVR6+1oTlXeKrljN/2U9gxZy27UJ6wIhMRQQm7hyn9kSU9BWWn0FMOJlLXbEuorApX/WNBdnPMC5G/jAVVJoQn4N1xF+FaTQ5D4Me5m3vJ6Vd+UGb2Wkqr2xK/69GRdj2tEUPvekE0USxXvcEr+IZ7IRqtIQ/gRURApjWV7OWhuiTyDd1BYb3rbIND0SnAKqUHaNu2PzCKggE6vs3u4r/PWTH2+fTbOgb/l0JY4iSbqYC1zb94dLmWns4S+IEEwdQlFUMD6fLlnK8JpXOEGDGiEk+riBK9z/XE+iLBZVOKZ7QopoGsEN8Vd4DWiOiD3PxowvXy6ofSbBCMCV3Es5R0+BX/m1lISA==&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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td>返回码,详见底部《业务错误码》</td>
</tr>
<tr>
<td style="text-align: left;">message</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>返回码描述,详见底部《业务错误码》</td>
</tr>
<tr>
<td style="text-align: left;">result</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>响应结果,json字符串</td>
</tr>
</tbody>
</table>
<h5>响应结果参数</h5>
<p>返回的是福禄开放平台下单接口的公共响应参数,详情见福禄开放平台直充、卡密、话费下单接口的文档</p>
<h5>成功响应示例</h5>
<pre><code> {
&quot;code&quot;: 0,
&quot;message&quot;: &quot;接口调用成功&quot;,
&quot;result&quot;: &quot;{\&quot;order_id\&quot;:\&quot;25011535382705581223\&quot;,\&quot;product_id\&quot;:10000586,\&quot;product_name\&quot;:\&quot;视频/文娱直充测试商品-返回充值成功(勿动)\&quot;,\&quot;charge_account\&quot;:\&quot;17620132013\&quot;,\&quot;customer_order_no\&quot;:\&quot;20250115Test0001\&quot;,\&quot;create_time\&quot;:\&quot;2025-01-15 12:23:10\&quot;,\&quot;buy_num\&quot;:1,\&quot;order_price\&quot;:1.1230,\&quot;order_state\&quot;:\&quot;untreated\&quot;,\&quot;finish_time\&quot;:null,\&quot;area\&quot;:\&quot;\&quot;,\&quot;server\&quot;:\&quot;\&quot;,\&quot;type\&quot;:\&quot;\&quot;,\&quot;order_type\&quot;:4,\&quot;operator_serial_number\&quot;:\&quot;\&quot;}&quot;
}</code></pre>
<h5>异常响应示例</h5>
<pre><code> {
&quot;code&quot;: 1004,
&quot;message&quot;: &quot;时间戳已超过有效期&quot;,
&quot;result&quot;: &quot;&quot;
}</code></pre>
<h5>业务错误码</h5>
<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;">0</td>
<td style="text-align: left;">接口调用成功</td>
<td>接口调用成功,按正常流程处理</td>
</tr>
<tr>
<td style="text-align: left;">1005</td>
<td style="text-align: left;">必须传入app_key</td>
<td>请检查请求参数app_key是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1006</td>
<td style="text-align: left;">无效的app_key</td>
<td>1、检查appkey是否复制错误;<br>2、沙箱环境与生产环境数据不互通;<br>3、沙箱环境只能使用沙箱数据;</td>
</tr>
<tr>
<td style="text-align: left;">1020</td>
<td style="text-align: left;">接口权限验证失败,请联系接口提供方</td>
<td>请联系接口提供方</td>
</tr>
<tr>
<td style="text-align: left;">1021</td>
<td style="text-align: left;">Api渠道未启用</td>
<td>请联系接口提供方启用Api渠道</td>
</tr>
<tr>
<td style="text-align: left;">1022</td>
<td style="text-align: left;">应用加解密Key未配置</td>
<td>请联系接口提供方配置应用加解密Key,并提供给您</td>
</tr>
<tr>
<td style="text-align: left;">1023</td>
<td style="text-align: left;">接口权限未配置</td>
<td>请联系接口提供方配置接口权限</td>
</tr>
<tr>
<td style="text-align: left;">1024</td>
<td style="text-align: left;">加密的业务报文为空</td>
<td>请检查请求参数encrypt_data是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1025</td>
<td style="text-align: left;">业务参数:外部订单号不能为空</td>
<td>请检查加密前的业务报文中customer_order_no是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1026</td>
<td style="text-align: left;">业务参数:福禄开放平台API请求地址不能为空</td>
<td>请检查加密前的业务报文中api_url是否为空</td>
</tr>
<tr>
<td style="text-align: left;">1027</td>
<td style="text-align: left;">业务参数:公共请求参数不能为空</td>
<td>请检查加密前的业务报文中public_request_param是否为空</td>
</tr>
<tr>
<td style="text-align: left;">5001</td>
<td style="text-align: left;">系统异常</td>
<td>提供请求报文,联系接口提供方排查</td>
</tr>
</tbody>
</table>