Android微信支付

前段時間寫過一篇關于安卓第三方登錄之微信登錄的文章东臀,后面有朋友留言逢防,希望出一篇關于微信支付的文章,有朋友發(fā)現(xiàn)微信支付的坑很多摇天,而且微信官方文檔讀完了粹湃,也沒太理解恐仑,吐槽微信文檔的朋友不少,于是就有了今天這篇文章为鳄。

首先裳仆,給出官方文檔的地址(需要的朋友,自行閱讀下載)
1孤钦、微信官方的Android集成文檔
2歧斟、微信官方APP端開發(fā)步驟
3、微信官方資源下載

接入流程

1.申請APP_ID
每個應用/游戲要調(diào)用微信的接口都需要有一個微信標志偏形,這個唯一標志通常成為APP_ID静袖, 進入管理中心,創(chuàng)建移動應用,每個開發(fā)者具有10個應用的創(chuàng)建機會,好在創(chuàng)建的應用可以隨時刪除鸿摇。已上線的應用就不建議刪除。申請appid需要填寫應用信息:應用名稱捐康,包名,簽名(根據(jù)微信的簽名工具生成的)庸蔼,icon(2828 & 108108)解总,app下載地址等信息,即可分配到一個appid姐仅。
備注:測試支付時倾鲫,務必使用申請時填寫的keystore文件簽名,包名也需要核對清楚萍嬉,必然無法調(diào)起支付乌昔,返回-1錯誤碼。

2.申請支付能力
在管理中心壤追,查看需要集成支付能力的app磕道,找到“微信支付”一欄,點擊右側(cè)“申請開通”行冰,填寫一些企業(yè)信息后等待審核溺蕉,審核時間為一周左右,審核通過后悼做,會得到一個企業(yè)商戶號及密碼疯特,對公銀行卡中將收到幾分錢,進入商戶平臺肛走,輸入收到的金錢金額以驗證漓雅。驗證通過后即可開始集成支付調(diào)用。在這之前,調(diào)用支付接口是無法完成支付的邻吞。

開通微信支付.png
資源下載.png

3组题、添加gradle依賴或者jar包
在build.gradle文件中,添加如下依賴即可:

dependencies {
   compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
}
//或者
dependencies {
   compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}
//其中抱冷,前者包含統(tǒng)計功能

或者:微信支付依賴包 >>> libammsdk.jar崔列,這個需要下載微信支付的demo,把libs下的這個jar包拷貝到你的項目即可旺遮。

4赵讯、創(chuàng)建微信支付回調(diào)的類WXPayEntryActivity
注意:這個類的包名和目錄結構,必須是你的項目的一級包名 >>wxapi >>WXPayEntryActivity

WXPayEntryActivity.png

這個頁面是在你調(diào)起微信支付完成或者取消或者失敗后耿眉,再回到你的App時會調(diào)用的一個頁面边翼。

//微信支付的回調(diào)
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler{
    
    private static final String TAG = "WXPayEntryActivity";
    
    private IWXAPI api;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pay_result);
        
         //調(diào)用API前,需要先向微信注冊您的APPID
        api = WXAPIFactory.createWXAPI(this, Constants.APP_ID);
        api.handleIntent(getIntent(), this);
    }
}

這個類中你可以加入支付成功或者失敗后的布局跷敬,如果你不需要展示什么布局讯私,而是要跳轉(zhuǎn)頁面热押,把setContentView刪除即可

回調(diào)結果的處理

 @Override
    public void onResp(BaseResp resp) {
        int errCode = resp.errCode;
        Log.i(TAG, "errCode:---->" + errCode);
        String result = "";
        switch (errCode) {
            case 0:
                Log.i(TAG, "onResp:支付成功");
                result = "支付成功";
                tvTitle.setText("支付成功");
                break;
            case -1:
                //可能的原因:簽名錯誤西傀、未注冊APPID、項目設置APPID不正確桶癣、注冊的APPID與設置的不匹配拥褂、其他異常等。
                Log.i(TAG, "onResp:支付失敗");
                result = "支付失敗,請重試";
                finish();
                break;
            case -2:
                //用戶取消支付
                Log.i(TAG, "onResp:用戶取消支付");
                result = "您取消了支付";
                finish();
                break;
        }
        ToastUtils.showToast(this, result);
    }

當然牙寞,你也可以參考微信官方APP開發(fā)步驟

下面是回調(diào)的結果碼

微信支付的結果碼.png

怎么還沒有講怎么調(diào)起微信客戶端進行支付敖染椤?有讀者不開心了间雀,別急悔详,因為無論是微信支付還是支付寶支付,調(diào)用支付都不是很復雜的惹挟,這就給大家到來茄螃。

