當前位置:首頁 > 芯聞號 > 充電吧
[導讀]應廣大Qt好友的要求,記錄下我自己開發(fā)的qt for android中如何集成微信,在自己搞這個的時候,還是轉了不少彎頭,其實最簡單的方法就是看官方文檔,但是要有java基礎才行,我當初是研究的別人j

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

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

2)微信官方資源下載


??

不過我相信,即便你看了微信的官方文檔,你依然不知道微信支付怎么集成,因為微信支付的官方文檔簡直太.....

如果你已經準備好了資源包,接下來正式開始集成

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

這里需要特別說明一下,這個Activity類,直接從上下載到的范例代碼中copy到自己的工程中即可,這個頁面是在你調起微信支付完成支付(或取消或失?。┖螅倩氐侥愕腁pp時會調用的一個頁面。頁面的布局可以是你自定義的布局,直接放圖講解:

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


在這個類中需要注意的地方有兩個:

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


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


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


?

這個類中的其余的回調方法,我們都不需要去操作

然后我們就可以開始支付了,支付很簡單,真的很簡單


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



最后,服務器返回給我們微信支付的參數后,我們就可以愉快的支付了,這里是關鍵一步,注意?。?br />

至此我們已經可以調起微信支付頁面來支付了

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


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


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


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


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

2、montyValue必須是一個string,不能是int,否則會報錯,還有程序調用不能為0.01,必須要乘以100。

3、sing就是簽名,所以一般簽名這堆配置其實不應該由客戶端做,只需要服務器傳送給你sign簽名即可,有了sign簽名就可以進行支付了。

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

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

關鍵字: 華為 12nm 手機 衛(wèi)星通信

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

關鍵字: 通信 BSP 電信運營商 數字經濟

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

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

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

關鍵字: BSP 信息技術
關閉
關閉