用户登录后,4399运营SDK(以下简称SDK)客户端将返回用户信息的同时,返回用户登录凭证state,游戏方服务器可通过该接口验证用户登录凭证的合法性。
| 字段 | 必填 | 数据类型 | 说明 |
|---|---|---|---|
| state | 是 | string | 登录后SDK获取的服务端TOKEN |
| uid | 是 | unsigned int |
my或4399平台的用户id |
| key | 未开启充值必填 | string | sdk初始化的gamekey(游戏ID),游戏未开启充值时必填,开启则选填 |
{
"code": "100",
"result": {
"uid": "1",
"isRealName": true, // 是否实名认证
"isAdult": true // 是否成年
},
"message": "验证成功"
}
{
"code": "99",
"message": "登录地址."
}| 参数名 | 说明 |
|---|---|
| code | 状态码:100:验证成功87:参数不全85:验证失败
82:验证成功、但state有效期超时,重置state |
| message | 对应code的返回值描述 |
| result | 返回当前登录用户的
uid, 无符号整型,范围是0~2^32-1;若以整型方式使用它时,需要注意溢出风险 |
用户充值成功后,SDK服务端将充值信息回调到游戏方服务端,游戏方服务端应在5秒内返回充值结果,否则将判定订单为异常订单。 只有确认订单是失败的情况下,才返回失败的返回值,当充值中心收到失败的返回值时,将退还用户的充值金额到游币账户,此后若该笔订单在游戏里又处理成充值成功,将造成充值金额的损失。
| 字段 | 必填 | 数据类型 | 说明 |
|---|---|---|---|
| orderid | 是 | string | 4399 充值平台订单号,唯一,22位以内的字符串 |
| p_type | 是 | int | 充值渠道id |
| uid | 是 | unsigned int | 充值用户ID,my平台的用户uid |
| money | 是 | int | 充值金额,单位:元 |
| gamemoney | 是 | int | 获得游戏币数量,兑换标准由双方共同约定, 若在标准之外有优惠或者赠送策略,可忽略此字段,由游戏自行计算 |
| serverid | 否 | int | 充值角色服务区号。 只针对有分服的游戏有效。 |
| mark | 否 | string | 游戏方订单号, 游戏发起充值时生成唯一标识来标注该笔充值的相关信息时 |
| roleid | 否 | int | 游戏角色id,只针对pc端充值时,需要选择游戏角色的游戏。 roleid的值由角色接口提供(见接口2) |
| time | 是 | int | 发起请求时的时间戳 |
| coupon_mark | 否 | String | 优惠券的唯一标识,优惠券合作必接 |
| coupon_money | 否 | int | 优惠券的金额,优惠券合作必接 |
| sign | 是 | string | 签名字段,见下文说明 |
// 按顺序拼接各字段的md5值,php 示例
$sign = md5($orderid.$uid.$money.$gamemoney.
$serverid.$secret.$mark.$roleid.$time.$coupon_mark.$coupon_money)若参数$serverid, $mark, $roleid, $coupon_mark, $coupon_money中某个是空值时,不参与签名计算。
{
"status": 2,
"code": null,
"money": "1",
"game_money": "10",
"msg": "充值成功"
}| 参数名 | 说明 |
|---|---|
| status | 1:异常;2:成功;3:失败(将钱返还给用户) |
| code | 异常状态码,成功或失败为空。sign_error:请求串的md5验证码错误user_not_exist:用户账号不存在orderid_exist:订单已提交(提交订单号必须唯一)money_error:充值金额或兑换游戏币数量错误other_error:其他错误 |
| money | 用户充值的人民币金额,单位:元 |
| gamemoney | 用户实际兑换的游戏币的数量 |
| msg | 开发商自定义的内容(返回结果的说明等) |
$secret$secret 为 4399
自动分配的通信秘钥,仅可用于服务端,请勿将其写入客户端代码中。