Spring MVC+Spring+Mybatis實現支付寶支付功能(圖文詳解)

* Copyright: Copyright (c) 2017

* Company:FURUIBOKE.SCIENCE.AND.TECHNOLOGY

*

* @author sihai

* @date 2017年8月23日 下午8:50:43

* @version V1.0

*/

@RequestMapping(value = "/goAlipay", produces = "text/html; charset=UTF-8")

@ResponseBody

public String goAlipay(String orderId, HttpServletRequest request, HttpServletRequest response) throws Exception {

Orders order = orderService.getOrderById(orderId);

Product product = productService.getProductById(order.getProductId());

//獲得初始化的AlipayClient

AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);

//設置請求參數

AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();

alipayRequest.setReturnUrl(AlipayConfig.return_url);

alipayRequest.setNotifyUrl(AlipayConfig.notify_url);

//商戶訂單號,商戶網站訂單系統中唯一訂單號,必填

String out_trade_no = orderId;

//付款金額,必填

String total_amount = order.getOrderAmount();

//訂單名稱,必填

String subject = product.getName();

//商品描述,可空

String body = "用戶訂購商品個數:" + order.getBuyCounts();

// 該筆訂單允許的最晚付款時間,逾期將關閉交易。取值範圍:1m~15d。m-分鐘,h-小時,d-天,1c-當天(1c-當天的情況下,無論交易何時創建,都在0點關閉)。 該參數數值不接受小數點, 如 1.5h,可轉換為 90m。

String timeout_express = "1c";

alipayRequest.setBizContent("{"out_trade_no":""+ out_trade_no +"","

+ ""total_amount":""+ total_amount +"","

+ ""subject":""+ subject +"","

+ ""body":""+ body +"","

+ ""timeout_express":""+ timeout_express +"","

+ ""product_code":"FAST_INSTANT_TRADE_PAY"}");

//請求

String result = alipayClient.pageExecute(alipayRequest).getBody();

return result;

}

這段代碼都可以在阿里支付的demo裡面找到的,只需要複製過來,然後改改,整合到ssm環境即可。

上面就是將阿里支付寶支付整合到ssm的全過程了。

本文對大家有沒有用呢?有用請點個贊吧。另外分享一下資源:

Springmvc由淺入深全套

Spring MVC+Spring+Mybatis實現支付寶支付功能(圖文詳解)

Mybatis由淺入深全套

Spring MVC+Spring+Mybatis實現支付寶支付功能(圖文詳解)

獲取方式:關注“黑馬程序員”頭條號,評論轉發後臺回覆“ssm” 即可獲取。


分享到:


相關文章: