下面列出了怎么用com.alipay.api.response.AlipayTradePagePayResponse的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* 支付宝支付方式
* @param money 支付金额
* @author jitwxs
* @since 2018/5/14 8:53
*/
@PostMapping("/alipay")
public void paymentAlipay(Double money, HttpSession session, HttpServletResponse response) throws IOException {
Express express = (Express)session.getAttribute(SESSION_LATEST_EXPRESS);
if(express == null || money == null) {
response.getWriter().write("参数错误,请重新下单");
}
// 金额保留两位
money = (double) (Math.round(money * 100)) / 100;
// 生成订单
String expressId = expressService.createExpress(express);
// 生成订单支付
expressPaymentService.createAliPayment(expressId, money, aliPaySetting.getSellerId());
// 1、设置请求参数
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
// 页面跳转同步通知页面路径
alipayRequest.setReturnUrl(aliPaySetting.getReturnUrl());
// 服务器异步通知页面路径
alipayRequest.setNotifyUrl(aliPaySetting.getNotifyUrl());
// 2、SDK已经封装掉了公共参数,这里只需要传入业务参数,请求参数查阅开头Wiki
Map<String,String> map = new HashMap<>(16);
map.put("out_trade_no", expressId);
map.put("total_amount", String.valueOf(money));
map.put("subject", "快递代拿");
map.put("body", "快递代拿在线支付");
// 销售产品码
map.put("product_code","FAST_INSTANT_TRADE_PAY");
alipayRequest.setBizContent(JsonUtils.objectToJson(map));
response.setContentType("text/html;charset=utf-8");
try{
// 3、生成支付表单
AlipayTradePagePayResponse alipayResponse = alipayClient.pageExecute(alipayRequest);
if(alipayResponse.isSuccess()) {
String result = alipayResponse.getBody();
response.getWriter().write(result);
} else {
response.getWriter().write("error");
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 支付宝支付
* 该方法无返回值,执行成功后response回写结果即可
* @param subject 订单名称
* @param body 订单描述
* @param money 支付金额
* @author jitwxs
* @since 2018/6/4 14:00
*/
@PostMapping("/alipay/payment")
public void payment(String subject, String body, float money, HttpServletResponse response) {
// 金额保留两位
money = (float) (Math.round(money * 100)) / 100;
// 生成订单
OrderInfo orderInfo = orderInfoService.createOrder(subject, body, money, aliPayConfig.getSellerId());
// 1、设置请求参数
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
// 页面跳转同步通知页面路径
alipayRequest.setReturnUrl(aliPayConfig.getReturnUrl());
// 服务器异步通知页面路径
alipayRequest.setNotifyUrl(aliPayConfig.getNotifyUrl());
// 2、SDK已经封装掉了公共参数,这里只需要传入业务参数,请求参数查阅开头Wiki
Map<String,String> map = new HashMap<>(16);
map.put("out_trade_no", orderInfo.getOrderId());
map.put("total_amount", String.valueOf(money));
map.put("subject", subject);
map.put("body",body);
// 销售产品码
map.put("product_code","FAST_INSTANT_TRADE_PAY");
alipayRequest.setBizContent(JsonUtils.objectToJson(map));
response.setContentType("text/html;charset=utf-8");
try{
// 3、生成支付表单
AlipayTradePagePayResponse alipayResponse = alipayClient.pageExecute(alipayRequest);
if(alipayResponse.isSuccess()) {
String result = alipayResponse.getBody();
response.getWriter().write(result);
} else {
log.error("【支付表单生成】失败,错误信息:{}", alipayResponse.getSubMsg());
response.getWriter().write("error");
}
} catch (Exception e) {
log.error("【支付表单生成】异常,异常信息:{}", e.getMessage());
e.printStackTrace();
}
}
public Class<AlipayTradePagePayResponse> getResponseClass() {
return AlipayTradePagePayResponse.class;
}
public Class<AlipayTradePagePayResponse> getResponseClass() {
return AlipayTradePagePayResponse.class;
}
public Class<AlipayTradePagePayResponse> getResponseClass() {
return AlipayTradePagePayResponse.class;
}