日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 微信支付

發(fā)布時間:2023/12/10 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 微信支付 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Android調(diào)用微信支付 由于官方資料太亂而且有些bug解釋很不完善,又沒有人工客服技術(shù)支持,網(wǎng)上的資料也是零零碎碎轉(zhuǎn)來轉(zhuǎn)去,沒有博客就寫篇日志記錄一下,順便噴一句,騰訊的東西真的太坑了,以下是整體流程和個人認為比較容易出錯的地方的個人總結(jié):
1.后臺設置
? ? 申請開發(fā)應用完成后,使用商戶賬號登錄,可以創(chuàng)建APP,其中以下兩項是必填的,而且不是隨便填的
????
? ? (1)應用包名:填寫Manifest中的package;?
? ? (2)應用簽名:首先從官網(wǎng)下載GenSignature(一個android程序),運行改程序,在輸入框中輸入
Manifest中的package名,點擊"Get Sginature"生成的綠色字符串就是應用簽名;
(下載
GenSignature的地址:? ??https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1)
2. 下載微信官網(wǎng)的demo(也在下載GenSignature的地方),導入到eclipse,之后的操作直接改官方demo就行了
(1)修改Manifest:? ? 更改<data>標簽中的android:scheme屬性,值為APP申請成功后返回的AppId值,如(wx89dadj29839asdj4)
(2)修改Constants(Java類):? ? 該類工需要三個屬性 (都是String,都是常量)
????????????????????????????????????????????????①?
APP_ID:與上一步陳述相同? ? (申請創(chuàng)建APP后微信官方派發(fā))
?????????????????????????????????????????????? ?②?MCH_ID:商戶號? ? 10位數(shù)字(商戶創(chuàng)建成功后微信官方派發(fā))
????????????????????????????????????????????? ? ③?API_KEY:API密鑰? ? 這個值是在商戶平臺設置的 相同即可(自定義)
3.在PayActivity做相應修改
? ??packageParams.add(new BasicNameValuePair("appid", Constants.APP_ID));?
????packageParams.add(new BasicNameValuePair("mch_id", Constants.MCH_ID));?

大致為以上三步,如果還有bug,可能是以下原因:
1.點擊APP支付生成預支付訂單返回"prepay_id=null",這個應該比較好解決 就是上述步驟沒有設置對
2.如果只有第一次能夠成功支付,之后均返回-1很可能是keystore問題,網(wǎng)上有種方式是清空微信緩存,確實清空一次能用一次,但是這種用戶體驗顯然不合適,支付一次微信完全清空一次不太合適吧...
點擊調(diào)起微信支付時,直接跳轉(zhuǎn)到回調(diào)界面(WXPayEntryActivity)并返回-1,這里就是騰訊沒有任何說明的地方了,可以嘗試以下步驟:
? ? (1).Window->Preferences->?Android->Build->Custom debug keystore點擊瀏覽,選擇到下載demo的文件加下找到demo文件夾下的debug.keystore(默認是android文件夾下的debug.keystore需要更換),點擊完成
????(2)?如果還是不行,右鍵項目名->Android Tools->Export Signed Application Package,選擇項目,下一步->Use existing keystore,選擇成demo文件夾下的debug.keystore,導出生成apk,之后再運行一邊GenSignature程序輸入Manifest中的包名,看生成的應用簽名是不是變了?如果是可能就是keystore的問題,將生成的新的應用簽名同步到微信官網(wǎng)上的“微信開放平臺-管理中心-移動應用”-“開發(fā)信息”-"應用簽名"即可
4.若在更改微信官方demo中參數(shù)后,出現(xiàn)簽名錯誤的情況,可以嘗試把提交的xml數(shù)據(jù)轉(zhuǎn)換成
ISO8859-1格式:
? ??
return new String(xmlstring.getBytes(),"ISO8859-1");?
? ? 參考:
http://blog.csdn.net/qiwenmingshiwo/article/details/41902551?;
5.?如果更改notiy_url出現(xiàn)簽名錯誤的話,可能是因為url中攜帶的鍵值對參數(shù)使用了"&"符號連接兩個kv對,換成其它符號即可("="符號不影響,其它的沒試過)
6.支付如果可以成功,那么根據(jù)騰訊安全性要求,應該把統(tǒng)一下單API、支付結(jié)果通知API和查詢訂單API這些設計到簽名的過程放到服務器做,防止客戶端被反編譯
第一次寫技術(shù)性文章 請各位大神多多包涵?

總結(jié)

以上是生活随笔為你收集整理的Android 微信支付的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。