快發助手PHP接入文檔
快發助手為CP商提供一套第三方SDK接入解決方案,整個接入過程,不改變任何SDK的功能、特性、參數等,對于最終玩家而言是完全透明無感知的。 目的是讓CP商能有更多時間更專注于游戲本身的品質,無需花費大量時間在對接第三方渠道上。
gamekey和security_key獲取
由快發助手提供gamekey(游戲標示)和security_key(加密密鑰)
http://z.kuaifazs.com/foreign/oauth/verification2.php(http協議使用POST方式)
參數 |
解釋 |
token |
待驗證token |
openid | 用戶唯一標識(客戶端登陸成功后獲取) |
timestamp | 當前時間戳 |
gamekey | 游戲gamekey |
_sign | 簽名 |
1. 對所有參數按照參數(除了_sign外)名字母升序排列,sign參數不參與簽名。
2. 對參數的每一個值進行urlencode處理。
3. 排序完成之后,再把所有參數和值以“&”字符連接起來。
4. 做一次md5處理,得到的加密串1;
5. 在加密串1末尾追加security_key,做一次md5加密,得到的字符串就是簽名sign的值。
成功后返回json格式數據 如: {"result":"0","result_desc":"ok"}
參數 | 解釋 |
result | 是否成功0 成功 其他失敗 |
result_desc | 具體原因 |
https://github.com/KuaiFaMaster/Server_Demo
支付完成后, SDKKit支付通知服務會把支付結果(POST方式)通知給開發者配置的支付通知地址(回調地址);開發商服務器接收驗證參數后, 給用戶充值或發放道具;
傳輸過程統一使用UTF-8編碼
參數 | 解釋 |
serial_number | 整合平臺訂單號 |
cp | test或者hjr(母包充值返回test,以區分模擬充值的訂單) |
timestamp | 訂單創建時間 |
result | 充值是否成功0 成功1 失敗 |
extend | 訂單擴展參數,開發商自行定義,原樣返回給開發商 |
server |
游戲服務器號 |
product_id | 購買商品ID |
product_num | 購買商品數量 |
game_orderno | 游戲訂單號 |
amount | 充值金額,保留小數點后2位 |
sign | 簽名 |
1. 對所有參數(除sign之外)按照參數名字母升序排列,sign參數不參與簽名。
2. 對參數的每一個值進行urlencode處理。
3. 排序完成之后,再把所有參數和值以“&”字符連接起來。
4. 做一次md5處理,得到的加密串1;
5. 在加密串1末尾追加security_key,做一次md5加密,得到的字符串就是簽名sign的值
6. 得到的簽名值與參數中的sign對比,相同則驗證成功
/** * * 支付驗證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);//這里就是簽名
游戲服務器在確認充值成功后返回json格式數據 如: {"result":"0","result_desc":"ok"},若充值失敗請將result設置其他的值,result_desc請寫明錯誤原因。
參數 | 解釋 |
result | 充值是否成功0 成功1 失敗 |
result_desc | 具體原因 |
https://github.com/KuaiFaMaster/Server_Demo
http://z.kuaifazs.com/foreign/recharge/result.php (http協議使用POST方式)
參數 |
解釋 |
order_no |
游戲訂單號(非必填,與trade_no任傳一個) |
trade_no | 快發訂單號(非必填,與order_no任傳一個) |
timestamp | 當前時間戳 |
gamekey | 游戲gamekey |
_sign | 簽名 |
1. 對所有參數按照參數(除了_sign外)名字母升序排列,sign參數不參與簽名。
2. 對參數的每一個值進行urlencode處理。
3. 排序完成之后,再把所有參數和值以“&”字符連接起來。
4. 做一次md5處理,得到的加密串1;
5. 在加密串1末尾追加security_key,做一次md5加密,得到的字符串就是簽名sign的值。
成功后返回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 |
result code | 解釋 |
10001 | Miss Params |
10002 | Error Game Key |
10004 | Sign Error |
20001 | 訂單不存在 |
20002 | 訂單不是該游戲的 |
點擊訪問:快發助手開發者社區
QQ:940111913
Email:support@haojieru.com