APP支付:APP支付
其实支付宝的PC支付和APP的支付区别并不是很大区别只是在预下单这一块 APP是直接拿到加签串拉起支付宝进行直接支付 PC是拿到支付宝的串去生成二维码供支付宝直接扫描进行支付。好了 直接开始上源码
APP支付源码
/**
*
* @Title: sitePayAli
* @Description: TODO(站点充值支付宝支付)
* @author
* @date 2018-7-24
* @param request
* @return
*/
@RequestMapping(value = "trans", method = RequestMethod.POST)
@ResponseBody
@CrossOrigin(origins="*",maxAge=3600)
public String trans(PayModelVo payModelVo){
ResultModel resultModel = new ResultModel();
try {
//回调地址
payModelVo.setNotifyUrl(AliPayConfig.NOTIFY_URL);
payModelVo.setReturnUrl(AliPayConfig.RETURN_URL);
//返回支付宝请求
String orderString = AliPayConfig.aliPayPc(payModelVo);
resultModel.setError(200);
resultModel.setErrorCode("10007");
resultModel.setMsg("预下单成功");
resultModel.setResult(orderString);
}catch (Exception e) {
log.error("支付宝支付异常", e);
resultModel.setError(500);
resultModel.setErrorCode("10008");
resultModel.setMsg("预下单失败");
resultModel.setResult("");
}
log.info("支付宝支付pc:" + resultModel);
return String.valueOf(resultModel.getResult());
}
直接调取这个方法可以直接发起支付 向支付宝发起预下单请求方法
public static String aliPayPc(PayModelVo payModelVo) {
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
alipayRequest.setReturnUrl(payModelVo.getReturnUrl());// 前台通知
alipayRequest.setNotifyUrl(payModelVo.getNotifyUrl());// 后台回调
JSONObject bizContent = new JSONObject();
bizContent.put("out_trade_no", payModelVo.getOutTradeNo());
bizContent.put("total_amount", payModelVo.getMoney());// 订单金额:元
bizContent.put("subject", payModelVo.getSubject());// 订单标题
bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY");
bizContent.put("body", payModelVo.getBody());
bizContent.put("enable_pay_channels", "moneyFund,debitCardExpress");
String biz = bizContent.toString().replaceAll("\"", "'");
alipayRequest.setBizContent(biz);
String form = Constants.FAIL;
AlipayClient alipayClient = getAlipayClient();
try {
form = alipayClient.pageExecute(alipayRequest).getBody();
} catch (AlipayApiException e) {
}
return form;
}
OK 这样PC就可以直接拿到串进行二维码的生成了 也可以后台直接生成放到固定的服务器上 发给PC一个链接 让他显示 这样更加安全一些
二维码生成:二维码生成附带水印
下一篇 支付宝的提现功能