JAVA 實現支付寶接口

0、必備類函數

AlipayConfig配置文件 (簽約帳號、密鑰、頁面跳轉通知頁面都在這裏設定)ui

MD5支付寶簽名加密文件加密

AlipayCore支付寶接口公共函數類url

AlipayNotify-支付寶通知處理類code

AlipaySubmit支付寶接各接口請求提交類對象

HttpProtocolHandler接口

HttpRequestip

HttpResponse支付寶

HttpResultType部署

完整案例(須要有簽約帳號)

** 一、首先咱們須要一個表單來提交訂單信息**

要提交的5個參數:

-1 商戶訂單號-WIDout_trade_no(這個訂單號能夠自定義,(我是把本地的訂單號賦值給它))

-2 訂單名稱-WIDsubject

  • 3付款金額-WIDtotal_fee

-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的交易狀態)

但既然能獲得交易是否成功的狀態就夠了,我沒有去管這個通知驗證問題。

我在獲得交易成功的狀態時,就能夠根據返回的訂單號修改相應訂單的信息。

相關文章
相關標籤/搜索