服务端接入指南


登录凭证验证接口

接口说明

用户登录后,4399运营SDK(以下简称SDK)客户端将返回用户信息的同时,返回用户登录凭证state,游戏方服务器可通过该接口验证用户登录凭证的合法性。

接口定义

请求参数

字段 必填 数据类型 说明
state string 登录后SDK获取的服务端TOKEN
uid unsigned int my或4399平台的用户id

返回结果

{
    "code": 100,
    "result": {
        "uid": "1"
    },
    "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 签名字段,见下文说明

sign 签名说明

// 按顺序拼接各字段的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 自动分配的通信秘钥,仅可用于服务端,请勿将其写入客户端代码中。