java支付寶介面
Ⅰ java 調用支付介面為什麼非同步
在做java版本的支付寶介面的時候,最初是遇到了這樣的問題,就是說,在直接的掃碼支付,或者是直接的登錄賬號支付,是沒有問題的,
但是,在這樣的一種情況下是出現了一個問題,
我web端調用支付寶介面進行支付,一般都是支付成功之後,獲得支付成功信息,然後同時去更改我本地訂單狀態(已付款)。
但是有一種情況是這樣的:
調用支付寶介面,你輸入賬號密碼之後, 在支付寶最後一步你不去點確認付款。直接退出(相當於你沒有付款)。
然後,你用自己的手機支付寶客戶端打開,你會看到有一個未付款的訂單(也就是剛才你沒付款但生成的訂單)~這個時候 如果你去付款了,付款成功之後,就不可能調到我的web端呀?這樣我就不能更改我本地的訂單狀態了。
想問下,大家遇到這種情況是怎麼處理的?
有人說,每10秒鍾通過訂單號去支付寶查詢並得到該訂單狀態。這種方法貌似可以,但是我網路了半天沒有見到如何 根據訂單號去查詢訂單狀態啊!!! 支付寶的介面我有(Danbao擔保)。不太會用。
希望大神給予指點!!!在線坐等,感激萬分!!!
這個問題是來自一位博友,最開始也是沒有意識到什麼問題,為什麼是收到錢了,但是卻是沒有調用自己的邏輯代碼,
在看到了這位博友的問題之後,才是發現了自己的問題所在,所以在這里感謝一下,
然後是想說的是,知道了是什麼問題之後,然後就是專注於解決這個問題,在考慮了一上午之後還是不明白這個非同步通知是怎麼的接收到,然後是在一個偶然是看見了,一個提示,是說,自己的項目時候是允許這個路徑的訪問,因為非同步通知是伺服器通知,如果是你的過濾器或者是springmvc攔截器,把這個路徑攔截掉之後,那麼你就肯定是接收不到這個非同步通知了,
這個問題真的是很簡單,但是卻是糾結了一上午,在過濾器中將這個非同步通知路徑放開之後,然後就是支付成功之後,也是執行了自己的邏輯代碼,
這個就是這個非同步通知的遇到的問題,
Ⅱ java 支付寶支付介面 的 NotifyUrl 應該怎麼返回success 官網上說列印輸出 我用了println, 後來用return
(HttpServletRequestrequest,HttpServletResponseresponse,StringoutTradeNo){
//獲取支付寶POST過來反饋信息
Map<String,String>params=newHashMap<String,String>();
Map<?,?>requestParams=request.getParameterMap();
for(Iterator<?>iter=requestParams.keySet().iterator();iter.hasNext();){
Stringname=(String)iter.next();
String[]values=(String[])requestParams.get(name);
StringvalueStr="";
for(inti=0;i<values.length;i++){
valueStr=(i==values.length-1)?valueStr+values[i]
:valueStr+values[i]+",";
}
//亂碼解決,這段代碼在出現亂碼時使用。
//valueStr=newString(valueStr.getBytes("ISO-8859-1"),"utf-8");
params.put(name,valueStr);
}
//切記alipaypublickey是支付寶的公鑰,請去open.alipay.com對應應用下查看。
//booleanAlipaySignature.rsaCheckV1(Map<String,String>params,StringpublicKey,Stringcharset,Stringsign_type)
try{
booleanflag=AlipaySignature.rsaCheckV1(params,App.AliBaPay.ALIPAY_PUBLIC_KEY,"UTF-8","RSA2");
if(flag){
if("TRADE_SUCCESS".equals(params.get("trade_status"))||"TRADE_FINISHED".equals(params.get("trade_status"))){
//支付成功,錄入訂單數據
if(userMoneyService.userUpdateWaterAccountInfo(Integer.valueOf(outTradeNo))){
return"success";
}
}
}
}catch(Exceptione){
}
return"failure";
}
整個介面返回的數據,處理為字元串返回即可,不需要跳轉,也不能跳轉,要在你的resposne中body數據
記得採納
Ⅲ 我現在在做一個javaweb的畢業設計,購物網站,請問能在項目中使用支付寶的二維碼支付技術嗎
您好, 我這有幾套javaweb的在線商城, 裡面也是帶支付的功能, 由於平台對個人不開放許可權, 所以用官方方案就不太可能了
可以用的方案是直接早幾個四方聚合支付 這個用來測試一下還行
或者基於手機監控的方案去做, 這個能保證演示成功, 而且成本特別低
Ⅳ 集成支付寶java介面key有什麼作用
支付寶交易安全校驗碼(key)是商戶與支付寶簽約後,商戶獲得的支付寶商戶密鑰。
當商戶把支付寶功能接入商戶網站時會用到它們,以便讓支付寶認證商戶。
此外還有個重要參數是合作者身份ID(partner)
在和支付寶對接的時候, 這個key 會拼接在參數後面,然後進行加密 (可以是MD5,也可以是RSA)
不同的商戶,key值不一樣
這樣可以保證加密出來的參數安全性
Ⅳ java怎麼實現在線支付功能有這方面的書嗎
1、如果你要做支付功能,技術上很簡單,支付寶有提供介面,改兩個參數就可以用了,非常簡單。2、但是你得網站如果要上線盈利的話,就麻煩了。3、首先你的支付寶收款的賬號要進行商家認證,具體怎麼認證我就不知道了,當時是我老闆認證的,我就知道這個商家實名認證比個人實名認證麻煩的多。認證之後支付寶會給你兩個參數,一個是合作身份者ID,以2088開頭由16位純數字組成的字元串,一個是商戶的私鑰。你拿到這兩個參數之後去下載支付寶提供的介面程序,把這兩個參數填進去就好了,別的都不用動。當然訂單價格和訂單號的生成規則你可以自己寫。總之支付寶的介面開發的非常完善,而且傻瓜式操作,一看就懂。4、然後你的網站域名要備案,申請ICP證,經營性ICP(為用戶提供有償的信息服務)需要你注冊公司的,而且營業執照很麻煩,我老闆現在還在。如果你只是想加個功能,看看介面怎麼用,那簡單。但是你要做正規的網站用介面盈利的話,技術上實現很簡單,把程序包下下來,然後改兩個參數,但是合法經營的話需要的手續很多。
Ⅵ java支付寶介面 訂單號如何產生
訂單號生成規則很多,比較常用的就是採用時間戳+隨機數+序列號。
如:2015062615273130001
有問題歡迎提問,滿意請採納哦!