帮助文档

快发助手PHP接入文档

1.介绍

快发助手为CP商提供一套第三方SDK接入解决方案,整个接入过程,不改变任何SDK的功能、特性、参数等,对于最终玩家而言是完全透明无感知的。 目的是让CP商能有更多时间更专注于游戏本身的品质,无需花费大量时间在对接第三方渠道上。

2.接入流程

gamekey和security_key获取

由快发助手提供gamekey(游戏标示)和security_key(加密密钥)

3.登录验证

3.1 请求地址

http://z.kuaifazs.com/foreign/oauth/verification2.php(http协议使用POST方式)

3.2 传递参数

参数
解释
token
待验证token
openid 用户唯一标识(客户端登陆成功后获取)
timestamp 当前时间戳
gamekey 游戏gamekey
_sign 签名

3.3 签名生成

1. 对所有参数按照参数(除了_sign外)名字母升序排列,sign参数不参与签名。
2. 对参数的每一个值进行urlencode处理。
3. 排序完成之后,再把所有参数和值以“&”字符连接起来。
4. 做一次md5处理,得到的加密串1;
5. 在加密串1末尾追加security_key,做一次md5加密,得到的字符串就是签名sign的值。

3.4 服务器返回

成功后返回json格式数据 如: {"result":"0","result_desc":"ok"}

参数 解释
result 是否成功0 成功 其他失败
result_desc 具体原因

3.5 服务端demo

https://github.com/KuaiFaMaster/Server_Demo

4.支付通知

4.1 通知游戏服务器

支付完成后, SDKKit支付通知服务会把支付结果(POST方式)通知给开发者配置的支付通知地址(回调地址);开发商服务器接收验证参数后, 给用户充值或发放道具;

4.2 编码方式

传输过程统一使用UTF-8编码

4.3 参数说明

参数 解释
serial_number 整合平台订单号
cp test或者hjr(母包充值返回test,以区分模拟充值的订单)
timestamp 订单创建时间
result 充值是否成功0 成功1 失败
extend 订单扩展参数,开发商自行定义,原样返回给开发商
server 游戏服务器号
product_id 购买商品ID
product_num 购买商品数量
game_orderno 游戏订单号
amount 充值金额,保留小数点后2位
sign 签名

4.4 验证签名

1. 对所有参数(除sign之外)按照参数名字母升序排列,sign参数不参与签名。
2. 对参数的每一个值进行urlencode处理。
3. 排序完成之后,再把所有参数和值以“&”字符连接起来。
4. 做一次md5处理,得到的加密串1;
5. 在加密串1末尾追加security_key,做一次md5加密,得到的字符串就是签名sign的值
6. 得到的签名值与参数中的sign对比,相同则验证成功

4.5 生成签名(以php为例)

/**
* 
* 支付验证demo
* 
**/
$params = $_POST;
unset($params['sign']);
ksort($params);//对key进行排序后再获取

$secret_key = 'abcdefg';//sdkkit分配的secret_key

$data = [];
foreach($params as $key => $val)
{
    $data[] = $key.'='.urlencode($val);
}
$sign_str = implode('&',$data);//amount=1.00&cp=91&extend=%E6%89%A9%E5%B1%95&game_orderno=game123456&product_id=1
&product_num=1&serial_number=123456&server=0×tamp=1414554348

$sign = md5(md5($sign_str).$secret_key);//这里就是签名

4.6 游戏服务器返回

游戏服务器在确认充值成功后返回json格式数据 如: {"result":"0","result_desc":"ok"},若充值失败请将result设置其他的值,result_desc请写明错误原因。

参数 解释
result 充值是否成功0 成功1 失败
result_desc 具体原因

4.7 服务端demo

https://github.com/KuaiFaMaster/Server_Demo

5.订单查询

5.1 请求地址

http://z.kuaifazs.com/foreign/recharge/result.php (http协议使用POST方式)

5.2 传递参数

参数
解释
order_no
游戏订单号(非必填,与trade_no任传一个)
trade_no 快发订单号(非必填,与order_no任传一个)
timestamp 当前时间戳
gamekey 游戏gamekey
_sign 签名

5.3 签名生成

1. 对所有参数按照参数(除了_sign外)名字母升序排列,sign参数不参与签名。
2. 对参数的每一个值进行urlencode处理。
3. 排序完成之后,再把所有参数和值以“&”字符连接起来。
4. 做一次md5处理,得到的加密串1;
5. 在加密串1末尾追加security_key,做一次md5加密,得到的字符串就是签名sign的值。

5.4 服务器返回

成功后返回json格式数据 如:

{
    "result": "0",
    "result_desc": "ok",
    "data": {
        "serial_number": "1604186786552121",
        "amount": 6,
        "timestamp": "1477821212",
        "extend": "",
        "server": "2",
        "cp": "hjr",
        "product_id": "2",
        "product_num": 1,
        "game_orderno": "655121214",
        "order_status": 0
    }
}

参数 解释
result 是否成功0 成功 其他失败
result_desc 具体原因
data order_status:0充值成功,1为创建,2、3为失败,4为通知游戏失败
其他参数说明,请参考4.3

5.5 订单查询接口——错误码参照

result code 解释
10001 Miss Params
10002 Error Game Key
10004 Sign Error
20001 订单不存在
20002 订单不是该游戏的

6.技术支持

点击访问:快发助手开发者社区

QQ:940111913
Email:support@haojieru.com