本發(fā)明涉及移動(dòng)游戲支付技術(shù)領(lǐng)域,尤其是涉及一種模板化充值方法和裝置。
背景技術(shù):
在移動(dòng)游戲領(lǐng)域,特別是手機(jī)網(wǎng)絡(luò)游戲中存在允許玩家購買虛擬商品的需求(例如鉆石,元寶),一般是通過接入第三方在線支付進(jìn)行交易或充值。在不同的國家和地區(qū),流行的在線支付方式不同,例如泰國流行mol和easy2pay,美國流行paypal,俄羅斯流行payssion和yandex。由于不同的在線支付渠道的充值流程具有不同充值邏輯,需要移動(dòng)游戲的服務(wù)端支持多種不同的充值流程,導(dǎo)致代碼復(fù)雜、開發(fā)和維護(hù)的成本高。
針對(duì)上述現(xiàn)有技術(shù)中移動(dòng)游戲客戶端支持多種在線支付方式導(dǎo)致開發(fā)和維護(hù)成本高的問題,目前尚未提出有效解決方案。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種模板化充值方法和裝置,規(guī)范了充值的接入流程,也簡(jiǎn)化了充值的代碼。
第一方面,本發(fā)明實(shí)施例提供了一種模板化充值方法,應(yīng)用于服務(wù)端,服務(wù)端預(yù)先定義有與充值方式對(duì)應(yīng)的充值方式類,充值方式類包括模板化充值函數(shù);該方法包括:接收客戶端提交的充值消息;其中,充值消息包括充值方式標(biāo)識(shí);調(diào)取與充值方式標(biāo)識(shí)對(duì)應(yīng)的充值方式類,為調(diào)取的充值方式類創(chuàng)建對(duì)象;根據(jù)充值消息創(chuàng)建訂單并將訂單發(fā)送給客戶端;通過對(duì)象的模板化充值函數(shù)生成充值鏈接并將充值鏈接發(fā)送給客戶端,以使客戶端提交訂單至充值鏈接對(duì)應(yīng)的服務(wù)器;當(dāng)服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功;如果是,為客戶端添加訂單對(duì)應(yīng)的虛擬充值數(shù)額。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中,為調(diào)取的充值方式類創(chuàng)建對(duì)象包括:獲取充值方式類的類名;根據(jù)類名為充值方式類創(chuàng)建對(duì)象。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中,通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功包括:通過對(duì)象的模板化充值函數(shù)獲取回調(diào)接口的通用參數(shù);根據(jù)通用參數(shù)中的訂單狀態(tài)參數(shù)判斷訂單是否交易成功。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,還包括:當(dāng)服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),通過對(duì)象的模板化充值函數(shù)驗(yàn)證調(diào)用請(qǐng)求是否合法;如果合法,執(zhí)行通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功的步驟。
結(jié)合第一方面的第三種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第四種可能的實(shí)施方式,還包括:根據(jù)充值消息計(jì)算簽名;通過對(duì)象的模板化充值函數(shù)驗(yàn)證調(diào)用請(qǐng)求是否合法包括:通過對(duì)象的模板化充值函數(shù)比較簽名與根據(jù)調(diào)用請(qǐng)求計(jì)算的簽名是否一致,驗(yàn)證調(diào)用請(qǐng)求是否合法。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第五種可能的實(shí)施方式,還包括:當(dāng)判斷訂單交易不成功時(shí),發(fā)送充值失敗消息至客戶端。
第二方面,本發(fā)明實(shí)施例還提供一種模板化充值裝置,應(yīng)用于服務(wù)端,服務(wù)端預(yù)先定義有與充值方式對(duì)應(yīng)的充值方式類,充值方式類包括模板化充值函數(shù);該裝置包括:接收模塊,用于接收客戶端提交的充值消息;其中,充值消息包括充值方式標(biāo)識(shí);對(duì)象創(chuàng)建模塊,用于調(diào)取與充值方式標(biāo)識(shí)對(duì)應(yīng)的充值方式類,為調(diào)取的充值方式類創(chuàng)建對(duì)象;訂單發(fā)送模塊,用于根據(jù)充值消息創(chuàng)建訂單并將訂單發(fā)送給客戶端;充值鏈接發(fā)送模塊,用于通過對(duì)象的模板化充值函數(shù)生成充值鏈接并將充值鏈接發(fā)送給客戶端,以使客戶端提交訂單至充值鏈接對(duì)應(yīng)的服務(wù)器;交易成功判斷模塊,用于當(dāng)服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功;充值模塊,用于如果是,為客戶端添加訂單對(duì)應(yīng)的虛擬充值數(shù)額。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中,對(duì)象創(chuàng)建模塊還用于:獲取充值方式類的類名;根據(jù)類名為充值方式類創(chuàng)建對(duì)象。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第二種可能的實(shí)施方式,其中,交易成功判斷模塊還用于:通過對(duì)象的模板化充值函數(shù)獲取回調(diào)接口的通用參數(shù);根據(jù)通用參數(shù)中的訂單狀態(tài)參數(shù)判斷訂單是否交易成功。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第三種可能的實(shí)施方式,其中,還包括:合法性驗(yàn)證模塊,用于當(dāng)服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),通過對(duì)象的模板化充值函數(shù)驗(yàn)證調(diào)用請(qǐng)求是否合法;如果合法,執(zhí)行通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功的步驟。
本發(fā)明實(shí)施例帶來了以下有益效果:本發(fā)明實(shí)施例提供的模板化充值方法和裝置,為多種充值方式定義了對(duì)應(yīng)的充值方式類,該充值方式類包括模板化充值函數(shù),通過為充值方式類創(chuàng)建對(duì)象實(shí)現(xiàn)模板化流程中不同的充值的特殊的邏輯,從而達(dá)到對(duì)不同支付渠道的通用流程進(jìn)行模板化的目的,既規(guī)范了充值的接入流程,也簡(jiǎn)化了接入充值的代碼。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種模板化充值方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的模板化充值方法的步驟s12的流程示意圖;
圖3為本發(fā)明實(shí)施例提供的模板化充值方法的交互圖;
圖4為本發(fā)明實(shí)施例提供的一種模板化充值裝置的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例提供的另一種模板化充值裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例提供的另一種模板化充值裝置的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例提供的另一種模板化充值裝置的結(jié)構(gòu)示意圖;
圖8為本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
目前移動(dòng)游戲中存在玩家充值行為,一般是通過接入第三方在線支付進(jìn)行交易或充值。由于不同的在線支付渠道的充值流程具有不同充值邏輯,需要移動(dòng)游戲的服務(wù)端支持多種不同的充值流程,導(dǎo)致代碼復(fù)雜、開發(fā)和維護(hù)的成本高。同時(shí),不同的支付方式又存在共同點(diǎn),例如easy2pay和paypal,都是由游戲生成渠道方的網(wǎng)址,然后把用戶引導(dǎo)到渠道方的充值界面,玩家完成支付動(dòng)作后,服務(wù)端接收渠道方的通知后給玩家發(fā)送虛擬貨幣?;诖耍景l(fā)明實(shí)施例提供的一種模板化充值方法和裝置,可以規(guī)范充值接入流程,簡(jiǎn)化充值代碼。為便于對(duì)本實(shí)施例進(jìn)行理解,先將本發(fā)明中服務(wù)端進(jìn)行定義的類、變量和函數(shù)進(jìn)行說明:
1、類和變量說明:
(1)類pay_center:執(zhí)行充值操作的入口類。
(2)類pay_base:各個(gè)充值方式類的父類,用于規(guī)范不同充值方式要實(shí)現(xiàn)的差異化邏輯。各個(gè)充值方式對(duì)應(yīng)的類如下:
easy2pay:類pay_easy2pay
mol:類pay_mol
paypal:類pay_payal
payssion:類pay_payssion
yandex:類pay_yandex
(3)對(duì)象pay_object是的某個(gè)充值方式類的對(duì)象,用于執(zhí)行充值流程中充值方式的差異化邏輯。該對(duì)象在類pay_center中定義。例如使用paypal充值,pay_object為pay_payal類的對(duì)象;使用payssion充值,則為pay_payssion類的對(duì)象。
(4)變量pay_type_key是充值方式的標(biāo)識(shí)符,各個(gè)充值方式對(duì)應(yīng)的標(biāo)識(shí)符如下:
easy2pay:easy2pay
mol:mol
paypal:payal
payssion:payssion
yandex:yandex
(5)變量request用于獲取url請(qǐng)求中的參數(shù),例如request->state表示獲取url請(qǐng)求中的state參數(shù)
2、類pay_base的函數(shù)如下:
(1)hook_after_create_order:實(shí)現(xiàn)創(chuàng)建訂單后的邏輯。
(2)success_pay:下單接口成功時(shí)調(diào)用。
(3)fail_pay:下單接口失敗時(shí)調(diào)用。
(4)get_server_callback_param:返回服務(wù)端回調(diào)接口的通用參數(shù),返回的參數(shù)如下:
billing_no:訂單號(hào)
channel_success:訂單是否成功
(5)hook_before_server_callback:判斷服務(wù)端回調(diào)是否合法,一般是驗(yàn)證簽名。
(6)server_callback_response:服務(wù)端回調(diào)接口返回?cái)?shù)據(jù)。
3、類pay_center的關(guān)鍵函數(shù)如下:
(1)init_pay:初始化函數(shù)。偽代碼如下:
class_name='pay_'.ucfirst(pay_type_key);//得到充值方式的類名
pay_object=newclass_name();//根據(jù)類名,創(chuàng)建pay_object對(duì)象
(2)pay:下單接口,實(shí)現(xiàn)創(chuàng)建訂單功能。偽代碼如下:
order=make_order();//創(chuàng)建訂單
if(order==false)pay_object->fail_pay();//下單失敗
pay_object->hook_after_create_order();//執(zhí)行創(chuàng)建訂單后的邏輯
pay_object->success_pay();//下單成功
(3)server_callback:服務(wù)端回調(diào)接口,實(shí)現(xiàn)校驗(yàn)請(qǐng)求合法性,判斷訂單是否成功和發(fā)送虛擬貨幣功能。偽代碼如下:
param=pay_object->get_server_callback_param();//獲取參數(shù)
if(param->channel_success==false)
pay_object->server_callback_response();//如果訂單是失敗的,則返回
result=pay_object->hook_before_server_callback();//判斷訂單是否合法
if(result==false)papy_object->server_callback_response();//訂單不合法,則返回
send_gold_to_user();//訂單成功則發(fā)送應(yīng)用內(nèi)商品給玩家。
papy_object->server_callback_response();//返回結(jié)果。
首先對(duì)本發(fā)明實(shí)施例所公開的一種模板化充值方法進(jìn)行詳細(xì)介紹。
實(shí)施例1
本發(fā)明實(shí)施例1提供了一種模板化充值方法,應(yīng)用于服務(wù)端,服務(wù)端預(yù)先定義有與充值方式對(duì)應(yīng)的充值方式類,充值方式類包括模板化充值函數(shù),參見圖1所示的模板化充值方法的流程示意圖,包括如下步驟:
步驟s11,接收客戶端提交的充值消息。
用戶有充值需求時(shí),可以在客戶端打開充值界面選擇一種充值方式(在本實(shí)施例中以選擇payssion為例進(jìn)行說明),并且選擇金額后點(diǎn)擊“提交訂單”按鈕,此時(shí)客戶端向服務(wù)端提交充值消息,該充值消息中包括充值方式標(biāo)識(shí),例如payssion的充值標(biāo)識(shí)為payssion。
步驟s12,調(diào)取與充值方式標(biāo)識(shí)對(duì)應(yīng)的充值方式類,為調(diào)取的充值方式類創(chuàng)建對(duì)象。
服務(wù)端可以獲取充值消息中包括的充值方式標(biāo)識(shí),并根據(jù)該充值方式標(biāo)識(shí)調(diào)取對(duì)應(yīng)的充值方式類,payssion對(duì)應(yīng)的充值方式類為pay_payssion類。為類pay_payssion創(chuàng)建對(duì)象pay_object,用于執(zhí)行充值流程中充值方式的差異化邏輯。該對(duì)象在類pay_center中定義,對(duì)于payssion充值,pay_object為pay_payssion類的對(duì)象。
步驟s13,根據(jù)充值消息創(chuàng)建訂單并將訂單發(fā)送給客戶端。
服務(wù)端根據(jù)充值消息生成訂單,該訂單中可以包括金額、充值數(shù)額或者虛擬商品的數(shù)量和種類等信息。服務(wù)端將訂單發(fā)送給客戶端,由客戶端提交給上述充值方式的服務(wù)器。
步驟s14,通過對(duì)象的模板化充值函數(shù)生成充值鏈接并將充值鏈接發(fā)送給客戶端,以使客戶端提交訂單至充值鏈接對(duì)應(yīng)的服務(wù)器。
服務(wù)端通過對(duì)象的模板化充值函數(shù)生成充值鏈接url,并將該鏈接發(fā)送至客戶端,在客戶端通過webview接入充值鏈接,進(jìn)入對(duì)應(yīng)的充值方式的支付界面,用戶在該支付界面完成支付操作。以充值方式是payssion為例,生成充值鏈接的過程如下:
pay_object->hook_after_create_order:
url=https://www.payssion.com/api/v1/payment/create?api_key=api_key&amount=amount¤cy=currency&order_id=order_id&api_sig=api_sig;
//拼接充值鏈接,等號(hào)右邊的參數(shù)名會(huì)替換為實(shí)際的參數(shù)值,各參數(shù)意義如下:api_key是payssion分配給游戲的標(biāo)識(shí)符,amount是金額,currency是幣種,order_id是訂單號(hào),api_sig是簽名。其中充值方式分配的api_key是唯一的。簽名api_sig的計(jì)算方式如下:
api_sig=md5(api_key+amount+currency+order_id+secret_key)
其中md5即message-digestalgorithm5(信息-摘要算法5),用于確保信息傳輸完整一致,是計(jì)算機(jī)廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法)。顯然也可以使用其他算法進(jìn)行保密簽名的生成。
步驟s15,當(dāng)服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功。如果是,執(zhí)行步驟s16;如果否,執(zhí)行步驟s17。
充值方式(渠道方)的服務(wù)器會(huì)調(diào)用游戲服務(wù)端的回調(diào)接口,回調(diào)接口執(zhí)行pay_center的init函數(shù)和server_callback函數(shù),具體如下:
(1)通過對(duì)象的模板化充值函數(shù)獲取回調(diào)接口的通用參數(shù)。
pay_object->get_server_callback_param:
returnarray(billing_no=>request->track_id,channel_success=>(request->state=='completed'));
其中,billing_no為訂單號(hào),channel_success為交易狀態(tài),當(dāng)request->state為'completed'時(shí)才表示交易成功,否則表示交易失敗。
(2)根據(jù)通用參數(shù)中的訂單狀態(tài)參數(shù)判斷訂單是否交易成功。
服務(wù)端根據(jù)上述通用參數(shù)中的channel_success判斷訂單是否交易成功,當(dāng)request->state為'completed'時(shí)表示交易成功。
步驟s16,為客戶端添加訂單對(duì)應(yīng)的虛擬充值數(shù)額。
在服務(wù)端確定渠道方交易成功后,為客戶端添加對(duì)應(yīng)的虛擬充值數(shù)額,該虛擬充值數(shù)額包括虛擬貨幣數(shù)額、虛擬商品數(shù)額等形式。
步驟s17,發(fā)送充值失敗消息至客戶端。
當(dāng)判斷訂單交易不成功時(shí),服務(wù)端發(fā)送充值失敗消息至客戶端,提醒用戶充值操作未成功。
本發(fā)明實(shí)施例提供的模板化充值方法,為多種充值方式定義了對(duì)應(yīng)的充值方式類,該充值方式類包括模板化充值函數(shù),通過為充值方式類創(chuàng)建對(duì)象實(shí)現(xiàn)模板化流程中不同的充值的特殊的邏輯,從而達(dá)到對(duì)不同支付渠道的通用流程進(jìn)行模板化的目的,既規(guī)范了充值的接入流程,也簡(jiǎn)化了接入充值的代碼。
作為步驟s12的一種實(shí)施方式,根據(jù)當(dāng)前應(yīng)用的版本信息確定是否存在配置數(shù)據(jù),請(qǐng)參閱圖2,步驟s12可以包括:
步驟s21,獲取充值方式類的類名。
步驟s22,根據(jù)類名為充值方式類創(chuàng)建對(duì)象。
上述步驟通過初始化函數(shù)實(shí)現(xiàn),具體如下:
init_pay:
class_name='pay_'.ucfirst(pay_type_key);//得到充值方式的類名。
pay_object=newclass_name();//根據(jù)類名,創(chuàng)建pay_object對(duì)象。
基于安全性考慮,在渠道方的服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),需要通過對(duì)象的模板化充值函數(shù)驗(yàn)證調(diào)用請(qǐng)求是否合法;如果合法,執(zhí)行通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功的步驟。
具體地,通過對(duì)象的模板化充值函數(shù)驗(yàn)證調(diào)用請(qǐng)求是否合法包括:
通過對(duì)象的模板化充值函數(shù)比較簽名與根據(jù)調(diào)用請(qǐng)求計(jì)算的簽名是否一致,驗(yàn)證調(diào)用請(qǐng)求是否合法。其中比較url請(qǐng)求中的參數(shù)計(jì)算得到的簽名與根據(jù)充值時(shí)計(jì)算的簽名,如果不一致,說明這個(gè)url請(qǐng)求是不可信任的,返回失敗。具體如下:
pay_object->hook_before_server_callback:
cal_sig=md5(request->api_key+request->amount+request->currency+request->order_id+request->state+secret_key);
if(cal_sig?。絩equest->notify_sig)returnfalse;
returntrue
參見圖3所示的模板化充值方法的交互圖,其中包括游戲客戶端、游戲服務(wù)器和充值服務(wù)器,包括如下步驟:
1.用戶提交充值金額和充值方式。
用戶在游戲客戶端的商場(chǎng)界面或者充值界面進(jìn)行虛擬商品或者貨幣的購買或者充值。
2.生成訂單和充值鏈接。
游戲服務(wù)器根據(jù)客戶端發(fā)送的充值消息創(chuàng)建訂單并拼接充值鏈接。
3.發(fā)送訂單和充值鏈接。
游戲服務(wù)器向客戶端發(fā)送訂單和充值鏈接。
4.向充值服務(wù)器提交訂單。
客戶端通過充值鏈接顯示充值方式的充值界面,完成充值操作。
5.調(diào)用游戲服務(wù)器的回調(diào)接口。
充值服務(wù)器調(diào)用游戲服務(wù)器的回調(diào)接口,回調(diào)接口執(zhí)行pay_center的init函數(shù)和server_callback函數(shù),如果訂單是成功的則會(huì)發(fā)送應(yīng)用內(nèi)商品給用戶的客戶端。
6.發(fā)送虛擬商品或貨幣。
本發(fā)明實(shí)施例提供的模板化充值方法,為多種充值方式定義了對(duì)應(yīng)的充值方式類,該充值方式類包括模板化充值函數(shù),通過為充值方式類創(chuàng)建對(duì)象實(shí)現(xiàn)模板化流程中不同的充值的特殊的邏輯,從而達(dá)到對(duì)不同支付渠道的通用流程進(jìn)行模板化的目的,同時(shí)對(duì)充值服務(wù)器回調(diào)進(jìn)行合法驗(yàn)證,提高了充值的安全性。
實(shí)施例2
本發(fā)明實(shí)施例2提供了一種模板化充值裝置,應(yīng)用于服務(wù)端,服務(wù)端預(yù)先定義有與充值方式對(duì)應(yīng)的充值方式類,充值方式類包括模板化充值函數(shù),參見圖4所示的結(jié)構(gòu)示意圖,包括以下模塊:
接收模塊410,用于接收客戶端提交的充值消息;其中,充值消息包括充值方式標(biāo)識(shí);
對(duì)象創(chuàng)建模塊420,用于調(diào)取與充值方式標(biāo)識(shí)對(duì)應(yīng)的充值方式類,為調(diào)取的充值方式類創(chuàng)建對(duì)象;
訂單發(fā)送模塊430,用于根據(jù)充值消息創(chuàng)建訂單并將訂單發(fā)送給客戶端;
充值鏈接發(fā)送模塊440,用于通過對(duì)象的模板化充值函數(shù)生成充值鏈接并將充值鏈接發(fā)送給客戶端,以使客戶端提交訂單至充值鏈接對(duì)應(yīng)的服務(wù)器;
交易成功判斷模塊450,用于當(dāng)服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功;
充值模塊460,用于如果是,為客戶端添加訂單對(duì)應(yīng)的虛擬充值數(shù)額。
具體地,對(duì)象創(chuàng)建模塊420還用于:獲取充值方式類的類名;根據(jù)類名為充值方式類創(chuàng)建對(duì)象。
具體地,交易成功判斷模塊450還用于:通過對(duì)象的模板化充值函數(shù)獲取回調(diào)接口的通用參數(shù);根據(jù)通用參數(shù)中的訂單狀態(tài)參數(shù)判斷訂單是否交易成功。
進(jìn)一步,參見圖5所示的結(jié)構(gòu)示意圖,上述裝置還包括:
合法性驗(yàn)證模塊510,用于當(dāng)服務(wù)器調(diào)用服務(wù)端的回調(diào)接口時(shí),通過對(duì)象的模板化充值函數(shù)驗(yàn)證調(diào)用請(qǐng)求是否合法;如果合法,執(zhí)行通過對(duì)象的模板化充值函數(shù)判斷訂單是否交易成功的步驟。
進(jìn)一步,參見圖6所示的結(jié)構(gòu)示意圖,上述裝置還包括:
簽名計(jì)算模塊610,用于根據(jù)充值消息計(jì)算簽名;
合法性驗(yàn)證模塊還用于:通過對(duì)象的模板化充值函數(shù)比較簽名與根據(jù)調(diào)用請(qǐng)求計(jì)算的簽名是否一致,驗(yàn)證調(diào)用請(qǐng)求是否合法。
進(jìn)一步,參見圖7所示的結(jié)構(gòu)示意圖,上述裝置還包括:
失敗消息發(fā)送模塊710,用于當(dāng)判斷訂單交易不成功時(shí),發(fā)送充值失敗消息至客戶端。
本發(fā)明實(shí)施例所提供的裝置,其實(shí)現(xiàn)原理及產(chǎn)生的技術(shù)效果和前述方法實(shí)施例相同,為簡(jiǎn)要描述,裝置實(shí)施例部分未提及之處,可參考前述方法實(shí)施例中相應(yīng)內(nèi)容,在此不再贅述。
參見圖8,本發(fā)明實(shí)施例還提供一種服務(wù)器100,包括:處理器80,存儲(chǔ)器81,總線82和通信接口83,處理器80、通信接口83和存儲(chǔ)器81通過總線82連接;處理器80用于執(zhí)行存儲(chǔ)器81中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。
其中,存儲(chǔ)器81可能包含高速隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。通過至少一個(gè)通信接口83(可以是有線或者無線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)元與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。
總線82可以是isa總線、pci總線或eisa總線等??偩€可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖8中僅用一個(gè)雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
其中,存儲(chǔ)器81用于存儲(chǔ)程序,處理器80在接收到執(zhí)行指令后,執(zhí)行程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的流過程定義的裝置所執(zhí)行的方法可以應(yīng)用于處理器80中,或者由處理器80實(shí)現(xiàn)。
處理器80可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器80中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器80可以是通用處理器,包括中央處理器(centralprocessingunit,簡(jiǎn)稱cpu)、網(wǎng)絡(luò)處理器(networkprocessor,簡(jiǎn)稱np)等;還可以是數(shù)字信號(hào)處理器(digitalsignalprocessing,簡(jiǎn)稱dsp)、專用集成電路(applicationspecificintegratedcircuit,簡(jiǎn)稱asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,簡(jiǎn)稱fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫?shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器81,處理器80讀取存儲(chǔ)器81中的信息,結(jié)合其硬件完成上述方法的步驟。
本發(fā)明實(shí)施例所提供的進(jìn)行模板化充值方法的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了處理器可執(zhí)行的非易失的程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見方法實(shí)施例,在此不再贅述。
上述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)處理器可執(zhí)行的非易失的計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上所述實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。