大梦SDK
  1. 网页支付对接
大梦SDK
  • IOS SDK 接入文档
  • Android-官方SDK 接入文档
  • 微信小游戏
  • 支付宝小游戏
  • 抖音小游戏
  • 后端对接文档
  • 其他
    • 回调游戏绑定手机成功
      GET
  • 网页支付对接
    • 线下充值对接
  1. 网页支付对接

线下充值对接

大梦手游SDK 线下充值对接文档#

0. 文档更新#

时间更新内容
2024年02月04日商品信息接口需要新增返回描述,充值回调需要新支持返利参数

1. 说明#

该文档阅读对象为,游戏需要接入线下充值的开发人员。
游戏后端提供HTTP接口用于支持线下网页直接充值到游戏
游戏后端需要提供以下接口
1.
获取区服列表
2.
通过区服获取角色列表
3.
通过角色ID,区服获取玩家可购买商品列表
4.
使用区服,角色ID,商品ID向游戏预下单
5.
支付成功向游戏通知回调发货(携带返利参数) - (复用DODSDK支付回调地址)

2.签名算法#

签名算法与KEY同支付回调通知一致
public function CalcDodsdkSign($param_ary){
$dodsdk_sign_key = ""; 
unset($param_ary['sign']);//移除数组中的sign字段
ksort($param_ary);//将数组中的字段排序
$url_param = "";
foreach($param_ary as $key => $val){
	$url_param .= ($key."=".$val."&");
}//使$url_param变成a=1&b=2&的格式
$url_param .= "key=$dodsdk_sign_key";
$cal_sign = strtoupper(md5($url_param));//MD5加密,与sign字段比较
return $cal_sign;		
}

3. 游戏提供接口#

1. 获取玩家区服列表#

说明:SDK携带SDK UIN请求此接口,返回区服列表
请求方式: HTTP GET
请求示例 https://xxxx/server?uin=123
参数说明
参数类型是否可空参数说明
appidint否游戏APPID,用于多个游戏大区共用同一个接口兼容
uinint否sdk用户标识
tsint否发起请求unix时间戳(秒)
signstring否请求签名
返回示例
{
    "ret": 0,
    "msg": "success",
    "data": [
        {
            "serverName": "1服",
            "serverId": "1"
        },
        {
            "serverName": "2服",
            "serverId": "2"
        }
    ]
}
返回结果:为json串
参数类型是否可空参数说明
retint否验证结果0成功,其他失败
msgstring是验证结果说明
dataarray否数据域
data.serverNamestring是区服名称
data.serverIdstring是区服ID

2. 获取玩家角色列表#

说明:SDK携带SDK UIN请求此接口,返回区服列表
请求方式: HTTP GET
请求示例 https://xxxx/role?uin=123&serverId=1
参数说明
参数类型是否可空参数说明
appidint否游戏APPID,用于多个游戏大区共用同一个接口兼容
uinint否sdk用户标识
serverIdstring否游戏提供的区服ID
tsint否发起请求unix时间戳(秒)
signstring否请求签名
返回示例
{
    "ret": 0,
    "msg": "success",
    "data": [
        {
            "roleName": "asdasdas",
            "roleId": "asdasd"
        },
        {
            "roleName": "asdasd",
            "roleId": "asdasd"
        }
    ]
}
返回结果:为json串
参数类型是否可空参数说明
retint否验证结果0成功,其他失败
msgstring是验证结果说明
dataarray否数据域
data.roleNamestring否角色名称
data.roleIdstring否角色ID

3. 获取玩家可购买商品列表#

说明:SDK携带SDK UIN,区服ID,角色ID请求此接口,返回玩家可购买商品列表
请求方式: HTTP GET
请求示例 https://xxxx/product?uin=123&serverId=1&roleId=1231
参数说明
参数类型是否可空参数说明
appidint否游戏APPID,用于多个游戏大区共用同一个接口兼容
uinint否sdk用户标识
serverIdstring否游戏提供的区服ID
roleIdstring否游戏提供的角色ID
tsint否发起请求unix时间戳(秒)
signstring否请求签名
返回示例
{
    "ret": 0,
    "msg": "success",
    "data": [
        {
            "productId": "asdasdas",
            "productName": "asdasd",
            "productDesc":"一袋金币",
            "productPrice":"6",
        },
        {
            "productId": "asdasdas",
            "productName": "asdasd",
            "productDesc":"一袋金币",
            "productPrice":"6",
            
        }
    ]
}
返回结果:为json串
参数类型是否可空参数说明
retint否验证结果0成功,其他失败
msgstring是验证结果说明
dataarray否数据域
data.productIdstring是商品ID
data.productNamestring是商品名称
data.productDescstring是商品内容
data.productPricestring是商品价格(元)

4. 向游戏预下单#

说明:玩家选择商品之后向游戏接口提交订单信息,返回订单号用于后续支付结果回调
请求方式: HTTP GET
请求示例 https://xxxx/create-order?uin=123&serverId=1&roleId=1231&productId=123
参数说明
参数类型是否可空参数说明
appidint否游戏APPID,用于多个游戏大区共用同一个接口兼容
uinint否sdk用户标识
serverIdstring否游戏提供的区服ID
roleIdstring否游戏提供的角色ID
productIdstring否玩家购买的商品ID
tsint否发起请求unix时间戳(秒)
signstring否请求签名
返回示例
{
    "ret": 0,
    "msg": "success",
    "data":{
        "orderId":"asdasd"
    }
}
返回结果:为json串
参数类型是否可空参数说明
retint否验证结果0成功,其他失败
msgstring是验证结果说明
dataobject否数据域
data.orderIdstring是游戏订单号,用于后续回调标识

5. 支付回调#

说明:复用DODSDK支付回调地址,(网页下单很容易被篡改价格,建议判断回调金额和游戏商品金额)
来自网页充值的回调订单参数可能携带返利参数(rebate_type,rebate_amount),发货同时需要发送返利代币,完整参数如下
请求参数:
字段必选类型说明
app_order_id是string游戏方生成的订单
order_id是stringsdk侧生成的订单
amount是number金额(元)
order_time是int订单创建时间
product_id是int商品ID int类型,IOS历史遗留可能被强转0
from否string支付来源
rebate_type否string返利参数, 返利类型目前固定=3
rebate_amount否string返利参数,返利金额=目前为amount * 10%,需要转为对应代币(开新币)
sign是string加密串
上一页
回调游戏绑定手机成功
Built with