android微信支付

由于近日項(xiàng)目中要用到微信支付,而且遇到的坑比較多,就寫了這一篇博文(PS:文采不好芽狗,勿噴勿噴)设预,希望還處在坑中的朋友有所幫助。

1瓦糕、先去微信公眾平臺(tái)申請(qǐng)應(yīng)用 ,成功之后,你還要去商戶平臺(tái)進(jìn)行驗(yàn)證腋寨,具體可以參考:http://kf.qq.com/faq/120911VrYVrA150906F3qqY3.html

成功之后,你就可以得到

appid化焕、mch_id萄窜、app_key等一系列參數(shù)

注意:這里有一個(gè)坑,那就是你的應(yīng)用簽名要用一個(gè)簽名工具來獲取撒桨,之后我會(huì)上傳上去查刻,還有微信規(guī)定調(diào)試的時(shí)候,你的簽名必須要和微信公眾平臺(tái)上面的簽名一致凤类,這點(diǎn)很重要穗泵,簽名文件路徑為:C:\Users\Huang\.Android

如果在別的電腦上要測(cè)試的話,就必須替換掉這個(gè)debug.keystore簽名文件谜疤,但是每次更換簽名文件時(shí)必須重啟一下Android Studio或者eclipse佃延。

2、先配置好權(quán)限和微信回調(diào)類WXPayEntryActivity,注意微信規(guī)定路徑必須是包名下面的wxapi文件夾的路徑茎截,不然會(huì)造成回調(diào)不成功苇侵。

(2)獲取預(yù)支付交易會(huì)話id,并且根據(jù)微信官網(wǎng)查看需要傳的值企锌,這點(diǎn)也很重要榆浓,不然調(diào)不起微信支付界面。

在此我封裝了一個(gè)WxUtil工具類撕攒,不知道要怎么傳的可以稍后去查看我寫的一個(gè)demo

然后用post方式綁定packageParams參數(shù)并訪問https://api.mch.weixin.qq.com/pay/unifiedorder陡鹃,然后把返回來的內(nèi)容轉(zhuǎn)化為xml格式并進(jìn)行二次簽名,隨后通過sendReq方法調(diào)取微信支付抖坪。

3萍鲸、不成功原因分析

(1)沒有調(diào)起支付界面,請(qǐng)檢查下有沒有WXPayEntryActivity注冊(cè)擦俐。

(2)簽名錯(cuò)誤

可以把自己的簽名與微信官網(wǎng)測(cè)試地址的簽名進(jìn)行對(duì)比脊阴,https://pay.weixin.qq.com/wiki/tools/signverify/,若為正確的話,可以檢查下自己的包名與密鑰嘿期,實(shí)在保證沒錯(cuò)的話可以試著重置一下密鑰品擎。

(3)返回-1:

1、解決方法同上备徐,再注意檢查一下lib下面的包有沒有導(dǎo)入進(jìn)來萄传,appid有沒有錯(cuò)誤,參數(shù)有沒有傳錯(cuò)之類的蜜猾,大部分都是由于簽名不對(duì)造成的秀菱;

2、建議清理一下微信緩存蹭睡。

最后衍菱,由于微信不斷更新,目前此版本基于2016.5.3的版本棠笑。

(4)

1梦碗、請(qǐng)求的時(shí)候獲取不到prepayid。

原因:setParameter("total_fee", "1"); //商品金額,以分為單位

total_fee里面的參數(shù)是否有小數(shù)點(diǎn)蓖救,或者測(cè)試的時(shí)候修改為了0.01洪规;

需檢查:total_fee傳入的參數(shù)是否為整數(shù);

2循捺、請(qǐng)求支付跳轉(zhuǎn)到微信支付時(shí)斩例,商品描述為亂碼:

原因:.setParameter("input_charset", "GBK"); //字符編碼

修改編碼為UTF-8 ,

3从橘、total_fee 錢數(shù)*100 精度丟失問題

