0、必備類函數
AlipayConfig配置文件 (簽約帳號、密鑰、頁面跳轉通知頁面都在這裏設定)ui
MD5支付寶簽名加密文件加密
AlipayCore支付寶接口公共函數類url
AlipayNotify-支付寶通知處理類code
AlipaySubmit支付寶接各接口請求提交類對象
HttpProtocolHandler接口
HttpRequestip
HttpResponse支付寶
HttpResultType部署
** 一、首先咱們須要一個表單來提交訂單信息**
要提交的5個參數:
-1 商戶訂單號-WIDout_trade_no(這個訂單號能夠自定義,(我是把本地的訂單號賦值給它))
-2 訂單名稱-WIDsubject
-4 商品展現網址-WIDshow_url
-5 商品描述-WIDbody (最後兩個參數我沒填也能夠提交成功,可是必需要有這些參數)
二、須要一個用來獲取這些訂單信息並提交的頁面
在這個頁面中,將獲取到的參數,以及支付寶配置的參數打包成一個Map<String,String>對象 這些配置參數有:
sParaTemp.put("service", AlipayConfig.service); sParaTemp.put("partner", AlipayConfig.partner); sParaTemp.put("seller_id", AlipayConfig.seller_id); sParaTemp.put("_input_charset", AlipayConfig.input_charset); sParaTemp.put("payment_type", AlipayConfig.payment_type); sParaTemp.put("notify_url", AlipayConfig.notify_url); sParaTemp.put("return_url", AlipayConfig.return_url);
接着創建支付請求
String sHtmlText = AlipaySubmit.buildRequest(sParaTemp,"get","確認"); //這一部分就是構建出一個表單來,而後提交 out.println(sHtmlText);
三、而後部署起來,支付完成後,就會跳轉到配置文件中的return_url域所指定的頁面。
這裏支付寶會回傳 三個參數:
一、支付寶交易號-trade_no 這個是支付寶那邊生成的
二、商鋪訂單號-out_trade_no,這個是以前能夠自定義的訂單號
三、交易狀態-trade_status
( TRADE_FINISHED(表示交易已經成功結束,並不能再對該交易作後續操做); TRADE_SUCCESS(表示交易已經成功結束,能夠對該交易作後續操做,如:分潤、退款等);)
以後還會計算通知驗證結果
boolean verify_result = AlipayNotify.verify(params); //這個會決定是驗證成功仍是驗證失敗
即使是交易成功的狀況下,也可能會驗證失敗(個人就是, 我能獲得TRADE_SUCCESS的交易狀態)
但既然能獲得交易是否成功的狀態就夠了,我沒有去管這個通知驗證問題。
我在獲得交易成功的狀態時,就能夠根據返回的訂單號修改相應訂單的信息。