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” 即可获取。


分享到:


相關文章: