微信、支付寶支付

  1. 微信
PayReq request = new PayReq();
                    request.appId = appid;
                    request.partnerId = partnerid;
                    request.prepayId = prepayid;
                    request.nonceStr = noncestr;
                    request.timeStamp = timestamp;
                    request.packageValue = "Sign=WXPay";
                    request.sign = sign;
                    IWXAPI msgApi = WXAPIFactory.createWXAPI(mContext,
                            Constants.APP_ID);
                    boolean can = msgApi.sendReq(request);
                    if(can){
                        Toast.makeText(mContext, "正在調起微信", 1000).show();
                    }else{
                        Toast.makeText(mContext, "調起微信失敗", 1000).show();
                    }

微信例子:
連接:http://pan.baidu.com/s/1nuvbwmd 密碼:ja63
官方例子版本比較低,找客服應該能夠要到高版本的。java

服務端生成預付單時候必定要android

按申請的移動的appId進行生成,不能使用pc或者什麼公衆號的appid,遇到個sb,非要這麼幹耽誤了不少時間,在參數沒有配置好以前調用微信api,微信是沒有反應的,閃退,只有全部的參數對了才能正常支付,ios聽說參數不對,可是能夠進入微信界面。
簽名與包名必定要按照規則去弄,不然一直失敗,簽名貌似也分大小寫。
WXPayEntryActivity必定要在你的包名+.wxapi這個包下面,不然微信支付成功後不會跳入此頁面,也就不能獲取支付後數據,這裏有個bug感受,我取消支付後關閉此activity,返回個人上一個activity,個人上一個能夠有生命週期,然而支付成功後返回後,activity沒有了生命週期了,也就沒法刷新頁面,不知道爲何!後來加了一個廣播,刷新了頁面數據ios

2 .支付寶開放平臺api

支付寶的移動支付與微信也差不太多,包名與簽名,還有一個私鑰公鑰的事,這個公私鑰就是填寫在合做夥伴密鑰部分,而不是申請的應用上,與pc、wap(手機網站支付)使用同一個合做夥伴祕鑰進行支付。應用的祕鑰填寫能夠進行其餘功能的開發,支付寶移動支付不須要,下載的例子簽名時候有個簽名bug,api版本不兼容,高版本手機報錯,須要處理下,SignUtils類中,KeyFactory keyf = KeyFactory.getInstance(ALGORITHM,」BC」);加一個「BC」,這個簽名在java程序是不會報錯的,可是在android4.0以上必須加上「BC」,這裏有個什麼位數的差別。微信

在服務市場簽約得到的大部分接口,簽約主體是商戶,接口權限屬於具體的商戶,這部分接口須要使用PID和密鑰來調用,此類接口網關通常爲mapi(https://mapi.alipay.com/gateway.do),PID對應的密鑰一共有三種簽名方式,分別是MD五、RSA、DSA。因爲產品的特殊性,每一個產品支持哪些簽名方式不盡相同,具體需參考各個產品的接口技術文檔。
使用合做夥伴密鑰的典型功能包括:
快捷登陸、移動支付、即時到帳收款、手機網站支付等。
相關文章
相關標籤/搜索