游戏发行接入
首页>接入指南> 游戏发行接入

当前版本: 1.0
一 接入规则
1.1 谁来阅读此文档
1.2 注意事项
1.3 接入描述
1.4 特别注意

2 接口地址
2.1 登录流程
2.1.1 登录接口
2.1.2 前端初始化
2.1.3 选择服务器接口
2.1.4 角色创建接口
2.2 充值流程
2.2.1 充值唤起
2.2.2 充值异步回调通知
2.3 功能接口
2.3.1 用户分享接口
2.3.2 用户收藏接口

3 附录
3.1 平台参数列表说明

1 接入规则

1.1 谁来阅读此文档

游戏平台和游戏方技术人员。

1.2 注意事项

接口参数大小写敏感。

request和response的编码格式为UTF-8。

1.3 接入描述

游戏对接时游戏方提供商家名称、游戏名称、游戏登录地址、支付异步通知地址,wancms向游戏方提供app_id、login_key、pay_key(应用加密字段,请妥善保管)及游戏测试地址。用户访问游戏时wancms会采用iframe方式访问游戏登录地址并带上参数open_id(用户唯一识别ID)及sign(用户登录口令)及channel(渠道标识,在sdk初始化时用到可为空),游戏请求各个接口时需取得用户授权参数open_id及sign。请求校验参数sign为请求参数与值加login_key(md5("open_id=xxx&key={login_key}"))的MD5加密。

1.4 特别注意

1、所有接口接入之前必须先提供(商家名称、游戏名称、游戏登录地址、充值回调地址),wancms提供该游戏的密钥对(app_id、login_key、pay_key)和游戏测试地址。

2、游戏开发对接需在wancms提供的测试地址中进行才能唤起支付。

3、每款游戏对应一组密钥对(app_id、login_key、pay_key)。

4、wancms用户登录游戏后,会分配给游戏该用户的open_id及sign。其中,同一个用户对同一款游戏来说,open_id是固定不变的,游戏方可以将open_id与自身的用户系统user_id绑定。因此,可对同一个wancms用户做游戏存档等操作。

5、请妥善保存游戏的密钥对。login_key、pay_key不可直接暴露在前端。如发现泄露,请尽快联系wancms进行更换。

6、收藏功能用于实现wancms的包含但不限于微端下载、发送桌面、关注公众号,wancms会根据当前不同客户端实现不同功能。

2 接口地址

2.1 登录流程

2.1.1 登录接口(必接)

1、请求地址:http://gameurl/ (游戏入口地址,游戏方提供)
2、请求方式:get 由wancms平台iframe跳转至游戏地址
3、请求参数:

 
  1. open_id:用户open_id,
  2. sign:验证sgin,
  3. channel:用户渠道,
  4. is_favorite:是否收藏(0:未收藏,1:已收藏),收藏功能用于实现包括但不限于:微端下载、发送桌面、关注公众号等。,
2.1.2 前端初始化(必接)

游戏加载时加载wancmsjs文件,并做初始化 <script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript>"</script>
1、请求参数:

 
  1. app_id:应用id,
  2. open_id:用户open_id,登录授权时传入,
  3. channel:平台渠道标识,登录授权时传入

2、请求参数:

 
  1. var initdata = {
  2. app_id:"XXX",
  3. open_id:"XXX",
  4. channel: "XXX"
  5. };

3、请求方式:在游戏加载时调用 初始化sdk:wancmssdk.init(initdata);

4、返回值 无

2.1.3 选择服务器接口(必接)

1、请求参数:

 
  1. app_id:游戏id,
  2. open_id:用户open_id,
  3. server_id:服务器id,
  4. server_name:服务器名称

2、请求方式:

 
  1. var serverData = {
  2. app_id:"xxx",
  3. open_id:"123456789abc",
  4. server_id:"123456789abc",
  5. server_name: "123456789abc"
  6. };

调用查询接口方法: wancmssdk. selectServer (serverData)

3、请求试例

 
  1. <head>
  2. <script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>
  3. <script>
  4. wancmssdk.init();
  5. var serverData = {
  6. "app_id":'xx',
  7. "open_id":'11111111',
  8. "server_id":'2222222',
  9. "server_name":'aaaaaaa',
  10. };
  11. wancmssdk.selectServer(serverData);
  12. </script>
  13. </head>

4、返回值 无

2.1.4 角色创建接口(必接)

1、请求参数:

 
  1. app_id:游戏id,
  2. open_id:用户open_id,
  3. server_id:服务器id,
  4. server_name:服务器名称
  5. role_id:角色id
  6. role_name:角色昵称
  7. role_level:角色等级

2、请求方式:

 
  1. var roleData = {
  2. app_id:"xxx",
  3. open_id:"123456789abc",
  4. server_id:"123456789abc",
  5. server_name: "123456789abc"
  6. role_id: "123456789abc"
  7. role_name: "123456789abc"
  8. role_level: "xxx"
  9. };

调用查询接口方法: wancmssdk. createRole (roleData)

3、请求试例

 
  1. <head>
  2. <script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>
  3. <script>
  4. wancmssdk.init();
  5. var roleData = {
  6. "app_id":'xx',
  7. "open_id":'11111111',
  8. "server_id":'2222222',
  9. "server_name":'aaaaaaa',
  10. "role_id":'aaaaaaa',
  11. "role_name":'aaaaaaa',
  12. "role_level":'xx',
  13. };
  14. wancmssdk.createRole(roleData);
  15. </script>
  16. </head>

