Name Last Update
README.md Loading commit data...

easygame储值结果通知机制

接口约定

1)     通过构造HTTP请求(POST方式)发起接口请求

2)     POST数据采用utf-8编码

3)     接口返回JSON格式数据

4)     签名规则

签名 = MD5(data + game_server_key)

  • game_server_key是每个游戏私有的密钥,首次接入游戏时向技术人员索要。
  • MD5 使用RFC 1321 标准,编码后需要转换回全小写(本文提到的所有md5 结果, 都需要转换成全小写)。
  • 表达式中的“+”号表示字符串接,并不存在。
  • 签名内容是指请求数据(data 字段)中,各字段名及其字段值的拼接,字段名与字 段值之间使用等号(=)连接。拼接时需对字段名排序,排序方式是按字段名进行升序排列。

注意:签名内容不应包含“&”符号,拼接签名内容时需把“&”符号剔除。字符串中若有换行情况,也应把换行符(回车或换行)剔除。

计算MD5签名时,取签名内容的字节时,应以UTF-8编码取字符串的字节值。

厂商需要将我们传过来的参数 decode 一次

签名示例:

假设请求参数是orderid=1&timestamp=2&pvc=3,game_server_key是ks2u

那么sign = md5(“orderid=1pvc=3timestamp=2*ks2u*”),再把sign全部转成小写。

储值成功通知接口

1)     接口描述

当easygame收到金流确认储值到账的通知时,向游戏回报储值结果,只回报成功的订单。

2)     请求地址

也叫回调地址,由游戏方提供。允许不同服使用不同的地址,接口回调时会回传游戏别名和服别名,如果多个服或者多个游戏使用同个地址,需要游戏服务端自行判断充值的游戏和服。

3)     请求方:easygame服务器

4)     应答方:游戏服务器

5)     请求参数:

参数名 数据类型 定义
orderid String easygame订单号
userid String easygame用户惟一标识
roleid String 游戏角色ID
rolename String 游戏角色名
game string 游戏别名,由easygame分配
server String 游戏服务器名,由easygame分配
amount Double 订单金额,TWD
gold Integer 需要游戏发放的虚币数量(厂商发虚币请务必根据gold来发)
paytype String 充值类型,如果存在多种充值方式该值根据不同充值渠道返回,默认都是应用商城指定的金流。如:google、卡密儲值
info String 游戏自定义参数,启用充值视窗时由游戏设定
timestamp Integer 充值成功的时间,是金流与easygame服务器确认充值成功的时间,UNIXTIME时间戳
pvc String 通讯协议版本号,是保留参数,只有一个值1
item String 如果购买的不是游戏币,而是其他道具,如周卡,月卡,这里是相应的道具ID。道具显示名称、道具ID(月卡统一为month_card)由厂商告知我们技术。ID值应该由纯小写字母、数字、下划线组成,长度不能超过100字节。此功能目前只支持GOOGLE金流。此值为可选,购买游戏币通知没有该项
sign String 请参考签名规则

6)     返回数据:

code(响应码) error(结果描述) 含义说明
3 SUCCESS 充值成功
3001 OTHER_ERROR 其它错误
3002 PARAMETER_NOT_LEGAL 其它参数不合法
3003 SIGN_NOT_MATCH 数据签名不匹配
3004 USER_NOT_EXIST 无法找到用户
3005 FAILURE 无法找到订单
3006 REPEAT_ORDER 订单重复提交
3007 AMOUNT_DIFFER 订单金额不匹配
3008 PARAMETER_NOT_LEGAL 其它参数不合法

7)     返回数据示例(JSON):

{“code”:3,  “error”:”SUCCESS”}