幫助文檔

AG娱乐PHP接入文檔

1.介紹

AG娱乐為CP商提供一套第三方SDK接入解決方案,整個接入過程,不改變任何SDK的功能、特性、參數等,對於最終玩家而言是完全透明無感知的。 目的是讓CP商能有更多時間更專注於遊戲本身的品質,無需花費大量時間在對接第三方渠道上。

2.接入流程

gamekey和security_key獲取

由AG娱乐提供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.技術支持

點擊訪問:AG娱乐開發者社區

QQ:940111913
Email:support@haojieru.com