chufan

Add new file

Showing 1 changed file with 97 additions and 0 deletions
## 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”}```
\ No newline at end of file