Showing
1 changed file
with
97 additions
and
0 deletions
README.md
0 → 100644
1 | +## easygame储值结果通知机制 | ||
2 | + | ||
3 | + | ||
4 | + | ||
5 | +# 接口约定 | ||
6 | + | ||
7 | +1) 通过构造HTTP请求(POST方式)发起接口请求 | ||
8 | + | ||
9 | +2) POST数据采用utf-8编码 | ||
10 | + | ||
11 | +3) 接口返回JSON格式数据 | ||
12 | + | ||
13 | +4) 签名规则 | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | +**签名** = MD5(data + game_server_key) | ||
18 | + | ||
19 | + | ||
20 | + | ||
21 | +* **game_server_key**是每个游戏私有的密钥,首次接入游戏时向技术人员索要。 | ||
22 | +* MD5 使用RFC 1321 标准,编码后需要转换回全小写(本文提到的所有md5 结果, 都需要转换成全小写)。 | ||
23 | +* 表达式中的“+”号表示字符串接,并不存在。 | ||
24 | +* 签名内容是指请求数据(data 字段)中,各字段名及其字段值的拼接,字段名与字 段值之间使用等号(=)连接。拼接时需对字段名排序,排序方式是按字段名进行升序排列。 | ||
25 | + | ||
26 | + | ||
27 | + | ||
28 | +注意:签名内容不应包含“&”符号,拼接签名内容时需把“&”符号剔除。字符串中若有换行情况,也应把换行符(回车或换行)剔除。 | ||
29 | + | ||
30 | +计算MD5签名时,取签名内容的字节时,应以UTF-8编码取字符串的字节值。 | ||
31 | + | ||
32 | +**厂商需要将我们传过来的参数 decode 一次** | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | +**签名示例:** | ||
37 | + | ||
38 | +假设请求参数是orderid=1×tamp=2&pvc=3,game_server_key是**ks2u** | ||
39 | + | ||
40 | +那么sign = md5(“orderid=1pvc=3timestamp=2**ks2u**”),再把sign全部转成小写。 | ||
41 | + | ||
42 | + | ||
43 | + | ||
44 | +# 储值成功通知接口 | ||
45 | + | ||
46 | +1) 接口描述 | ||
47 | + | ||
48 | +当easygame收到金流确认储值到账的通知时,向游戏回报储值结果,只回报成功的订单。 | ||
49 | + | ||
50 | +2) 请求地址 | ||
51 | + | ||
52 | +也叫回调地址,由游戏方提供。允许不同服使用不同的地址,接口回调时会回传游戏别名和服别名,如果多个服或者多个游戏使用同个地址,需要游戏服务端自行判断充值的游戏和服。 | ||
53 | + | ||
54 | +3) 请求方:easygame服务器 | ||
55 | + | ||
56 | +4) 应答方:游戏服务器 | ||
57 | + | ||
58 | +5) 请求参数: | ||
59 | + | ||
60 | +| **参数名** | **数据类型** | **定义** | | ||
61 | +| ------------ | ------------ | ------------------------------------------ | | ||
62 | +| orderid | String | easygame订单号 | | ||
63 | +| userid | String | easygame用户惟一标识 | | ||
64 | +| roleid | String | 游戏角色ID | | ||
65 | +| rolename | String | 游戏角色名 | | ||
66 | +| game | string | 游戏别名,由easygame分配 | | ||
67 | +| server | String | 游戏服务器名,由easygame分配 | | ||
68 | +| amount | Double | 订单金额,TWD | | ||
69 | +| gold | Integer | 需要游戏发放的虚币数量(厂商发虚币请务必根据gold来发) | | ||
70 | +| paytype | String | 充值类型,如果存在多种充值方式该值根据不同充值渠道返回,默认都是应用商城指定的金流。如:google、卡密儲值 | | ||
71 | +| info | String | 游戏自定义参数,启用充值视窗时由游戏设定 | | ||
72 | +| timestamp | Integer | 充值成功的时间,是金流与easygame服务器确认充值成功的时间,UNIXTIME时间戳 | | ||
73 | +| pvc | String | 通讯协议版本号,是保留参数,只有一个值1 | | ||
74 | +| item | String | 如果购买的不是游戏币,而是其他道具,如周卡,月卡,这里是相应的道具ID。道具显示名称、道具ID(月卡统一为month_card)由厂商告知我们技术。ID值应该由纯小写字母、数字、下划线组成,长度不能超过100字节。此功能目前只支持GOOGLE金流。**此值为可选,购买游戏币通知没有该项** | | ||
75 | +| sign | String | 请参考[签名规则](#签名规则) | | ||
76 | + | ||
77 | + | ||
78 | + | ||
79 | +6) 返回数据: | ||
80 | + | ||
81 | +| **code**(响应码) | **error**(结果描述) | **含义说明** | | ||
82 | +| ------------- | :------------------ | -------- | | ||
83 | +| 3 | SUCCESS | 充值成功 | | ||
84 | +| 3001 | OTHER_ERROR | 其它错误 | | ||
85 | +| 3002 | PARAMETER_NOT_LEGAL | 其它参数不合法 | | ||
86 | +| 3003 | SIGN_NOT_MATCH | 数据签名不匹配 | | ||
87 | +| 3004 | USER_NOT_EXIST | 无法找到用户 | | ||
88 | +| 3005 | FAILURE | 无法找到订单 | | ||
89 | +| 3006 | REPEAT_ORDER | 订单重复提交 | | ||
90 | +| 3007 | AMOUNT_DIFFER | 订单金额不匹配 | | ||
91 | +| 3008 | PARAMETER_NOT_LEGAL | 其它参数不合法 | | ||
92 | + | ||
93 | + | ||
94 | + | ||
95 | +7) 返回数据示例(JSON): | ||
96 | + | ||
97 | +```{“code”:3, “error”:”SUCCESS”}``` | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment