渠道对接Egret开放平台说明文档

一、前期工作

1. 登录Egret开放平台 (http://open.egret.com ):

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

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

渠道支付回调地址

二、接口

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

1.登录接口

1.1 登录流程图

登录流程图

Tips1:
Egret游戏正式地址登录白鹭开放平台,按照下面的路径可以拿到:渠道商 -> 渠道 -> 游戏中心 -> 已上架游戏 -> 游戏详情。
形如: http://api.egret-labs.org/v2/game/[chanId]/[gameId], [] 表示其在白鹭开放平台上的对应id。

例如: 假如您在白鹭开放平台上注册的渠道Id是12345,您要上线的游戏的Id是88888,则该游戏的游戏地址为: http://api.egret-labs.org/v2/game/12345/88888

Tips 2:
渠道方若想使用自己的用户体系登录游戏,只需要在Egret游戏地址后面,拼接上渠道方的用户信息即可。

例: 假如在渠道的用户体系内有一个用户信息如下,

用户id:54321, 
用户昵称:张三, 
用户头像:http://img.baidu.com/54321.jpg,
玩家性别:男。 

只需要把用户的信息用GET方式请求 Tips 1中的Egret游戏地址即可, 如下:

http://api.egret-labs.org/v2/game/12345/88888?userId=54321&userName=张三&userSex=1&userImg=http%3a%2f%2fimg.baidu.com%2f54321.jpg&channelExt=&time=1470109186&sign=0ca175b9c0f726a831d895e269332461。
其中,userImg 参数值要urlencode, userSex参数值 1表示男,2表示女,0表示未知

1.2 接口地址:

白鹭开放平台上获取的游戏正式地址

例: http://api.egret-labs.org/v2/game/12345/88888

对应的游戏地址,登录http://open.egret.com, 渠道商->渠道管理->《你们的渠道名字》->游戏中心->已上架游戏, 点击对应游戏的 《游戏详情》

1.3 传参方式:

GET

1.4 参数说明:

参数名 必传 参数描述
userId 玩家在渠道上的用户id
userName 玩家在渠道上的用户昵称
userImg 玩家在渠道上的头像,没有则传空字符串,传参之前,请将地址进行urlencode
userSex 玩家在渠道上的性别:1表示男,2表示女,0表示未定义
channelExt 渠道透传的参数,此参数在用户支付时会原样回传给渠道的支付页面
time Unix时间戳(精确到秒)
sign 验证签名,该接口签名方式:md5(“appId=[appId]time=[time]userId=[userId][appKey]”); [appId]代表appId的值, appId, appKey有Egret开放平台提供 (appId即为Egret开放平台上的渠道id),sign 值应是数字和小写字母组成的字符串

请求样例:
http://api.egret-labs.org/v2/game/12345/88888?userId=54321&userName=张三&userSex=1&userImg=http%3a%2f%2fimg.baidu.com%2f54321.jpg&channelExt=&time=1470109186&sign=0ca175b9c0f726a831d895e269332461

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

2.支付接口

以下为白鹭开放平台支付时序图,和渠道相关的只有第4步和第7步。

支付时序图

步骤:

  • 玩家在游戏中触发购买行为
  • 游戏调用EgretH5SDK.pay() 方法
  • Egret开放平台生成未成功状态的订单
  • Egret将支付信息传给渠道的支付回调地址接口(拉起渠道的支付页面)
  • 唤起渠道的支付页面
  • 玩家支付
  • 渠道通知Egret支付成功
  • Egret将订单状态更新为成功
  • Egret通知游戏支付成功
  • 游戏方给玩家发放道具

2.1 接口地址:
由渠道提供的支付页面地址 (需要渠道方在open.egret.com上提交)

2.2 请求方式:
POST

2.3 参数说明

参数名 必传 参数描述
userId 玩家在渠道上的用户id
userName 玩家在渠道上的用户昵称
gameId 游戏Id
goodsId 游戏商品Id
goodsName 游戏商品名称
money 支付金额(大陆地区统一为人民币元 float类型)
egretOrderId egret的订单Id
channelExt 渠道在用户登录进入游戏时的透传参数,在此原样回传给渠道
ext 此参数为透传参数,通知支付结果接口调用的时候原因返回给Egret
gameUrl 游戏地址,渠道完成支付流程后,跳转回游戏的地址
time Unix时间戳(精确到秒)
sign 验证签名, 该接口签名方式:md5(“appId=[appId]egretOrderId=[egretOrderId]gameId=[gameId]goodsId=[goodsId]money=[money]time=[time]userId=[userId][appKey]”); appId、appKey由Egret开放平台提供。(appId即为渠道在Egret开放平台上的渠道Id, money不能小于1), sign 值应是数字和小写字母组成的字符串

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

3.Egret接收支付结果接口(支付回调)

3.1 接口地址:
白鹭开放平台上获取游戏支付回调地址.
例:http://api.egret-labs.org/v2/pay/12345/88888

对应的支付回调地址,登录http://open.egret.com, 渠道商->渠道管理->《你们的渠道名字》->游戏中心->已上架游戏, 点击对应游戏的 《游戏详情》

3.2 请求方式:
POST / GET

3.3 参数说明:

参数名 必传 参数描述
orderId 渠道订单id
userId 玩家在渠道的用户Id
money 玩家在渠道上的充值金额,如果渠道有自己的代金券,或者折扣,应该传用代金券或者打折之前的金额(大陆统一为人民币元,float类型)
ext Egret透传参数,此参数在调用渠道支付页面地址时传给渠道,在此需原样回传给Egret
time Unix时间戳(精确到秒)
sign 验证签名(签名生成方式相见附录1)

3.4 返回结果:

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

字段名 字段描述 示例 备注
code 状态码 0 0为成功,其他表示错误(code对应关系,见附录二
msg code对应消息 success 字符串类型
data 数据 [] 请求正常是,此字段为空数组

返回样例:

{
  "code":0,
  "msg":"success",
  "data":[]
}

三、附录

附录一:签名生成规则

签名生成规则:

  1. 对参与签名的参数的键值进行正序排列
  2. 生成待加密字符串
    • 第一步:对排好序的参与签名加密的参数按照排序顺序以 key1=value1key2=value2...keyn=valuen 形式连接成字符串
    • 第二步:在已经连接好的字符串尾部连接appkey(appkey在开放平台获取) ,最终形成的待加密字符串格式为key1=value1key2=value2...keyn=valuenappkey
  3. 对待加密字符串进行md5加密

生成签名方法php代码样例:

function createSign($params, $appkey){
        isset($params['sign']) && unset($params['sign']);
        isset($params['page']) && unset($params['page']);
        isset($params['per']) && unset($params['per']);
        ksort($params);
        $str  = "";
        foreach($params as $key=>$value){
            $str  .=  $key ."=". $value;
        }
        return md5($str.$appkey);

附签名检测工具:http://open.egret.com/checkSign

附录二:状态码(code)对照表

code 对应含义
0 成功
1001 参数不全
1006 sign 错误,验证通不过
1009 重复订单,此种情况也按照成功处理
1013 支付失败

注意:返回 0 和 1009 都按照成功处理

附录三:APP接入白鹭支付

注意:本节只适用于有自己App的CPS渠道(使用白鹭支付的渠道)

因白鹭支付内集成微信支付,如在App内使用微信H5支付,需对url单独处理

// 如下方案可在非微信内部WebView的Html5页面中掉出微信支付
if(url.startsWith("weixin://wap/pay?")){
        try{
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(url));
                startActivity(intent);
        }
        // your other logic
}

参考链接: http://blog.csdn.net/ahence/article/details/51317814

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容