* 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由淺入深全套
Mybatis由淺入深全套
獲取方式:關注“黑馬程序員”頭條號,評論轉發後臺回覆“ssm” 即可獲取。
閱讀更多 黑馬程序員 的文章