Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zw_game_sdk
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
CI / CD
CI / CD
流水线
日程表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
提交
问题看板
Open sidebar
zwwl
zw_game_sdk
Commits
baeff696
提交
baeff696
authored
11月 02, 2021
作者:
黄程泽
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
删除多余
上级
e3cbbea1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
1 行增加
和
859 行删除
+1
-859
H5 SDK对接说明.md
H5 SDK对接说明.md
+1
-859
没有找到文件。
H5 SDK对接说明.md
deleted
100644 → 0
浏览文件 @
e3cbbea1
# H5 SDK 对接文档-v1.0
++ /dev/null
# H5 SDK 对接文档-v1.0
### 目录
1.[
接入说明
](
#sec1
)
1.1
[
术语表
](
#sec1.1
)
1.2
[
数据字典
](
#sec1.2
)
1.3
[
链接登录
](
#sec1.3
)
1.4
[
主动登录
](
#sec1.4
)
1.5
[
下单逻辑
](
#sec1.5
)
2.[
服务端接入
](
#sec2
)
2.1
[
接口规则
](
#sec2.1
)
请求域名
请求方式
请求格式
返回格式
状态说明
签名规则
签名示例
2.2
[
登录认证
](
#sec2.2
)
接口说明
接口地址
请求参数
返回参数
请求示例
2.3
[
角色信息上报
](
#sec2.3
)
接口说明
接口地址
请求参数
返回参数
请求示例
2.4
[
支付通知
](
#sec2.4
)
接口说明
接口地址
请求参数
返回参数
请求示例
3.[
H5 SDK接入
](
#sec3
)
3.1
[
配置导入H5 SDK
](
#sec3.1
)
说明
SDK地址
必要参数
导入示例
3.2
[
H5 SDK初始化
](
#sec3.2
)
说明
调用方式
示例
3.3
[
链接登录
](
#sec3.3
)
说明
链接参数
示例
3.4
[
主动登录
](
#sec3.4
)
说明
调用方式
示例
3.5
[
SDK 角色上报
](
#sec3.5
)
说明
调用方式
请求参数
返回参数
EVENT枚举
示例
3.6
[
SDK 下单
](
#sec3.6
)
接口说明
调用方式
请求参数
返回参数
示例
3.7
[
SDK 订单查询
](
#sec3.7
)
接口说明
调用方式
请求参数
返回参数
示例
## 1. 接入说明<a name="sec1"></a>
### 1.1 术语表<a name="sec1.1"></a>
> | 名称 | 说明 |
> | ---------- | ------------------------------------------------------------ |
> | CP | 游戏研发商。 |
> | H5_SDK | 由平台方提供给游戏研发商,用于游戏客户端接入平台登录,支付。 |
> | SDK服务 | 由平台方开发,用于完成SDK的登录,支付流程,承接游戏服务端的数据。 |
> | 游戏服务 | 游戏研发商开发,为游戏提供服务。 |
> | 游戏客户端 | 游戏研发方商开发的网页版游戏。 |
> | 支付服务 | 由平台方调用支付服务,包括微信支付,支付宝支付等 |
> | 游戏盒子 | 由平台方开发的游戏总入口,可以实现游戏登陆,支付,切换等;H5游戏以iframe的形式在游戏盒子中运行。 |
> | H5游戏入口 | 由CP方提供,进入H5游戏的入口链接。 |
### 1.2 数据字典<a name="sec1.2"></a>
> | 名称 | 说明 |
> | ----------- | ---------------------------------- |
> | player_id | 用户在平台的一个游戏中的唯一标识。 |
> | user_token | 用户在平台登录的会话标识。 |
> | game_id | 游戏在平台的唯一标识。 |
> | game_secret | 平台方提供,游戏签名秘钥。 |
> | cp_order_id | 游戏研发商订单唯一标识 |
> | order_id | 平台方订单唯一标识,与cp_order_id一一对应 |
> | h5_game_url | H5游戏入口,由CP方提供,进入H5游戏的入口链接。 |
### 1.3 链接登录<a name="sec1.3"></a>
```
mermaid
sequenceDiagram
链接登录->>游戏客户端:链接(携带参数)
note over 链接登录,游戏客户端:game_id,player_id,state,user_token
游戏客户端->>游戏服务:game_id,player_id,user_token
游戏服务->>SDK服务:登录验证
SDK服务-->>游戏服务:验证结果
游戏服务->>游戏服务:登录验证
游戏服务-->游戏客户端:验证结果
```
### 1.4 主动登录<a name="sec1.4"></a>
```
mermaid
sequenceDiagram
游戏客户端->>H5_SDK:调用登录
H5_SDK->>玩家:重新登录
玩家-->H5_SDK:账号密码
H5_SDK->>SDK服务:账号密码&game_id
SDK服务-->H5_SDK:player_id,user_token,game_id
H5_SDK->>H5_SDK:链接登录
```
### 1.5 下单逻辑<a name="sec1.5"></a>
```
mermaid
sequenceDiagram
玩家->>游戏客户端: 充值
游戏客户端->>H5_SDK: 订单信息
H5_SDK->>玩家:询问支付方式
玩家-->>H5_SDK:支付方式
H5_SDK->>SDK服务器:订单信息&支付方式&os
SDK服务器-->>H5_SDK:订单号&支付渠道信息
H5_SDK-->>游戏客户端:订单状态(待支付)
H5_SDK->>玩家:等待支付
玩家-->>H5_SDK:支付
H5_SDK->>支付服务:调用支付
支付服务->>SDK服务:支付结果
SDK服务->>游戏服务:支付结果
游戏服务-->>SDK服务:success/fail
游戏服务->>游戏客户端:发货通知
游戏客户端-->>玩家:发货
```
## 2. 服务端接入<a name="sec2"></a>
### 2.1 接口规则<a name="sec2.1"></a>
##### 请求域名
> 【HTTPS】zyou.wozhangwan.com/api
##### 请求方式
> 【POST】
##### 请求格式
> 【JSON】
##### 返回格式
> 【JSON】
##### 状态说明
| 状态码 | 说明 |
| ------ | -------- |
| 1 | 成功 |
| -1 | 错误 |
| -100 | 未登录 |
| -422 | 参数错误 |
##### 签名规则
> **签名秘钥**
>
> game_secret 为16位字符串,由 SDK 对接时提供,每一个小游戏单独提供一个 game_secret
> **签名串**
>
> 请求参数(去除sign)通过参数名作升序排序;如果参数值是一个对象,需要将该对象通过参数名升序排序后转换为json字符串;将排好序的参数与game_secret以一下格式进行字符串拼接(game_secret放在最后)
>
> key1=value1&key2=value2&key3=value3&game_secret=secret
> **签名算法**
>
> 【md5】
>
> sign = md5(签名串)
> ##### 注意
>
> <u>如果参数值是一个对象,需要将该对象通过参数名升序排序后转换为json字符串;</u>
>
> <u>转换json注意不要对中文进行转义</u>
##### 签名示例
```
php
<php
?
$
gameSecret =
"game_secret"
;
$
params =
["player_id"
=
>
1245, "game_id" => 14];
$signStr = '';
ksort($params, SORT_REGULAR);
foreach ($params as $key => $val) {
if (is_array($val)) {
ksrot($val, SORT_REGULAR); //对对象参数进行排序
$val = json_encode($val, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);
}
$signStr .= $key . '=' . $val . '
&';
}
$signStr .= 'game_secret=' . $gameSecret;
$sign = md5($signStr);
```
### 2.2 登录认证<a name="sec2.2"></a>
##### 接口说明
> 小游戏通过 SDK 获得 用户user_token, 游戏服务端需要在用户登录游戏成功后调用登录验证接口,验证user_token是否为有效登录用户会话,SDK 服务端需要通过该接口判断用户是否登录游戏服务 。
>
> 注意:该接口有调用频率限制,建议游戏服务端在完成用户登录后调用该接口;
##### 接口地址
> 【POST】 /h5_sdk/auth/checkLogin
##### 请求参数
> **Headers**:
>
> | 参数 | 必选 | 参数值 | 说明 |
> | ------------ | ---- | ---------------- | ----------------------------------- |
> | Content-Type | true | application/json | |
> | User-Token | true | | 小游戏登录后由 SDK 返回的user_token |
> **Body**:
>
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | --------- | ---- | ------ | ------ | ---------------------------------- |
> | game_id | true | Int | - | 游戏接入时分配的游戏ID |
> | player_id | true | Int | - | 小游戏登录后由 SDK 返回的player_id |
> | sign | true | String | - | 参数签名 |
##### 返回参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | ----------- | ----- | ------ | ------ | -------------- |
> | status_code | true | Int | - | 状态码 |
> | msg | true | STRING | - | 返回信息 |
> | data | false | OBJECT | [] | 返回数据(空) |
>
##### 请求示例
```
php
<php
?
public
function
checkLogin
(){
$
host =
'https://zyou.wozhangwan.com/api'
;
$
checkLoginUrl =
'/mini_sdk/auth/checkLogin'
;
$
url =
$host.$checkLoginUrl;
$
gameSecret =
"game_secret"
;
$
body =
["player_id"
=
>
1245, "game_id" => 14];
$userToken = "user_token";
$body["sign"] = makeSign($body, $gameSecret);
$headers = ["Content-Type:application/json","User-Token:".$userToken];
$response = curl_post($url, $body, $hearders);
}
public function makeSign($params,$gameSecret){
$signStr = '';
ksort($params, SORT_REGULAR);
foreach ($params as $key => $val) {
if (is_array($val)) {
ksort($val, SORT_REGULAR);
$val = json_encode($val, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);
}
$signStr .= $key . '=' . $val . '
&';
}
$signStr .= 'game_secret=' . $gameSecret;
return md5($signStr);
}
public function curl_post($url, $body, $headers){
//初始化
$curl = curl_init ( );
//设置抓取的url
curl_setopt ( $curl, CURLOPT_URL , $url);
//设置头文件的信息作为数据流输出
curl_setopt ( $curl, CURLOPT_HEADER , 1 );
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER , 1 );
//设置post方式提交
curl_setopt ( $curl, CURLOPT_POST , 1 );
//设置post参数
curl_setopt ( $curl, CURLOPT_POSTFIELDS , json_encode($body) );
//设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//执行命令
$data = curl_exec ( $curl );
//关闭URL请求
curl_close ( $curl );
//显示获得的数据
return json_decode($data, true);
}
```
### 2.3 角色信息上报<a name="sec2.3"></a>
##### 接口说明
> 上报游戏角色信息到 SDK 服务器;
>
> 选接,客户端或者服务端一个端接入即可;
##### 接口地址
> 【POST】/h5_sdk/role/serverReport
##### 请求参数
> **Headers**:
>
> | 参数 | 必选 | 参数值 | 说明 |
> | ------------ | ---- | ---------------- | ----------------------------------- |
> | Content-Type | true | application/json | |
> | User-Token | true | | 小游戏登录后由 SDK 返回的user_token |
> **Body:**
>
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :---------------------------------------------------------- | :---- | :----- | :----- | :--------------------------------- |
> | game_id | true | Int | - | 游戏接入时分配的游戏ID |
> | player_id | true | Int | - | 小游戏登录后由 SDK 返回的player_id |
> | role | true | Object | - | 角色信息 |
> | event | true | String | - | 事件类型 |
> | server_id | true | String | - | 区服ID |
> | server_name | true | String | - | 区服名称 |
> | cp_role_id | true | String | - | 游戏方角色ID |
> | role_name | true | String | - | 游戏角色名称 |
> | role_level | true | Int | - | 角色等级 |
> | role_vip | false | Int | 0 | 角色VIP等级 |
> | combat_num | false | Int | 0 | 角色战力 |
> | online_time | false | Int | 0 | 本次在线时长 |
> | sign | true | String | - | 签名 |
##### 返回参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | ----------- | ---- | ------ | ------ | -------- |
> | status_code | true | Int | - | 状态码 |
> | msg | true | STRING | - | 返回信息 |
> | data | | | | |
##### EVENT枚举
> | EVENT | 说明 |
> | -------- | -------- |
> | create | 创建角色 |
> | online | 角色上线 |
> | offline | 角色下线 |
> | level_up | 角色升级 |
> | delete | 删除角色 |
> | recharge | 角色充值 |
> | other | 其他 |
##### 请求示例
```
php
<php
?
public
function
report
(){
$
host =
'https://zyou.wozhangwan.com/api'
;
$
checkLoginUrl =
'/mini_sdk/role/severReport'
;
$
url =
$host.$checkLoginUrl;
$
gameSecret =
"game_secret"
;
$
body =
["player_id"
=
>
1245,
"game_id" => 14,
"role" =>[
"event" => 1,
"server_id" =>1,
"server_name" => "区服一",
"cp_role_id" => "roleId",
"role_name" => "角色名称",
"role_level" => 11,
"role_vip" => 0,
"combat_num" => 0,
"online_time" => 0,
]];
$userToken = "user_token";
$body["sign"] = makeSign($body, $gameSecret);
$headers = ["Content-Type:application/json","User-Token:".$userToken];
$response = curl_post($url, $body, $hearders);
}
public function makeSign($params,$gameSecret){
$signStr = '';
ksort($params, SORT_REGULAR);
foreach ($params as $key => $val) {
if (is_array($val)) {
$val = json_encode($val, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);
}
$signStr .= $key . '=' . $val . '
&';
}
$signStr .= 'game_secret=' . $gameSecret;
return md5($signStr);
}
public function curl_post($url, $body, $headers){
//初始化
$curl = curl_init ( ) ;
//设置抓取的url
curl_setopt ( $curl , CURLOPT_URL , $url) ;
//设置头文件的信息作为数据流输出
curl_setopt ( $curl , CURLOPT_HEADER , 1 ) ;
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt ( $curl , CURLOPT_RETURNTRANSFER , 1 ) ;
//设置post方式提交
curl_setopt ( $curl , CURLOPT_POST , 1 ) ;
//设置post参数
curl_setopt ( $curl , CURLOPT_POSTFIELDS , json_encode($body) ) ;
//设置请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//执行命令
$data = curl_exec ( $curl ) ;
//关闭URL请求
curl_close ( $curl ) ;
//显示获得的数据
return json_decode($data, true);
}
```
### 2.4 支付通知<a name="sec2.4"></a>
##### 接口说明
> 需要游戏服务端完成该接口,接收平台充值成功的信息。
##### 接口地址
> 【POST】充值结果通知地址,由 CP 方提供
##### 通知参数
> **Headers**:
>
> | 参数 | 必选 | 参数值 | 说明 |
> | ------------ | ---- | ---------------- | ---- |
> | Content-Type | true | application/json | |
> | User-Token | | | |
> **Body:**
>
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :----------------------------------------------------------- | :--- | :-------- | :----- | :----------------------------------------------------------- |
> | order | true | Object | - | 订单相关 |
> | order_id | true | String | - | 平台订单ID |
> | cp_order_id | true | String | - | 游戏传入的外部订单号,服务器会根据这个订单号生成对应的平台订单号,<br>请保证每笔订单传入的订单号的唯一性 |
> | product_price | true | String | - | 商品单价(分) |
> | amount | true | Int | | 商品总价(分) |
> | product_id | true | String | - | 商品 ID |
> | product_cnt | true | String | - | 商品数量 |
> | pay_time | true | Timestamp | - | 支付时间(时间戳) |
> | game_id | true | Int | - | 游戏接入时分配的游戏ID |
> | player_id | true | Int | - | 游戏接入时分配的游戏ID |
> | sign | true | String | - | 签名(签名规则参照2.1签名规则,签名的key由SDK提供) |
>
##### 返回参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | ----------- | ---- | ------ | ------ | -------- |
> | status_code | true | Int | - | 状态码 |
> | msg | true | STRING | - | 返回信息 |
> | data | | | | |
## 3. H5 SDK 接入<a name="sec3"></a>
### 3.1 配置导入H5 SDK<a name="sec3.1"></a>
##### 说明
> 游戏客户端通过引入外部js的方式,导入H5 SDK
##### SDK地址
> https://sdk.zwnet.cn/h5_sdk.js?v=1.0
##### 必要参数
> | 参数 | 说明 |
> | ----------- | -------------------------------- |
> | game_id | 游戏唯一标识,由平台方提供 |
> | h5_game_url | 需要由CP方提供进入游戏的入口链接 |
##### 导入示例
> ```javascript
> <script src="https://sdk.zwnet.cn/h5_sdk.js?v=1.0"></script>
> ```
>
### 3.2 H5 SDK 初始化<a name="sec3.2"></a>
---
##### 说明
> 游戏客户端需要在一开始初始化H5 SDK的对象,并注册角色上报(updateRole)、下单(createOrder)、订单查询(checkOrder)的回调通知;游戏客户端通过回调通知获得角色上报(updateRole)、下单(createOrder)、订单查询(checkOrder)的结果。
##### 调用示例
> ```javascript
> new zwsdk(config:Object)
> ```
##### 示例
> ```javascript
> const sdk = new zwsdk({
> updateRoleCallBack: (e) => {
> //处理角色上报的结果
> },
> createOrderCallBack: (e) => {
> //处理下单的结果
> },
> checkOrderCallBack: (e) => {
> //处理订单查询的结果
> }
> })
> ```
>
### 3.3 链接登录<a name="sec3.3"></a>
##### 说明
> 玩家通过游戏盒子登录后,游戏盒子在游戏入口链接(h5_game_url)后携带参数,游戏客户端需要将对应的参数回传给游戏服务器,通过[登录认证](#sec2.2)接口进行登录验证,如果校验成功则登录成功。具体流程逻辑以参考 [链接登录](#sec1.3)
##### 链接参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :--------- | :--- | :----- | :----- | :------------------------------------------ |
> | game_id | true | Int | - | 游戏在平台的唯一标识。 |
> | player_id | true | Int | - | 用户在平台的一个游戏中的唯一标识。 |
> | user_token | true | String | - | 用户登录后获取的token,用于验证用户是否登录 |
##### 示例
> 假设由CP方提供的h5_game_url为https://xxx.game.com,携带参数后最终地址为https://xxx.game.com?game_id=108&player_id=19902&user_token=O4T8Ua47Y7TtIuwcY2jbM71rZnTcg457Y2MzZTU4MjU0OWE5ZGQxOTg3YmYO0O0O
### 3.4 主动登录<a name="sec3.3"></a>
---
##### 说明
> 当游戏未登录时(例如:游戏登录状态失效,登录状态失败时),需要游戏客户端调起游戏盒子的登陆。调起登陆后,用户需要通过游戏盒子进行重新登录。
##### 调用方式
> ```javascript
> sdk.reLogin()
> ```
>
##### 示例
> ```javascript
> sdk.reLogin()
> ```
>
### 3.5 SDK 角色上报<a name="sec3.5"></a>
---
##### 说明
> 此方法用于上报角色信息,需在角色信息改变时调用此方法(每次角色登录成功时需上报一次)。如果服务端对接了角色上报接口,客户端可以无需上报。
##### 调用方式
```
javascript
sdk
.
updateRole
(
config
:
Object
)
```
##### 请求参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :---------------------------------------------------------- | :---- | :----- | :----- | :----------- |
> | role | true | Object | - | 角色信息 |
> | event | true | String | - | 事件类型 |
> | server_id | true | String | - | 区服ID |
> | server_name | true | String | - | 区服名称 |
> | cp_role_id | true | String | - | 游戏方角色ID |
> | role_name | true | String | - | 游戏角色名称 |
> | role_level | true | Int | - | 角色等级 |
> | role_vip | false | Int | 0 | 角色VIP等级 |
> | combat_num | false | Int | 0 | 角色战力 |
> | online_time | false | Int | 0 | 本次在线时长 |
##### 返回参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | ----------- | ---- | ------ | ------ | -------- |
> | status_code | true | Int | - | 状态码 |
> | msg | true | STRING | - | 返回信息 |
##### EVENT枚举
> | EVENT | 说明 |
> | -------- | -------- |
> | create | 创建角色 |
> | online | 角色上线 |
> | offline | 角色下线 |
> | level_up | 角色升级 |
> | delete | 删除角色 |
> | recharge | 角色充值 |
> | other | 其他 |
##### 示例
> ```javascript
> sdk.updateRole({
> role: {
> event: 'create',
> server_id: '100001',
> server_name: '主宰服',
> cp_role_id: 'cp_role_id',
> role_name: '哇哦是龙儿',
> role_level: '100',
> role_vip: '7',
> combat_num: '100',
> online_time: '10'
> }
> })
> //回调通知需要在初始化时注册
> ```
>
### 3.6 SDK 下单<a name="sec3.6"></a>
---
##### 接口说明
> 用户在充值后,游戏客户端需要调用sdk下单方法,需在登录成功后调用此方法;改方法会自动拉起支付。
##### 调用方式
```
javascript
zwsdk
.
createOrder
(
config
:
Object
)
```
##### 请求参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :----------------------------------------------------------- | :---- | :----- | :------- | :----------------------------------------------------------- |
> | order | true | Object | - | 订单相关 |
> | cp_order_id | true | String | - | 游戏传入的外部订单号,服务器会根据这个订单号生成对应的平台订单号,请保证每笔订单传入的订单号的唯一性 |
> | product_price | true | String | - | 商品价格(单价,单位:分) |
> | product_id | true | String | - | 商品 ID |
> | amount | true | String | - | 商品总价(单位:分) |
> | product_cnt | true | String | - | 商品数量 |
> | product_name | true | String | - | 商品名称 |
> | product_desc | true | String | - | 商品描述 |
> | ext | false | String | "" | CP 自定义扩展字段,透传信息 |
> | role | true | Object | - | 角色相关 |
> | event | true | String | recharge | 充值上传的角色信息 |
> | server_id | true | String | "" | 游戏服务器 ID |
> | server_name | true | String | "" | 游戏服务器名称 |
> | cp_role_id | true | String | "" | 玩家角色 ID |
> | role_name | true | String | "" | 玩家角色名称 |
> | role_level | true | String | "0" | 玩家角色等级 |
> | role_vip | true | String | "0" | 玩家 VIP 等级 |
> | combat_num | false | Int | 0 | 角色战力 |
> | online_time | false | Int | 0 | 本次在线时长 |
##### 返回参数
> | 参数 | 类型 | 说明 |
> | :----------------------------------------------------------- | :----- | :------------------------- |
> | status_code | String | 返回状态 |
> | msg | String | 返回信息 |
> | data | Object | 用户数据 |
> | data | Object | 用户数据 |
> | order_id | String | 订单 ID,可用于订单状态查询 |
##### 示例
```
javascript
sdk
.
createOrder
({
order
:
{
cp_order_id
:
'cp_order_id100000000001'
,
amount
:
'1'
,
product_price
:
'1'
,
product_id
:
'product_id10000001'
,
product_cnt
:
'1'
,
product_name
:
'元宝'
,
product_desc
:
'充值元宝'
,
ext
:
''
,
},
role
:
{
server_id
:
'100001'
,
server_name
:
'主宰服'
,
cp_role_id
:
'cp_role_id'
,
role_name
:
'哇哦是龙儿'
,
role_level
:
'100'
,
role_vip
:
'7'
,
combat_num
:
'100'
,
online_time
:
'10'
}
})
//回调通知需要在初始化时注册
```
### 3.7 SDK 订单查询<a name="sec3.7"></a>
---
##### 说明
> 游戏客户端在下单成功后,可以通过该方法对订单状态进行查询。(可结合[支付通知](#sec2.4)结果进行发货)
##### 调用方式
```
javascript
sdk
.
checkOrder
(
config
:
Object
)
```
##### 请求参数
> | 参数 | 必选 | 类型 | 默认值 | 说明 |
> | :------------------------------------------------------- | :--- | :----- | :----- | :----------- |
> | order | true | Object | - | 订单相关 |
> | order_id | true | String | - | 查询的订单号 |
##### 返回参数
> | 参数 | 类型 | 说明 |
> | :----------------------------------------------------------- | :----- | :--------------------------------- |
> | status_code | String | 返回状态 |
> | msg | String | 返回信息 |
> | data | Object | 用户数据 |
> | data | Object | 用户数据 |
> | order_id | String | 订单 ID |
> | status | String | 订单状态:待支付,已支付 |
> | callback_status | String | 回调状态:待回调,回调成功,回调错误 |
##### 示例
```
javascript
sdk
.
checkOrder
({
order
:
{
order_id
:
'g1635306419-9FA13A0B-EDA1-1D94'
}
})
//回调通知需要在初始化时注册
```
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论