溪谷H5发行渠道接入文档


渠道接入

一、前期工作

1. 登录溪谷H5开放平台 http://h5open.vlcms.com:

获取对接所需要的appId , appKey (appId即为渠道ID,appKey 即为渠道KEY)
获取游戏的正式地址和游戏的支付回调地址

2. 如果渠道使用自己支付系统, 请准备一个支付回调的接口,填在溪谷H5开放平台上



签名机制

签名使用MD5方式

格式为 MD5(签名数组+appkey+access_key),使用参数sign传递appkey即渠道KEYaccess_key在游戏详情中可以查看

1 签名方法

在请求参数列表中,除去sign参数外,其他需要使用到的参数皆是要签名的参数中文需要urlencode

注意 所有参数必须按键名升序排序,请参见下面例子中的ksort($data)

2 示例

PHP示例

//签名方法

function signData($data, $game_key)

{

    ksort($data);

    foreach ($data as $k => $v) {

        $tmp[] = $k . '=' . $v;

    }

    $str = implode('&', $tmp) . $game_key;

    return md5($str);

}


二、接口

1渠道需要使用自己的登录系统

2如果渠道使用自己的支付系统,则要确保接口2的两个接口接通,否则会影响游戏充值。


1.登录接口

1.1 登录流程图

1.2 接口地址:

在溪谷H5开放平台上获取的游戏正式地址

例: http://h5open.vlcms.com/v2/game/12345/88888

登录通知游戏地址登录http://h5open.vlcms.com, 渠道商->渠道管理->已接入->《你们的渠道名字》->详细->游戏中心->我的游戏, 点击对应游戏的 《详情》

1.3 传参方式:

GET

1.4 参数说明:

参数名

不可为空

参数描述

userId

玩家在渠道上的用户id

channelExt

渠道透传的参数,此参数在用户支付时会原样回传给渠道的支付页面  length<=300

channelId

Appid 即渠道id  

gameAppid

游戏appid

nonce

时间戳

timeStamp

Unix时间戳(精确到秒)

userId

渠道用户id  length<=11

userAccount

渠道用户昵称  length<=30

userHeadicon

渠道用户头像

userSex

渠道用户性别

userPhone

渠道用户手机号

sign

验证签名,参考上述签名机制

请求样例:


http://h5open.cn/mobile.php/Game/open_game?channelExt=%E6%B5%8B%E8%AF%95&channelId=***&gameAppid=***&timeStamp=1501753131&nonce=8p8uM0&userId=1&userAccount=newh5account&userHeadicon=newg5nickname&userSex=1&userPhone=***&sign=9d8c00a519b9b8c0d2c32c23afba1616

1.5 返回结果:
可以进入游戏,即表示接入成功

错误码请参考附录1

2.支付接口

步骤:

· 玩家在游戏中触发购买行为

· 游戏调用创建订单方法

· 溪谷开放平台生成未支付状态的订单

· 如果渠道使用溪谷自有支付,则弹出溪谷支付sdk,到此渠道流程部分结束。反之,溪谷开放平台将支付信息传给渠道的支付回调地址接口(拉起渠道的支付页面)继续以下流程

· 唤起渠道的支付页面

· 玩家支付

· 渠道通知溪谷开放平台支付成功

· 溪谷开放平台将订单状态更新为成功

· 溪谷开放平台通知游戏支付成功

· 游戏方给玩家发放道具

· 溪谷开放平台返回渠道游戏道具发放结果

2.1 接口地址:
由渠道提供的支付页面地址 (需要渠道方在溪谷开放平台上提交)

2.2 请求方式:
GET

2.3 参数说明

参数名

不可为空

参数描述

userId

玩家在渠道上的用户id

userAccount

玩家在渠道上的用户昵称

gameAppid

游戏Id

propsName

游戏商品名称

amount

支付金额(大陆地区统一为人民币 分 int类型 正整数)

tradeNo

发行订单

channelExt

渠道在用户登录进入游戏时的透传参数,在此原样回传给渠道

ext

此参数为透传参数,通知支付结果接口调用的时候原因返回给Egret

timeStamp

Unix时间戳(精确到秒)

nonceStr

随机字符

sign

验证签名,参考上述签名机制

请求样例:

http://h53.0.cn/mobile.php/Game/game_pay?amount=100&channelExt=测试&ext=MmTeAnwgUc1hBufaMnjgAxNzA4MDMxODE1MjcxUkZs&gameAppid=wMVlwKGEv9yFbqTJkUn&nonceStr=UPQA1c&propsName=道具名称&timeStamp=1501755327&tradeNo=SP_201708031815271RFl&userAccount=newh5account&userId=1&sign=0a32b1791dd00871dd0f17563da79ce8

2.4 返回结果
能拉起渠道的支付页面即为表示对接成功

3.溪谷开放平台接收支付结果接口(支付回调)

3.1 接口地址:
渠道在开放平台上获取游戏支付回调地址.
例:http://h5open.cn/v2/pay/12345/88888

游戏支付回调地址,登录http://h5open.vlcms.com, 渠道商->渠道管理->已接入->《你们的渠道名字》->详细->游戏中心->我的游戏, 点击对应游戏的 《详情》

3.2 请求方式:
POST / GET

3.3 参数说明:

参数名

必传

参数描述

channelId

Appid 即渠道id  

orderId

渠道订单id

userId

玩家在渠道的用户Id

money

玩家在渠道上的充值金额,如果渠道有自己的代金券,或者折扣,应该传用代金券或者打折之前的金额(大陆统一为人民币 分int类型 正整数

ext

溪谷开放平台透传参数,此参数在调用渠道支付页面地址时传给渠道,在此需原样回传给Egret

timeStamp

Unix时间戳(精确到秒)

nonceStr

随机字符

sign

验证签名,参考上述签名机制

3.4 返回结果:

返回格式: json
返回数据字段:

字段名

字段描述

示例

备注

code

状态码

200

200为成功,其他表示错误(详细查看附录返回码说明

msg

code对应消息

发放成功

字符串类型

返回样例:

{"code":1022,"msg":"\u8ba2\u5355\u53d1\u653e\u5931\u8d25"}


三、附录

开放平台返回码Code说明:

Code

说明

1001

数据不能为空

1002

Sign验证失败

1004

用户不存在或被禁用

1007

用户名不存在

1011

充值金额有误

1016

游戏不存在或未申请

1017

参数错误

1018

发起支付失败

1019

透传信息无效

1020

订单不存在

1022

道具发放失败

200

发放成功