360SDK手游直充

2018-10-10 13:57 更新

1.介紹和流程


1.1介紹

下載360安全支付apk:https://pay.#/index/mobile   打開apk點擊首頁的手游充值

2.pic.jpg1.pic.jpg

1.2交易流程

2322.png




2.根據(jù)qid查詢玩家信息


2.1重要名詞說明

qid:360平臺用戶ID的簡稱;

app_key:游戲編號;

server_id:游戲區(qū)服編號,由游戲自行編號,只支持可見ASCII字符,最大長度為8字節(jié);

server_name:游戲區(qū)服名稱;

2.2功能說明

2.3請求地址

2.4接口方式

表單請求(GET),JSON應(yīng)答,字符集為UTF-8


2.5請求參數(shù)字典

參數(shù)參數(shù)名稱類型(最大長度)參數(shù)說明是否可空描述
qid360用戶IDnumber 

不可空

 
app_key游戲編號string 不可空 
timestamp時間戳numberUNIX時間戳不可空 
sign簽名string 不可空 

簽名:

$sign = md5($app_key#$qid#$timestamp)

請求樣例:

http://game_url/?qid=1010100013&app_key=1234567890abcdefghijklmnopqrstuv&timestamp= 1409049619&sign=6414bcc9bd30773808e761d377f67fbd

簽名樣例:

假設(shè)$app_secret= a3e3330c5a6c97d9d4a9e11b2b92f327

md5(1234567890abcdefghijklmnopqrstuv#1010100013#1409049619#a3e3330c5a6c97d9d4a9e11b2b92f327)


2.6應(yīng)答參數(shù)字典

應(yīng)答結(jié)果:應(yīng)答為一個JSON報文。報文的編碼格式為UTF-8。

參數(shù)

參數(shù)名稱類型(最大長度)參數(shù)說明是否可空描述
result_code查詢應(yīng)答碼string 不可空查詢應(yīng)答碼,0000為成功,其他為失敗
result_msg查詢應(yīng)答信息string 可空查詢應(yīng)答信息
record,timestamp返回時間戳number 不可空UnixTimeStamp
record,user_info玩家信息string

單筆格式為:

區(qū)服編號^區(qū)服名稱(url編碼)^角色名稱(url編碼)^性別^最后登陸時間^在線時長^幫派或陣容(url編碼)^職業(yè)^角色等級^角色狀態(tài)^經(jīng)驗值^角色創(chuàng)建時間

多筆用“|”分割
不可空

所有中文原始編碼為UTF-8

區(qū)服編號游戲自己的編號,唯一確定一個區(qū)服,將在游戲充值的接口中原樣返回給游戲,用來定位區(qū)服;

區(qū)服名稱url編碼,會展示給用戶確認(rèn)

角色名稱url編碼后的玩家在游戲中的角色名稱;

性別m:男,f:女,u:未知或其他;

在線時長:單位秒;

最后登錄時間UnixTimeStamp;

角色狀態(tài)是否禁用 0/1;

角色創(chuàng)建時間UnixTimeStamp;

除區(qū)服編號、區(qū)服名稱和角色名稱為必須返回的參數(shù)外,其他參數(shù)為可空參數(shù)

3.手游充值

3.1功能說明

玩家在直充平臺扣款后,直充平臺通知游戲給用戶加游戲幣。

3.2請求地址

3.3接口方式

表單請求(GET/POST),JSON應(yīng)答,字符集為UTF-8

3.4請求參數(shù)字典

參數(shù)

參數(shù)名稱
類型(最大長度)參數(shù)說明是否可空描述
qid
360用戶IDnumber 

不可空

如:105060140
app_key游戲編號string 不可空
 
server_id區(qū)服編號string游戲在查詢接口中返回的區(qū)服編號不可空 
user_role
角色名稱
string
游戲在查詢接口中返回的區(qū)服編號可空
 
order_id
訂單號
string
360直充平臺訂單號
不可空
最大長度64位的ASCII字符串
amount
充值金額
number
充值金額,單位分
不可空
如20
sign交易簽名string簽名
不可空sign=b309bff0edac2aa6e3ea7a2e9af7c940

簽名:

$sign = md5($amount#$app_key#$order_id#$qid#$server_id)

請求樣例:

http://game_url/?qid=1010100013&app_key=1234567890abcdefghijklmnopqrstuv&server_id= S1&order_id=ZC14082600001&amount=3000&sign=6414bcc9bd30773808e761d377f67fbd

簽名樣例:

假設(shè)$app_secret= a3e3330c5a6c97d9d4a9e11b2b92f327

md5(3000#1234567890abcdefghijklmnopqrstuv#ZC14082600001#1010100013#S1#a3e3330c5a6c97d9d4a9e11b2b92f327)

3.5應(yīng)答參數(shù)

應(yīng)答結(jié)果:應(yīng)答為一個JSON報文。報文的編碼格式為UTF-8。

參數(shù)

參數(shù)名稱
類型(最大長度)參數(shù)說明是否可空描述
result_code
應(yīng)答碼
string
 不可空
應(yīng)答碼,ok為成功,如果回應(yīng)其他值或者不回應(yīng),則被認(rèn)為通知失敗,360 會嘗試多次通知。這個機(jī)制用來避免掉單。游戲應(yīng)做好一條訂單收到多次通知的準(zhǔn)備,防止多次加錢。同時,需要特別注意的是,回應(yīng)的 ok 表示游戲已經(jīng)正常接到消息,無需繼續(xù)發(fā)送通知。它不表示訂單成功與否,或者應(yīng)用處理成功與否。對于重復(fù)的通知,游戲如果發(fā)現(xiàn)訂單已經(jīng)成功處理完畢,無需繼續(xù)處理,也要返回 ok。否則,360 會認(rèn)為未成功通知,會繼續(xù)發(fā)送通知
result_msg應(yīng)答信息string 可空應(yīng)答信息
record,timestamp返回時間戳number 不可空UnixTimeStamp

record,game_amount

充值的游戲幣個數(shù)number 不可空 

4.數(shù)字簽名算法


4.1描述

必選參數(shù)必須有值,而且參數(shù)值必須不為空,不為0。字符集為 utf-8。

所有不為空,不為 0 的參數(shù)都需要加入簽名,參數(shù)必須為做 urlencode 之前的原始數(shù)值.  如中文金幣,作為參數(shù)傳輸時編碼為%E9%87%91%E5%B8%81,做簽名時則要用其原始中文值金幣(注意字符集必須是UTF-8)。

對所有不為空,不為0的參數(shù)按照參數(shù)名字母升序排列(如 php 的 ksort 函數(shù))

使用符號#拼裝排序后的參數(shù)值,最后用#連接應(yīng)用的 app_secret,整體用 md5 計算簽名,就是 sign 參數(shù)的值。注意有些語言的 md5 計算結(jié)果里字母為大寫,需要轉(zhuǎn)化為小寫。

4.2簽名示例代碼

4.3PHP

function sign($params,$key)
{/*{{{*/
ksort($params);
reset($params);
$sign = '';
foreach ($params as $index => $value)
{
if ('sign' == $index || empty($value))
{
continue;
}
$sign.= $value.'#';
}
$sign .= $key;
$sign_value = md5($sign);
 
return $sign_value;
}/*}}}*/


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號