本發(fā)明涉及網絡,尤其涉及一種微信小程序的支付業(yè)務驗證方法、裝置及介質。
背景技術:
1、對于涉及微信小程序開發(fā)的業(yè)務系統(tǒng),小程序的支付功能通常是必不可少的功能,比如外賣系統(tǒng)、餐飲下單系統(tǒng)、網購系統(tǒng)等,都必須在小程序中開發(fā)符合業(yè)務需要的一套支付流程。
2、一套完整的支付交互流程圖如圖1所示,以餐飲下單系統(tǒng)為例,用戶在商家小程序中下單后,接著會進行下單支付,此時會從小程序觸發(fā)下單支付的請求到餐飲系統(tǒng)的后臺系統(tǒng),餐飲系統(tǒng)的后臺系統(tǒng)此時會生成平臺訂單(訂單狀態(tài)為未支付)、向微信支付系統(tǒng)發(fā)起創(chuàng)建訂單請求;微信支付系統(tǒng)接收到創(chuàng)建訂單請求后,會生成預付單數(shù)據,然后返回預付單標識給餐飲系統(tǒng)的后臺系統(tǒng),之后后臺系統(tǒng)會生成支付信息并返回給小程序(此時在支付信息中會包含后續(xù)用戶要支付的金額款是多少、付費方式等信息),之后小程序會自動調起微信支付(此時要支付的金額已經確定了、不能修改),由用戶輸入正確的密碼后完成支付;在完成支付后,微信支付系統(tǒng)會以異步的方式通知餐飲系統(tǒng)的后臺系統(tǒng)支付結果(此時若支付成功,后臺系統(tǒng)應更新訂單狀態(tài)為已付款、開始準備餐食),并返回支付結果給小程序(此時小程序頁面應展示支付成功、等待就餐)。在這個過程中,小程序的處理邏輯(比如支付后收到支付結果時的處理)、后臺系統(tǒng)的處理邏輯(比如收到支付結果時更新訂單狀態(tài))都是要進行開發(fā)實現(xiàn)并測試驗證的。
3、然而,目前在業(yè)界,要對現(xiàn)有的小程序的處理邏輯、后臺系統(tǒng)的處理邏輯進行測試、驗證,就必須進行完整的支付操作(向微信支付系統(tǒng)發(fā)起創(chuàng)建訂單、調起支付請求),以此來完成整體的下單、支付流程的測試、驗證,當要驗證的場景、測試用例比較多時,驗證成本比較高(都要進行真實地支付)。假設一筆訂單的金額是50元,那驗證10個場景,就要支付500元給微信系統(tǒng),導致資金資源的浪費。
技術實現(xiàn)思路
1、本發(fā)明所要解決的技術問題是針對現(xiàn)有技術的上述不足,提供一種微信小程序的支付業(yè)務驗證方法、裝置及介質,用以解決現(xiàn)有微信小程序的支付業(yè)務驗證方法存在驗證成本高的問題。
2、第一方面,本發(fā)明提供一種微信小程序的支付業(yè)務驗證方法,所述方法包括:
3、接收測試人員輸入的配置信息,所述配置信息包括應用名稱、封裝的下單方法、支付金額和數(shù)字身份識別框架openid,其中,所述應用名稱是指實現(xiàn)了微信小程序支付業(yè)務功能的目標應用的名稱,所述封裝的下單方法是指所述目標應用中封裝了微信小程序支付功能的方法;
4、根據測試人員的新增指令增加所述配置信息;
5、當所述openid對應的用戶通過所述目標應用中所述封裝的下單方法發(fā)起支付時,需要支付的支付金額為所述配置信息中的支付金額,以使用戶按照所述配置信息中的支付金額進行支付。
6、進一步地,所述根據測試人員的新增指令增加所述配置信息,具體包括:
7、根據測試人員的所述新增指令判斷所述配置信息中所述應用名稱對應的目標應用是否已掛載監(jiān)聽;
8、響應于所述目標應用已掛載監(jiān)聽,判斷預存的配置列表數(shù)據中是否存在包括所述應用名稱和封裝的下單方法的配置信息;
9、若所述配置列表數(shù)據中不存在包括所述應用名稱和封裝的下單方法的配置信息,則在所述配置列表數(shù)據中增加所述配置信息,并將所述配置信息保存在遠程字典服務redis緩存中。
10、進一步地,所述根據測試人員的所述新增指令判斷所述配置信息中所述應用名稱對應的目標應用是否已掛載監(jiān)聽,具體包括:
11、嘗試讀取所述redis緩存中代表所述目標應用的監(jiān)聽標識;
12、若能讀取到所述監(jiān)聽標識,則判斷所述目標應用已掛載監(jiān)聽,否則,判斷所述目標應用還未掛載監(jiān)聽。
13、進一步地,所述根據測試人員的所述新增指令判斷所述配置信息中所述應用名稱對應的目標應用是否已掛載監(jiān)聽之后,所述方法還包括:
14、響應于所述目標應用還未掛載監(jiān)聽,通過遠程命令對所述目標應用執(zhí)行掛載監(jiān)聽操作,并在掛載監(jiān)聽成功后將代表所述目標應用的監(jiān)聽標識保存到所述redis緩存中。
15、進一步地,所述目標應用掛載監(jiān)聽的步驟包括:
16、監(jiān)聽所述目標應用內的所有內部方法;
17、當某個方法被調用時,判斷所述某個方法以及對應的應用名稱是否與所配置列表數(shù)據中某條配置信息中的應用名稱和封裝的下單方法匹配,若匹配,則進一步判斷所述封裝的下單方法中第一指定位置的傳參值是否與所述openid中對應的值一樣;
18、響應于所述封裝的下單方法中第一指定位置的傳參值與所述openid中對應的值一樣,將所述封裝的下單方法中第二指定位置的傳參值修改為所述支付金額中對應的值。
19、進一步地,所述根據測試人員的新增指令增加所述配置信息之后,所述方法還包括:
20、根據測試人員的編輯指令對所述配置信息中的支付金額和/或openid進行修改,并更新所述配置列表數(shù)據。
21、進一步地,所述根據測試人員的新增指令增加所述配置信息之后,所述方法還包括:
22、根據測試人員的刪除指令刪除所述配置列表數(shù)據以及所述redis緩存中的所述配置信息。
23、第二方面,本發(fā)明提供一種微信小程序的支付業(yè)務驗證裝置,所述裝置包括:
24、配置信息接收模塊,用于接收測試人員輸入的配置信息,所述配置信息包括應用名稱、封裝的下單方法、支付金額和數(shù)字身份識別框架openid,其中,所述應用名稱是指實現(xiàn)了微信小程序支付業(yè)務功能的目標應用的名稱,所述封裝的下單方法是指所述目標應用中封裝了微信小程序支付功能的方法;
25、配置信息增加模塊,與所述配置信息接收模塊連接,用于根據測試人員的新增指令增加所述配置信息;
26、支付業(yè)務驗證模塊,與所述配置信息增加模塊連接,用于當所述openid對應的用戶通過所述目標應用中所述封裝的下單方法發(fā)起支付時,需要支付的支付金額為所述配置信息中的支付金額,以使用戶按照所述配置信息中的支付金額進行支付。
27、第三方面,本發(fā)明提供一種微信小程序的支付業(yè)務驗證裝置,包括存儲器和處理器,所述存儲器中存儲有計算機程序,所述處理器被設置為運行所述計算機程序以實現(xiàn)上述第一方面所述的微信小程序的支付業(yè)務驗證方法。
28、第四方面,本發(fā)明提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述第一方面所述的微信小程序的支付業(yè)務驗證方法。
29、本發(fā)明提供的微信小程序的支付業(yè)務驗證方法、裝置及介質。首先接收測試人員輸入的配置信息,所述配置信息包括應用名稱、封裝的下單方法、支付金額和數(shù)字身份識別框架openid,其中,所述應用名稱是指實現(xiàn)了微信小程序支付業(yè)務功能的目標應用的名稱,所述封裝的下單方法是指所述目標應用中封裝了微信小程序支付功能的方法;然后根據測試人員的新增指令增加所述配置信息;最后,當所述openid對應的用戶通過所述目標應用中所述封裝的下單方法發(fā)起支付時,需要支付的支付金額為所述配置信息中的支付金額,以使用戶按照所述配置信息中的支付金額進行支付。本發(fā)明可以對指定用戶動態(tài)地修改訂單支付金額(比如把50元改成0.01元),且不會影響其他真實用戶的訂單支付數(shù)據(其他用戶還是50元),從而能夠幫助測試人員以很低的成本完成多次支付場景的驗證。解決了現(xiàn)有微信小程序的支付業(yè)務驗證方法存在驗證成本高的問題。