5、調(diào)用微信支付

private void wxPay(WxPayBean wxPayBean){       
        //WxPayBean是我自己項目的服務器返回的微信支付簽名的數(shù)據(jù)连锯,這個需要你和你們公司后臺對接
        WxPayBean.ResultBean result = wxPayBean.getResult();
        //調(diào)用API前归苍,需要先向微信注冊您的APPID
        IWXAPI wxAPI = WXAPIFactory.createWXAPI(this, MainConstant.Cart.APP_ID);
        wxAPI.registerApp(result.getAppid()); // 將該app注冊到微信
        PayReq req = new PayReq();
        req.appId = result.getAppid(); //微信開放平臺審核通過的應用APPID
        req.partnerId = result.getPartnerid(); //商戶號
        req.prepayId = result.getPrepayid(); //微信返回的支付交易會話ID
        req.packageValue = "Sign=WXPay"; //固定值Sign=WXPay
        req.nonceStr = result.getNoncestr(); //隨機字符串
        req.timeStamp = result.getTimestamp(); //時間戳
        req.sign = result.getSign(); //簽名
        //調(diào)起微信支付
        wxAPI.sendReq(req);
}

下面是請求調(diào)用微信支付所需要的參數(shù)列表
注意:這些都是后臺傳的,尤其這個簽名字符串运怖,最好是后臺生成拼弃,如果你們服務器大哥不管,你最好找他喝點小酒摇展,嘮嘮嗑

請求參數(shù)列表.png

下面是APP發(fā)起支付請求的一個流程

發(fā)起支付請求.png

下面是微信開放平臺吻氧,你的應用簽名,這個東西,很多人容易弄錯医男,這個一旦錯了砸狞,就調(diào)不起微信支付的界面了,詳情請移步我的另一篇博客
安卓第三方登錄之微信登錄

777.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末镀梭,一起剝皮案震驚了整個濱河市刀森,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌报账,老刑警劉巖研底,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異透罢,居然都是意外死亡榜晦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門羽圃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乾胶,“玉大人,你說我怎么就攤上這事朽寞∈读” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵脑融,是天一觀的道長喻频。 經(jīng)常有香客問我,道長肘迎,這世上最難降的妖魔是什么甥温? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮妓布,結果婚禮上姻蚓,老公的妹妹穿的比我還像新娘。我一直安慰自己匣沼,他們只是感情好狰挡,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肛著,像睡著了一般圆兵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上枢贿,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天殉农,我揣著相機與錄音,去河邊找鬼局荚。 笑死超凳,一個胖子當著我的面吹牛愈污,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播轮傍,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼暂雹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了创夜?” 一聲冷哼從身側(cè)響起杭跪,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驰吓,沒想到半個月后涧尿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡檬贰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年姑廉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翁涤。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡桥言,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出葵礼,到底是詐尸還是另有隱情号阿,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布章咧,位于F島的核電站倦西,受9級特大地震影響能真,放射性物質(zhì)發(fā)生泄漏赁严。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一粉铐、第九天 我趴在偏房一處隱蔽的房頂上張望疼约。 院中可真熱鬧,春花似錦蝙泼、人聲如沸程剥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽织鲸。三九已至,卻和暖如春溪胶,著一層夾襖步出監(jiān)牢的瞬間搂擦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工哗脖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瀑踢,地道東北人扳还。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像橱夭,于是被迫代替她去往敵國和親氨距。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,515評論 25 707
  • 由于公司運營需要棘劣,Android客戶端要增加微信支付俏让。在看了幾遍官方文檔之后,加上之前有集成微信分享的經(jīng)驗茬暇,所以很...
    Kerry202閱讀 1,451評論 2 8
  • 現(xiàn)在的支付潮流莫過于微信跟支付寶了舆驶,最近我們項目涉及到會員需求,就用到微信支付跟支付寶支付而钞,說實話接入之前會覺得這...
    Luke_單車閱讀 15,858評論 15 52
  • 前段時間開發(fā)一款產(chǎn)品沙廉,需要接入支付,老板對微信支付情有獨鐘臼节。剛好自己沒有實際做過微信支付這塊撬陵,也就可以借這次機會實...
    david_zhw閱讀 953評論 4 12
  • 一只住在荷蘭的青蛙,撐著一把油紙傘网缝,獨自走在有著一座風車的小路巨税,路邊有一位在哭的小女孩,青蛙上前去問問小女孩什么哭...
    月半伴月閱讀 334評論 0 0