Android微信支付集成開發

原文地址:點擊打開鏈接


開發步驟:

 1、新用戶微信開放平臺進行註冊,並認證,認證需要300元,https://open.weixin.qq.com/

 2、登錄進行創建應用,按照要求填寫IOS的Bundle ID和Android的應用簽名及包名,如此應用就創建好了。

 3、申請支付功能,申請條件是服務號或者企業號,申請成功後會收到一個審覈成功的郵件,根據郵件提供是的商戶名和密碼登錄到商戶平臺,點擊賬戶設置-->API安全-->API祕鑰-->設置祕鑰(祕鑰是32位),設置成功後,要記住這個祕鑰,支付的時候需要用上這個東西。具體情況請戳          http://kf.qq.com/faq/140225MveaUz150107UVFNjy.html

 4、準備工作就緒後我們開始正式開發了,此時我們一般都進入微信支付開發文檔,根據需求下載demo,和查看文檔接口,看看如何接入到app中,https://pay.weixin.qq.com/wiki/doc/api/index.html

 5、下載DEMO後,我們有幾個地方需要注意:(1)替換App_ID爲我們的申請的APPID;(2)替換商戶號爲我們申請支付成功後的商戶號;(3)替換API祕鑰,這是我們在步驟3的時候自己設定的。

 6、運行DEMO,返回的結果爲-1,哈哈,是不是覺得應該成功纔對?怎麼會支付失敗呢?我們對應一下支付開發步驟:(1)註冊APP;(2)獲取預支付ID;(3)根據預支付ID進行簽名①;(4)向微信支付進行請求。

  

 反正我用上面的方式,步驟上跟官方文檔一樣,接入的方式也是按照demo來進行的,可是還是失敗的,我相信很多人都會失敗,因爲現在的官方文檔更新過後,很多東西都面目全非了,接下來我將慢慢把我接入到項目中遇上的問題一一列出:

  (1)接入到項目中後,遇上的第一個問題就是簽名錯誤,<return_msg><![CDATA[SIGN ERROR]]></return_msg> 

  (2)時間不一致,

    <xml><return_code><![CDATA[FAIL]]></return_code>

    <return_msg><![CDATA[time_expire時間過短,刷卡至少1分鐘,其他5分鐘]]></return_msg>

    </xml>

 (3)支付返回-1

 反反覆覆的測試了好多次,都沒有成功,實在令人心煩,後來我輾轉找到了一個DEMO,跟官方的demo有很大的不同,經過整理後這個demo能支付成功,終於解決了我的這塊心病,真有種支付之難,難於官方文檔胡攪蠻纏,因爲我們太信任官方文檔了,殊不知官方文檔也有欺騙我們的時候,待會我將DEMO上傳後大家一比便知。 

  順便把列出的問題說說:(1)簽名問題錯誤,原因很多的,比如API_KEY錯誤(其他人把API_KEY換掉),組織簽名的參數沒有按照文檔的規則處理,規則請看官網文檔的要求;(2)時間不一致是需要以UTC時間來換算,且按照要求的間隔時間來計算時間;(3)支付返回-1,這個問題也是說不清道不明的東西,就我遇上的問題說說,可能每個人的情況不一致,如果大家用本人說的方式不能解決的,請繼續Google查查,本人遇上的情況是:①按照demo配置好了,其中某些小細節出的問題,請下載文章末尾提供的demo進行比對,替換相應的參數;②以前是支付成功的,一段時間後,某一天支付的時候返回-1了,解決方案是清除掉緩存,或者把app卸載掉,重新安裝試試;③某天莫名其妙的支付失敗了,提示錯誤是 Failed to find provider info for com.tencent.mm.sdk.plugin.provider 這個問題的解決方案是,微信版本太低,更新到最新的微信版本,支付就解決了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章