360SDK手游直充

2018-10-10 13:57 更新

1.介紹和流程


1.1介紹

下載360安全支付apk:https://pay.#/index/mobile   打開(kāi)apk點(diǎn)擊首頁(yè)的手游充值

2.pic.jpg1.pic.jpg

1.2交易流程

2322.png




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


2.1重要名詞說(shuō)明

qid:360平臺(tái)用戶ID的簡(jiǎn)稱(chēng);

app_key:游戲編號(hào);

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

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

2.2功能說(shuō)明

2.3請(qǐng)求地址

2.4接口方式

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


2.5請(qǐng)求參數(shù)字典

參數(shù)參數(shù)名稱(chēng)類(lèi)型(最大長(zhǎng)度)參數(shù)說(shuō)明是否可空描述
qid360用戶IDnumber 

不可空

 
app_key游戲編號(hào)string 不可空 
timestamp時(shí)間戳numberUNIX時(shí)間戳不可空 
sign簽名string 不可空 

簽名:

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

請(qǐng)求樣例:

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)答為一個(gè)JSON報(bào)文。報(bào)文的編碼格式為UTF-8。

參數(shù)

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

單筆格式為:

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

多筆用“|”分割
不可空

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

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

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

角色名稱(chēng)url編碼后的玩家在游戲中的角色名稱(chēng);

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

在線時(shí)長(zhǎng):單位秒;

最后登錄時(shí)間UnixTimeStamp;

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

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

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

3.手游充值

3.1功能說(shuō)明

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

3.2請(qǐng)求地址

3.3接口方式

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

3.4請(qǐng)求參數(shù)字典

參數(shù)

參數(shù)名稱(chēng)
類(lèi)型(最大長(zhǎng)度)參數(shù)說(shuō)明是否可空描述
qid
360用戶IDnumber 

不可空

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

簽名:

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

請(qǐng)求樣例:

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)答為一個(gè)JSON報(bào)文。報(bào)文的編碼格式為UTF-8。

參數(shù)

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

record,game_amount

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

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


4.1描述

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

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

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

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

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)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)