第三方系统 / 九一卡券(阿奇索)可凭本文档将本平台货源接入您的系统实现自动下单(串货)。您的专属凭证(用户ID app_key、密钥 secret、接口地址)请登录代理后台 →「资料信息 / API配置」查看,本页不提供密钥。
https://api.lxchong.com/api/open| 接口 | 方法 | 完整地址 |
|---|---|---|
| 下单 | POST | https://api.lxchong.com/api/open/order/create |
| 查单 | GET / POST | https://api.lxchong.com/api/open/order/query |
| 余额 | GET | https://api.lxchong.com/api/open/balance |
| 产品同步 | GET | https://api.lxchong.com/api/open/products |
方式一(推荐):通过 HTTP Header 传递鉴权信息:
| Header | 必填 | 说明 |
|---|---|---|
X-App-Key | 是 | 您的用户ID(app_key,agk_ 开头),见代理后台「资料信息 → API配置」 |
X-Timestamp | 是 | 当前 Unix 时间戳(秒),与服务器时差不超过 300 秒(防重放) |
X-Sign | 是 | 请求签名(HMAC-SHA256,算法见第三节) |
方式二(兼容):不方便设置 Header 时,可将鉴权参数放入请求 Body / Query:
| 参数 | 必填 | 说明 |
|---|---|---|
app_key / userid / appkey | 是 | 用户ID(三种字段名均兼容) |
timestamp / time | 是 | Unix 时间戳(秒) |
sign / signature | 是 | 请求签名 |
方式A:HMAC-SHA256(推荐,通用第三方平台)
app_key 和 timestampkey1=value1&key2=value2&...,数组值用 JSON 编码&secret=您的密钥方式B:MD5(九一卡券/阿奇索模式)
key1value1key2value2...(无 = 和 & 分隔符)md5(密钥 + 拼接串 + 密钥),结果转大写<?php
// ============ 乐享充开放平台 下单示例(PHP)============
// 1. 业务参数
$params = [
'product_id' => '1', // 产品ID(产品信息列表中的数字ID)
'account' => '13800138000', // 充值账号
'out_trade_no' => 'YOUR_ORDER_123', // 外部订单号(选填,用于幂等)
// 电费订单额外传:'area' => '广东',
];
$appKey = '{your_app_key}'; // 您的用户ID(agk_开头)
$appSecret = '{your_secret_key}'; // 您的密钥
$timestamp = (string)time();
// 2. 加入公共参数后按 ASCII 升序排序
$params['app_key'] = $appKey;
$params['timestamp'] = $timestamp;
ksort($params);
// 3. 拼接 key=value(数组值用 JSON 编码),末尾加 &secret=密钥
$parts = [];
foreach ($params as $k => $v) {
if (is_array($v)) $v = json_encode($v, JSON_UNESCAPED_UNICODE);
$parts[] = $k . '=' . $v;
}
$raw = implode('&', $parts) . '&secret=' . $appSecret;
// 4. HMAC-SHA256 签名
$sign = hash_hmac('sha256', $raw, $appSecret);
// 5. 发起请求
$ch = curl_init('https://api.lxchong.com/api/open/order/create');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params),
CURLOPT_HTTPHEADER => [
'X-App-Key: ' . $appKey,
'X-Timestamp: ' . $timestamp,
'X-Sign: ' . $sign,
],
CURLOPT_RETURNTRANSFER => true,
]);
$resp = curl_exec($ch);
echo $resp;
# ============ 乐享充开放平台 下单示例(Python)============
import time, hmac, hashlib, requests
app_key = "{your_app_key}"
app_secret = "{your_secret_key}"
timestamp = str(int(time.time()))
params = {
"product_id": "1",
"account": "13800138000",
"out_trade_no": "YOUR_ORDER_123",
"app_key": app_key,
"timestamp": timestamp,
}
# 按 key 升序拼接 k=v&k=v,末尾加 &secret=密钥
raw = "&".join(f"{k}={params[k]}" for k in sorted(params)) + "&secret=" + app_secret
sign = hmac.new(app_secret.encode(), raw.encode(), hashlib.sha256).hexdigest()
resp = requests.post("https://api.lxchong.com/api/open/order/create", data=params, headers={
"X-App-Key": app_key,
"X-Timestamp": timestamp,
"X-Sign": sign,
})
print(resp.json())
POST https://api.lxchong.com/api/open/order/create
请求参数:
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
product_id | 是 | string | 产品ID(见「产品信息」列表中的纯数字ID,如移动100元=对应数字ID) |
account | 是 | string | 充值账号:话费填手机号,电费填电费户号 |
out_trade_no | 否 | string | 您的外部订单号,用于幂等:同一 out_trade_no 重复提交不会重复下单 |
area | 电费必填 | string | 省份名称(电费订单必填,如「广东」「江苏」) |
city | 否 | string | 地级市(电费订单可选,部分地区需要) |
notify_url | 否 | string | 异步回调地址;不传则使用您在 API配置 中预设的回调地址 |
返回示例:
{
"code": 0,
"message": "ok",
"data": {
"order_no": "20260703xxxxxx",
"out_trade_no": "YOUR_ORDER_123",
"product_id": "1",
"account": "13800138000",
"face_value": 100.00,
"amount": 95.00,
"status": 1,
"status_text": "pending",
"created_at": "2026-07-03 12:00:00",
"complete_at": null
}
}
返回字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
order_no | string | 平台订单号 |
out_trade_no | string | 您的外部订单号(下单时传入的) |
product_id | string | 产品ID |
account | string | 充值账号 |
face_value | number | 产品面值(单位:元,两位小数) |
amount | number | 实际扣款金额(单位:元) |
status | int | 订单状态码(见状态码表) |
status_text | string | 状态英文标识:pending/processing/success/failed/refunded |
created_at | string | 下单时间 |
complete_at | string | 完成时间(未完成为 null) |
area(省份,如「广东」),account 填电费户号。code:50001 并在 message 中提示「该号码为XX号码,本商品仅支持XX」。请在下单前根据号码运营商选择对应商品(各商品支持的运营商见「产品列表」接口返回的 carrier 字段,多网用逗号分隔如 CM,CU:CM=移动、CU=联通、CT=电信、GD=广电)。GET / POST https://api.lxchong.com/api/open/order/query
请求参数(order_no 与 out_trade_no 二选一):
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
order_no | 二选一 | string | 平台订单号(下单返回的 order_no) |
out_trade_no | 二选一 | string | 您的外部订单号 |
返回结构与下单一致(含 status / status_text / amount 等),订单不存在返回 code:40400。
GET https://api.lxchong.com/api/open/balance
{ "code": 0, "message": "ok", "data": { "balance": 100.00, "balance_fen": 10000 } }
balance 单位元,balance_fen 单位分。用代理 app_key(agk_ 前缀)对接时查的是代理账户余额(同系统串货场景),非租户余额。
GET https://api.lxchong.com/api/open/products
拉取上游平台全部上架产品,供同步/一键导入到自己产品库。无业务参数(仍需签名头)。
{
"code": 0, "message": "ok",
"data": [
{ "product_id": "own1_c11_304", "name": "移动 联通 电信50元充值",
"type": 1, "type_text": "话费快充", "carrier": "CM,CU,CT",
"face_value": 50.00, "sell_price": 46.75 }
]
}
拿到 product_id 后即可用于下单接口的 product_id 参数。carrier 为该商品支持的运营商(多网逗号分隔):CM=移动、CU=联通、CT=电信、GD=广电;话费下单时手机号运营商必须在此范围内。
订单到达终态(成功/失败/退款)时,平台会向您配置的 notify_url 推送通知(POST JSON)。验签方式与请求签名相同。
// 平台 → 您的 notify_url(POST,Content-Type: application/json)
{
"app_key": "{your_app_key}",
"order_no": "20260703xxxxxx",
"out_trade_no": "YOUR_ORDER_123",
"product_id": "1",
"account": "13800138000",
"face_value": 100.00,
"amount": 95.00,
"status": 3,
"status_text": "success",
"complete_at": "2026-07-03 12:00:00",
"timestamp": "1782xxxxxx",
"sign": "..." // 验签方式同请求签名
}
// 收到后请返回包含 success 的文本,否则平台按 30s/120s/300s 递增重试(默认最多3次)
<?php
// ============ 回调验签示例(PHP)============
$body = json_decode(file_get_contents('php://input'), true);
$sign = $body['sign'] ?? '';
unset($body['sign']);
ksort($body);
$parts = [];
foreach ($body as $k => $v) {
if (is_array($v)) $v = json_encode($v, JSON_UNESCAPED_UNICODE);
$parts[] = $k . '=' . $v;
}
$raw = implode('&', $parts) . '&secret=' . '{your_secret_key}';
$expect = hash_hmac('sha256', $raw, '{your_secret_key}');
if (hash_equals($expect, $sign)) {
// 验签通过:按 status 更新您的订单
echo 'success'; // 必须返回含 success 的文本
} else {
echo 'sign error';
}
| status | status_text | 含义 |
|---|---|---|
| 1 | pending | 待处理(已受理,尚未提交上游) |
| 2 | processing | 充值中(已提交上游,等待结果) |
| 3 | success | 充值成功 |
| 4 | failed | 充值失败(可能被压单等待人工,见下方说明) |
| 5 | refunded | 已退款(失败后自动退回额度) |
is_final=false 表示暂时失败被压单等待人工处理/重试,请勿据此判定最终失败并退款;只有 is_final=true(或状态变为 5 已退款)才是最终失败。建议以 status=5 或 is_final=true 作为退款依据。| code | 说明 |
|---|---|
0 | 成功 |
40001 | 参数错误(缺少 product_id/account 等) |
40101 | 缺少鉴权参数 X-App-Key / X-Timestamp / X-Sign |
40102 | 请求已过期(时间戳偏差超过300秒) |
40103 | app_key 无效 |
40104 | 未开通 API 权限,请联系直属管理员分配 |
40105 | 账户已停用 |
40107 | 未配置 secret_key(密钥) |
40108 | 签名校验失败 |
40400 | 订单不存在(查单时) |
50001 | 下单失败(余额不足/产品不可用/号码运营商与商品不符等,详见 message) |