注册 登录

接入文档

龙擎联运开放平台为游戏开发者提供一站式接入服务,快速实现用户登录、支付、数据统计等功能

平台介绍

龙擎联运开放平台是专业的H5游戏联运平台,为游戏开发者提供用户登录、统一支付、数据统计、结算分成等全链路服务。

开发者只需简单接入SDK,即可快速上线游戏,享受平台流量和专业运营服务。

平台优势

  • 高分成比例:开发者最高可享70%流水分成
  • 快速接入:标准SDK,1天即可完成接入
  • 统一支付:支持微信、支付宝等多种支付方式
  • 数据透明:实时数据统计,收入清晰可见
  • 按时结算:月结模式,次月15日前完成打款
  • 安全可靠:多重安全机制,保障数据和资金安全

接入流程

  1. 注册账号:注册成为平台开发者,填写基本信息
  2. 创建游戏:在开发者后台创建游戏,获取AppID、AppKey、AppSecret
  3. 接入SDK:下载对应SDK,按照文档完成接入
  4. 提交审核:提交游戏审核,审核通过后即可上线
  5. 开始运营:游戏正式上线,开始获取收益
提示:接入过程中如有问题,请联系客服QQ或发送邮件获取技术支持。

SDK下载

JS
H5前端SDK
适用于H5游戏前端接入
下载SDK
PHP
PHP服务端SDK
适用于PHP后端服务接入
下载SDK
PDF
完整文档
完整的接入说明文档
在线查看

H5 SDK接入

引入SDK

在游戏页面中引入SDK文件:

<!-- 引入龙擎SDK --> <script src="https://sdk.npr.hk/lq-sdk.js"></script>

初始化

在游戏启动前初始化SDK:

// 初始化SDK LQSDK.init({ app_id: '你的AppID', app_key: '你的AppKey', debug: false });

登录

调用登录方法,用户登录成功后会返回用户信息:

// 调用登录 LQSDK.login().then(user => { console.log('登录成功', user); // user包含:user_id, username, nickname, avatar, token }).catch(err => { console.log('登录失败', err); });

支付

调用支付方法,跳转到支付页面:

// 发起支付 LQSDK.pay({ game_order_sn: '游戏内部订单号', product_id: '商品ID', product_name: '商品名称', amount: 600, // 单位:分 role_id: '角色ID', role_name: '角色名', server_id: '服务器ID', ext: '透传参数' });
注意:支付金额单位为分,6元请传600。

H5 API说明

方法名 说明 参数 返回值
init(options) 初始化SDK app_id, app_key, debug
login() 调用登录 Promise,返回用户信息
logout() 退出登录
getUser() 获取当前用户 用户信息对象
pay(params) 发起支付 见支付参数说明 无(跳转支付页)
reportRole(roleInfo) 上报角色信息 role_id, role_name, server_id, level Promise
report(event, data) 上报数据 事件名, 数据对象 Promise

PHP SDK接入

引入SDK

require_once 'LQSDK.php';

初始化

$lq = new LQSDK([ 'app_id' => '你的AppID', 'app_key' => '你的AppKey', 'app_secret' => '你的AppSecret', 'api_url' => 'https://sdk.npr.hk/api' ]);

验证登录token

// 验证前端传过来的token $token = $_POST['token']; $user = $lq->verifyToken($token); if ($user) { // 验证成功,$user包含用户信息 echo '登录成功'; } else { echo '登录失败'; }

创建订单

