| 参数名 | 类型 | 方法 | 必须 | 说明 |
|---|---|---|---|---|
| state | string | post | 是 | 用户信息标示 |
| uid | int | post | 是 | 用户id |
| key | string | post | 是 | 游戏key |
示例:
{
"code": 200,
"result": {
"uid": "3458272310",
"isRealName": true, // 是否实名
"isAdult": true, // 是否成年
"age": 18 // 年龄
},
"message": "OK"
}{
"code": 10204,
"result": [],
"message": "验证失败"
}返回字段中code说明:
| 参数值 | 说明 |
|---|---|
| 200 | OK |
| 601 | 参数错误 |
| 604 | 游戏信息错误 |
| 10204 | 验证失败 |
| 参数名 | 类型 | 方法 | 必须 | 说明 |
|---|---|---|---|---|
| uid | int | post | 是 | 用户uid |
示例:
{
"code": 200,
"result": {
"uid": "943046627", // 4399用户UID
"open_id": "AAAovRyYDAWxRdzE1YawZIe8-k35", // 鸿蒙授权openid
"union_id": "MDECbNBEFrF580knfSPzgWXBo6HiaegD6rCEY06mIoH9tcA", // 鸿蒙授权unionid
"player_id": "CB0D7CEA18E9969B3FE8EA4D2168EE498A9127902678A296BC71A4453D43C29D" // 鸿蒙授权player_id,可能是 gamePlayerId 也可能是 teamPlayerId
},
"message": "OK"
}返回字段中code说明::
| 参数值 | 含义 |
|---|---|
| 200 | 成功 OK |
| 601 | 参数错误 |
POST
表单,即头部参数为Content-Type: application/form-data
| 参数名 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| orderId | string | 是 | 充值订单号,订单的唯一标识 |
| payType | int | 是 | 用户使用的充值渠道ID 默认传:164,表示华为充值。 |
| uid | int | 是 | 用户UID,用户的唯一标识 |
| mark | string | 是 | cp下单时生产的订单号,长度不可超过48个字符 |
| productId | string | 是 | 产品ID |
| bundleId | string | 是 | 应用ID |
| money | float | 是 | 订单金额,保留2位小数 |
| payMoney | float | 是 | 订单金额,保留2位小数(同money、兼容其它版本冗余字段) |
| payPrice | float | 是 | 玩家实际支付金额,保留2位小数 |
| payCurrency | string | 是 | 玩家实际支付货币类型,货币类型简称,如:人民币:CNY; |
| payCurrencySymbol | string | 是 | 玩家实际支付货币符号,如:人民币:¥; |
| sign | string | 是 | 签名字段,算法详见 “签名算法说明” |
示例:
{
'code' => 100,
'msg' => '充值成功'
}
返回字段说明:
| 参数名 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| code | int | 是 | 充值结果: 100: 充值成功; 其他情况 :充值异常,平台将启动重试机制。 |
| msg | sring | 否 | 返回结果的文字说明 |
POST
表单,即头部参数为Content-Type: application/form-data
| 参数名 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| uid | int | 是 | 用户UID,用户的唯一标识 |
| orderId | string | 是 | 充值订单号,订单的唯一标识 |
| bundleId | string | 是 | 应用ID |
| productId | string | 是 | 商品ID |
| mark | string | 是 | cp下单时生产的订单号 |
| sign | string | 是 | 签名字段,算法详见 “签名算法说明” |
示例:
{
'code' => 100,
'msg' => '成功'
}
返回字段说明:
| 参数名 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| code | int | 是 | 充值结果: 100:成功; 其他情况 :异常,平台将启动重试机制。 |
| msg | sring | 否 | 返回结果的文字说明 |
// 示例,充值回调请求url为:
// http://www.xxx.com/path/callback?uid=10000&mark=1234567890abcdefg&bundleId=cn.4399.gamebox
&productId=cn.4399.gamebox_001&money=100.00&payMoney=88.00
&orderId=2024020108080891642387&payType=164&sign=3f5efd681f4a14310dc721a38e6eb478
// 双方约定的密钥 secret 为: 12345abcde
$secret = "12345abcde";
$params = [
'uid' => 10000,
'mark' => '1234567890abcdefg',
'bundleId' => 'cn.4399.gamebox',
'productId' => 'cn.4399.gamebox_001',
'orderId' => '2024020108080891642387',
'money' => 100.00,
'payMoney' => 88.00,
'payType' => 164,
];
ksort($params);
$str1 = "";
foreach($params as $k=>$v){
$str1 .= "{$k}={$v}";
}
$str2 = $str1 . $secret;
$sign = strtolower(md5($str2));