String.valueOf((int)(moeny * 100)?

應(yīng)為

float moeny=19.79f;

BigDecimal re1=new BigDecimal(Float.toString(moeny));

BigDecimal re2=new BigDecimal(Float.toString(100.00f));

System.out.println((int)re1.multiply(re2).floatValue());

另外如果使用了微信支付的demo的方法念赶,需將TenpayUtil中的getCharacterEncoding放回編碼修改為utf-8

4、當(dāng)描述為中文時(shí)恰力,應(yīng)該將xml轉(zhuǎn)碼下叉谜,變成

return newString(xmlstring.toString().getBytes(),"ISO8859-1");

效果如下:

源碼下載:http://download.csdn.net/detail/u013158983/9508889(內(nèi)含簽名工具)

說明:org.apache.http網(wǎng)絡(luò)訪問包已經(jīng)被android淘汰,如果想用須在gradle加上useLibrary 'org.apache.http.legacy'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末踩萎,一起剝皮案震驚了整個(gè)濱河市停局,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌香府,老刑警劉巖董栽,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異企孩,居然都是意外死亡锭碳,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門勿璃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來擒抛,“玉大人推汽,你說我怎么就攤上這事∑缁Γ” “怎么了民泵?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長槽畔。 經(jīng)常有香客問我,道長胁编,這世上最難降的妖魔是什么厢钧? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮嬉橙,結(jié)果婚禮上早直,老公的妹妹穿的比我還像新娘。我一直安慰自己市框,他們只是感情好霞扬,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枫振,像睡著了一般喻圃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粪滤,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天斧拍,我揣著相機(jī)與錄音,去河邊找鬼杖小。 笑死肆汹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的予权。 我是一名探鬼主播昂勉,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼扫腺!你這毒婦竟也來了岗照?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤斧账,失蹤者是張志新(化名)和其女友劉穎谴返,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咧织,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗓袱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了习绢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠抹。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝙昙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出梧却,到底是詐尸還是另有隱情奇颠,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布放航,位于F島的核電站烈拒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏广鳍。R本人自食惡果不足惜荆几,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赊时。 院中可真熱鬧吨铸,春花似錦、人聲如沸祖秒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竭缝。三九已至房维,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抬纸,已是汗流浹背握巢。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留松却,地道東北人暴浦。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像晓锻,于是被迫代替她去往敵國和親歌焦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 1.后臺(tái)設(shè)置 商戶在微信開放平臺(tái)申請(qǐng)開發(fā)應(yīng)用后砚哆,微信開放平臺(tái)會(huì)生成APP的唯一標(biāo)識(shí)APPID独撇。由于需要保證支付安全...
    丶Lost_Deer閱讀 1,078評(píng)論 0 1
  • 準(zhǔn)備工作在應(yīng)用集成微信支付之前,我們?cè)谖⑿砰_放平臺(tái)必須要個(gè)開發(fā)者賬戶1.注冊(cè)完之后創(chuàng)建一個(gè)移動(dòng)應(yīng)用躁锁,并獲取APPi...
    小碼哥教育520it閱讀 1,095評(píng)論 0 4
  • 由于公司運(yùn)營需要纷铣,Android客戶端要增加微信支付。在看了幾遍官方文檔之后战转,加上之前有集成微信分享的經(jīng)驗(yàn)搜立,所以很...
    Kerry202閱讀 1,451評(píng)論 2 8
  • 現(xiàn)在的支付潮流莫過于微信跟支付寶了,最近我們項(xiàng)目涉及到會(huì)員需求槐秧,就用到微信支付跟支付寶支付啄踊,說實(shí)話接入之前會(huì)覺得這...
    Luke_單車閱讀 15,858評(píng)論 15 52
  • 前段時(shí)間寫過一篇關(guān)于安卓第三方登錄之微信登錄的文章忧设,后面有朋友留言,希望出一篇關(guān)于微信支付的文章颠通,有朋友發(fā)現(xiàn)微信支...
    嘮嗑008閱讀 2,705評(píng)論 4 15