$result = $lq->createOrder([ 'game_order_sn' => '游戏内部订单号', 'user_id' => 123, 'role_id' => '角色ID', 'role_name' => '角色名', 'product_name' => '6元钻石', 'amount' => 600 // 单位:分 ]); if ($result['code'] == 0) { // 返回支付URL,前端跳转到这个地址 $payUrl = $result['data']['pay_url']; }
重要:AppSecret 只能在服务端使用,绝对不能出现在前端代码中!

签名规则

所有服务端接口请求都需要携带签名,防止数据被篡改。

签名生成步骤

  1. 将所有请求参数(除sign外)按照参数名ASCII码从小到大排序
  2. 过滤掉值为空的参数
  3. 按照 key=value&key=value 的格式拼接成字符串
  4. 在字符串最后拼接 &app_secret=你的AppSecret
  5. 对整个字符串进行MD5加密,得到签名值

示例

// 请求参数 $params = [ 'app_id' => 'LQ20240101ABC12345', 'timestamp' => 1704067200, 'nonce' => 'abc123def456', 'token' => 'xxxxxx' ]; // 1. 按键名排序 ksort($params); // 2. 拼接字符串 $str = ''; foreach ($params as $key => $value) { if ($value !== '' && $key != 'sign') { $str .= $key . '=' . $value . '&'; } } // 3. 拼接app_secret $str .= 'app_secret=' . $appSecret; // 4. MD5加密 $sign = md5($str);
提示:时间戳有效期为10分钟,超过有效期的请求会被拒绝,防止重放攻击。

接口文档

所有接口基础地址:https://sdk.npr.hk/api

所有接口都需要传递以下公共参数:

参数名 类型 必填 说明
app_id string 游戏AppID
timestamp int 当前时间戳(秒)
nonce string 随机字符串,16位
sign string 签名,见签名规则

1. 验证登录token

接口地址:/verifyToken

请求方式:POST

请求参数:

参数名 类型 必填 说明
token string 登录token

返回数据:

{ "code": 0, "msg": "success", "data": { "user_id": 123, "username": "testuser", "nickname": "测试用户", "avatar": "" } }

2. 创建支付订单

接口地址:/createOrder

请求方式:POST

请求参数:

参数名 类型 必填 说明
game_order_sn string 游戏内部订单号
user_id int 用户ID
product_id string 商品ID
product_name string 商品名称
amount int 金额,单位:分
role_id string 角色ID
role_name string 角色名
server_id string 服务器ID
ext string 透传参数,回调时原样返回

3. 查询订单

接口地址:/queryOrder

请求方式:POST

请求参数:

参数名 类型 必填 说明
order_sn string 平台订单号(和游戏订单号二选一)
game_order_sn string 游戏订单号

4. 同步角色信息

接口地址:/syncRole

请求方式:POST

请求参数:

参数名 类型 必填 说明
user_id int 用户ID
role_id string 角色ID
role_name string 角色名
server_id string 服务器ID
server_name string 服务器名
level int 角色等级

支付回调

支付成功后,平台会向游戏配置的支付回调地址发送POST请求,通知支付结果。

回调参数

参数名 类型 说明
order_sn string 平台订单号
game_order_sn string 游戏内部订单号
amount int 订单金额(分)
pay_amount int 实付金额(分)
pay_time string 支付时间
pay_type int 支付方式(1=微信 2=支付宝)
status int 订单状态(1=已支付)
ext string 透传参数
sign string 签名

回调处理

// 处理支付回调 $result = $lq->handlePayCallback($_POST); if ($result) { // 验证成功,给玩家发货 $orderSn = $_POST['order_sn']; $gameOrderSn = $_POST['game_order_sn']; $amount = $_POST['amount']; // TODO:查询游戏订单,给玩家加钻石/道具 // 返回success表示处理成功 echo 'success'; } else { // 验证失败 echo 'fail'; }
回调返回:处理成功请输出字符串 success,平台收到后就不会再重复回调了。
注意:一定要验证签名和金额,防止伪造回调请求。同时要做幂等处理,同一订单只发货一次。

常见问题

Q: 签名验证失败怎么办?

A: 请检查以下几点:

  • 参数是否按照ASCII码排序
  • 是否过滤了空值参数
  • app_secret 是否拼接在最后
  • app_id 和 app_secret 是否正确
  • 编码是否一致(建议统一用UTF-8)

Q: 支付回调收不到怎么办?

A: 请检查:

  • 回调地址是否正确配置
  • 回调地址是否可以公网访问
  • 服务器防火墙是否拦截了请求
  • 是否返回了 success 字符串

Q: token验证失败?

A: token有效期为2小时,请在用户登录后及时验证并建立游戏自己的会话。

Q: 最低提现金额是多少?

A: 最低提现金额为100元,手续费1%,次月15日前结算上月收入。

Q: 如何联系技术支持?

A: 可以通过以下方式联系我们:

  • 客服QQ:见平台系统设置
  • 客服微信:见平台系统设置
  • 客服邮箱:见平台系统设置