4、返回值 无

2.2 充值流程

2.2.1 充值唤起(必接)

1、请求参数:

 
  1. app_id:游戏id,
  2. open_id:用户open_id,
  3. bill_no:游戏充值订单号(游戏方可唯一识别),
  4. goods_name:商品名称,
  5. ext:额外参数,充值后原样返回,
  6. total_fee:充值元宝数,1元RMB = 10元宝 .(大于1,且不包含小数),
  7. sign:请求校验参数(签名需要在后端生成后再返回前端,pay_key不直接暴露在前端)md5(bill_no=XXX&ext=XXX&goods_name=XXX&open_id=XXX&secret_key={pay_key}&total_fee=XXX)

2、请求方式

 
  1. 引用js文件:<script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>,
  2. 初始化sdk:wancmssdk.init(),
  3. 拼装参数
  4. var paydata = {
  5. "app_id":'xxx',
  6. "open_id":'111111111111111',
  7. "bill_no":'33333333333',
  8. "goods_name":'游戏大礼包',
  9. "total_fee":1,
  10. "ext":'abc',
  11. "sign":'aaaaaaaabc',
  12. },
  13. 调用支付方法:wancmssdk.pay( paydata, function (code, msg) { alert("支付 code="+code+",msg="+msg);

示例代码

 
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>
  5. <script>
  6. wancmssdk.init();
  7. var paydata = {
  8. "app_id":'xxx',
  9. "open_id":'111111111111111',
  10. "bill_no":'33333333333',
  11. "goods_name":'游戏大礼包',
  12. "total_fee":1,
  13. "ext":'abc',
  14. "sign":'aaaaaaaabc',
  15. };
  16. wancmssdk.pay( paydata, function (code, msg) {
  17. alert("支付 code="+code+",msg="+msg);
  18. });
  19. </script>
  20. </head>
  21. <body>
  22. </body>
  23. </html>

3、返回值

code msg
5 关闭支付
6 支付成功
7 支付失败
8 取消支付
9 支付参数错误
10 支付参数数量错误

 

2.2.2 充值异步回调通知(必接)

1、请求地址:由游戏方提供通知地址
2、请求方:充值成功后由wancms服务端请求至游戏方服务器
3、请求方式:异步get请求
4、请求参数:

 
  1. app_id:游戏App_id,
  2. open_id:用户open_id,
  3. bill_no:充值订单号,游戏请求充值时传递给wancms,
  4. orderid:平台订单号,
  5. ext:额外参数,游戏请求时传递给wancms,
  6. price:充值RMB(带两位小数点),
  7. status:充值状态(success:充值成功,fail:充值失败),
  8. sign:请求校验参数md5(app_id=XXX&bill_no=XXX&ext=XXX&open_id=XXX&price=XXX&secret_key={pay_key}&status=XXX)

5、返回值:

 
  1. success:异步通知成功,且游戏已进行处理,
  2. fail:异步通知失败

2.3 功能接口

2.3.1 用户分享接口

1、请求参数:

 
  1. open_id:用户open_id,

2、请求方式

 
  1. 引用js文件:<script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>,
  2. 初始化sdk:wancmssdk.init(),
  3. 拼装参数
  4. var shareData = {
  5. "open_id":'1234567890',
  6. };
  7. 调用查询接口方法:wancmssdk.share( paydata, shareData (code, msg) { alert("查询 code="+code+",msg="+msg);

示例代码

 
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>
  5. <script>
  6. wancmssdk.init();
  7. var shareData = {
  8. "open_id":'1234567890',
  9. };
  10. wancmssdk.share( shareData, function (code, msg) {
  11. alert("查询 code="+code+",msg="+msg);
  12. });
  13. </script>
  14. </head>
  15. <body>
  16. </body>
  17. </html>

3、返回值示例

 
  1. {
  2. code:错误编码,
  3. msg:提示信息,
  4. data: {
  5. }// 目前为空 只根据状态码为101即可判断分享成功
  6. }
2.3.2 用户收藏接口

1、请求参数:

 
  1. open_id:用户open_id,

2、请求方式

 
  1. 引用js文件:<script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>,
  2. 初始化sdk:wancmssdk.init(),
  3. 拼装参数
  4. var favoriteData = {
  5. "open_id":'111111111111111',
  6. };
  7. 调用查询接口方法:wancmssdk.favorite( favoriteData, shareData (code, msg) { alert("查询 code="+code+",msg="+msg);

示例代码

 
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <script src="http://h5.wancms.com/themes/main_template/Public/h5style/js/h5sdk.js" type="text/javascript"></script>
  5. <script>
  6. wancmssdk.init();
  7. var favoriteData = {
  8. "open_id":'111111111111111',
  9. };
  10. wancmssdk.favorite( favoriteData, function (code, msg) {
  11. alert("查询 code="+code+",msg="+msg);
  12. });
  13. </script>
  14. </head>
  15. <body>
  16. </body>
  17. </html>

3 附录

3.1 平台参数列表说明
字段名类型说明
open_idString用户id
app_idString游戏id
signString签名, md5(param1=XXX& param2=XXX& paramN=XXX&secret_key=xxx)

游戏合作

QQ:

邮箱:

联系客服

官方客服

QQ: