當(dāng)前位置:首頁 > 芯聞號(hào) > 充電吧
[導(dǎo)讀]應(yīng)廣大Qt好友的要求,記錄下我自己開發(fā)的qt for android中如何集成微信,在自己搞這個(gè)的時(shí)候,還是轉(zhuǎn)了不少?gòu)濐^,其實(shí)最簡(jiǎn)單的方法就是看官方文檔,但是要有java基礎(chǔ)才行,我當(dāng)初是研究的別人j

應(yīng)廣大Qt好友的要求,記錄下我自己開發(fā)的qt for android中如何集成微信,在自己搞這個(gè)的時(shí)候,還是轉(zhuǎn)了不少?gòu)濐^,其實(shí)最簡(jiǎn)單的方法就是看官方文檔,但是要有java基礎(chǔ)才行,我當(dāng)初是研究的別人java的原生支付demo,所以版本有點(diǎn)老,但是不影響正常支付。好了,進(jìn)入正題,使用qt來進(jìn)行微信支付,其實(shí)就是要用java原生的實(shí)現(xiàn),只不過qt相當(dāng)于一個(gè)外用調(diào)用者,只管調(diào)用支付集成的方法就可以了,具體實(shí)現(xiàn)還是要用java來寫,這個(gè)可以看下別人安卓的文檔,了解搭建環(huán)境之類的問題,這里我就不累贅了,可以看下我的另外一篇博客轉(zhuǎn)載于別人的,內(nèi)附demo,安卓集成微信支付:點(diǎn)擊打開鏈接, 不想看的可以看我下面的內(nèi)容:

如果你已經(jīng)成功集成了微信登錄和分享,那么此文將助你快速集成微信支付,此文基于微信支付SDK3.1.1,也就是目前為止最新的SDK
1)微信官方的集成文檔

2)微信官方資源下載


??

不過我相信,即便你看了微信的官方文檔,你依然不知道微信支付怎么集成,因?yàn)槲⑿胖Ц兜墓俜轿臋n簡(jiǎn)直太.....

如果你已經(jīng)準(zhǔn)備好了資源包,接下來正式開始集成

我們需要的資源其實(shí)有以下幾樣,在開始前,就這些轉(zhuǎn)備好吧
1)微信支付的APPID
2)微信支付依賴包 >>> libammsdk.jar
3)一個(gè)Activity類 >>> WXPayEntryActivity.java

這里需要特別說明一下,這個(gè)Activity類,直接從上下載到的范例代碼中copy到自己的工程中即可,這個(gè)頁面是在你調(diào)起微信支付完成支付(或取消或失敗)后,再回到你的App時(shí)會(huì)調(diào)用的一個(gè)頁面。頁面的布局可以是你自定義的布局,直接放圖講解:

先說一下這個(gè)類的路徑,網(wǎng)上也有一大堆介紹了,我直接放圖,路徑一定,而且必須是這樣的:


在這個(gè)類中需要注意的地方有兩個(gè):

1、這個(gè)類中的布局是可以自定義的,如果你不需要展示什么布局,而是要跳轉(zhuǎn)頁面,把這段代碼刪除即可


2、回調(diào)結(jié)果的處理,下面是官方的處理方式,直接給了一個(gè)dialog,很多人會(huì)摸不著頭腦,如果你不需要這個(gè)dialog,直接刪除就好了,不需要把官方demo中的布局和資源都復(fù)制過來


??下面是我自定義的處理方式,比較簡(jiǎn)單,就是土司顯示了一下支付結(jié)果,如果你需要支付成功后跳轉(zhuǎn),那么直接在這里startActivity即可,別忘記最后要將這個(gè)頁面finish()


?

這個(gè)類中的其余的回調(diào)方法,我們都不需要去操作

然后我們就可以開始支付了,支付很簡(jiǎn)單,真的很簡(jiǎn)單


這是微信支付需要我們攜帶的參數(shù),對(duì)于新人來說,可能比較困惑的是我怎么生成這些參數(shù)呢?其實(shí)這些參數(shù)都是服務(wù)器返回給我們的,APPID我們可以自己保存在本地一份,其余的都是服務(wù)器返回給我們的,大概介紹一下流程:



最后,服務(wù)器返回給我們微信支付的參數(shù)后,我們就可以愉快的支付了,這里是關(guān)鍵一步,注意??!

至此我們已經(jīng)可以調(diào)起微信支付頁面來支付了

最后還有一個(gè)需要注意的是,很多人被這一步坑了,就是關(guān)于微信開放平臺(tái)簽名的問題。其實(shí)只要你手機(jī)上的程序的簽名和你在微信平臺(tái)登記的簽名一致即可,無論是debug版本,還是release版本


把上面的看懂后,基本上是沒有其它問題的,下面將重點(diǎn)是介紹Qt如何發(fā)揮它的用武之地,要用到Qt調(diào)用java集成的接口,就要學(xué)會(huì)Qt寫Jni代碼 ,這里寫下我接口方法實(shí)現(xiàn):


因?yàn)槲疫@邊實(shí)現(xiàn)的微信支付簽名是自己本地客戶端實(shí)現(xiàn)的,所以必須要自己傳送一個(gè)貨幣,也就是money過去,這個(gè)money一定要在后面*100,微信官方是100等于一分錢。其中圖中的重點(diǎn)就是我紅框圈起來的就是需要調(diào)用的方法,而wXPayPort就是Qt這邊調(diào)用了,調(diào)用的時(shí)候帶上一個(gè)貨幣即可,下面來看看我的wXPayPort的java實(shí)現(xiàn),這個(gè)是需要自己用java原生來寫的,


?????首先并不是直接調(diào)用startPay()方法的,而是先調(diào)用wXPayPort,然后開啟一個(gè)線程來啟動(dòng)微信支付程序,因?yàn)閷懥撕芫?,?dāng)時(shí)也未來的及記錄,所以為什么要開啟一個(gè)線程來調(diào)用,具體好像是Qt所在的進(jìn)程來拉起java微信支付進(jìn)程會(huì)導(dǎo)致崩潰,所以需要開啟一個(gè)java線程來拉起java本身的所構(gòu)建出來的微信支付進(jìn)程,當(dāng)調(diào)用這一步后,就是生成簽名的時(shí)候了,其實(shí)生成簽名應(yīng)該由服務(wù)器來做,這里就不累贅了,具體調(diào)用后的執(zhí)行可以查看PayActivity.java這個(gè)類文件(都是官方Demo文件),下面列一下客戶端生成簽名需要注意的地方:


?1、notify_url必須是要服務(wù)器那邊知道的支付地址,我這邊是測(cè)試地址,

2、montyValue必須是一個(gè)string,不能是int,否則會(huì)報(bào)錯(cuò),還有程序調(diào)用不能為0.01,必須要乘以100。

3、sing就是簽名,所以一般簽名這堆配置其實(shí)不應(yīng)該由客戶端做,只需要服務(wù)器傳送給你sign簽名即可,有了sign簽名就可以進(jìn)行支付了。

后續(xù)將會(huì)貼出一個(gè)專門用于Qt支付的demo出來,如有更好建議,還望多多評(píng)論

完整demo:Qt微信支付Demo

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