zhima
This commit is contained in:
@ -27,6 +27,13 @@ public class AliPaymentController {
|
|||||||
return alipayService.unifiedOrder(request);
|
return alipayService.unifiedOrder(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "支付宝芝麻统一下单接口")
|
||||||
|
@PostMapping("/zhiMaOrder")
|
||||||
|
public AlipayCreateResponse aliPayZhiMaOrder(@RequestBody AlipayCreateRequest request) {
|
||||||
|
log.info("收到支付宝支付请求: {}", request);
|
||||||
|
return alipayService.zhiMaOrder(request);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询订单接口
|
* 查询订单接口
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -11,4 +11,5 @@ public class AlipayCreateRequest {
|
|||||||
private String totalAmount; // 订单总金额
|
private String totalAmount; // 订单总金额
|
||||||
private String body; // 订单描述
|
private String body; // 订单描述
|
||||||
private String openId; // 用户ID
|
private String openId; // 用户ID
|
||||||
|
private String authNo;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,9 @@ public interface AlipayService {
|
|||||||
*/
|
*/
|
||||||
AlipayCreateResponse unifiedOrder(AlipayCreateRequest request);
|
AlipayCreateResponse unifiedOrder(AlipayCreateRequest request);
|
||||||
|
|
||||||
|
|
||||||
|
AlipayCreateResponse zhiMaOrder(AlipayCreateRequest request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询订单
|
* 查询订单
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -139,6 +139,70 @@ public class AlipayServiceImpl implements AlipayService {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AlipayCreateResponse zhiMaOrder(AlipayCreateRequest alipayCreateRequest) {
|
||||||
|
AlipayCreateResponse response = new AlipayCreateResponse();
|
||||||
|
try {
|
||||||
|
|
||||||
|
// 构造请求参数以调用接口
|
||||||
|
AlipayTradePayRequest request = new AlipayTradePayRequest();
|
||||||
|
AlipayTradePayModel model = new AlipayTradePayModel();
|
||||||
|
|
||||||
|
// 设置商户订单号
|
||||||
|
model.setOutTradeNo(alipayCreateRequest.getOutTradeNo());
|
||||||
|
|
||||||
|
// 设置订单总金额
|
||||||
|
model.setTotalAmount(alipayCreateRequest.getTotalAmount());
|
||||||
|
|
||||||
|
// 设置订单标题
|
||||||
|
model.setSubject(alipayCreateRequest.getSubject());
|
||||||
|
|
||||||
|
model.setAuthNo(alipayCreateRequest.getAuthNo());
|
||||||
|
|
||||||
|
// 设置预授权确认模式
|
||||||
|
model.setAuthConfirmMode("NOT_COMPLETE");
|
||||||
|
|
||||||
|
// 设置产品码
|
||||||
|
model.setProductCode("JSAPI_PAY");
|
||||||
|
|
||||||
|
|
||||||
|
request.setBizModel(model);
|
||||||
|
//设置回调地址
|
||||||
|
request.setNotifyUrl(notifyUrl);
|
||||||
|
|
||||||
|
// 第三方代调用模式下请设置app_auth_token
|
||||||
|
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
|
||||||
|
log.info("支付宝免押支付下单请求:{}", JSONObject.toJSONString(request));
|
||||||
|
AlipayTradePayResponse alipayResponse = alipaySdkUtil.execute(request);
|
||||||
|
log.info("支付宝免押支付下单返回:{}", JSONObject.toJSONString(alipayResponse));
|
||||||
|
if (alipayResponse.isSuccess()) {
|
||||||
|
response.setSuccess(true);
|
||||||
|
response.setOrderStr(alipayResponse.getBody());
|
||||||
|
response.setOutTradeNo(alipayCreateRequest.getOutTradeNo());
|
||||||
|
response.setTradeNo(alipayResponse.getTradeNo());
|
||||||
|
response.setCode("SUCCESS");
|
||||||
|
response.setMessage("下单成功");
|
||||||
|
//保存支付单
|
||||||
|
recordPaymentInfo(alipayCreateRequest);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
response.setSuccess(false);
|
||||||
|
response.setCode("FAIL");
|
||||||
|
response.setMessage("下单失败: " + alipayResponse.getMsg() + ":" + alipayResponse.getSubMsg());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("支付宝下单异常,公司ID: {}, 订单号: {}", alipayCreateRequest.getCompanyId(), alipayCreateRequest.getOutTradeNo(), e);
|
||||||
|
response.setSuccess(false);
|
||||||
|
response.setCode("FAIL");
|
||||||
|
response.setMessage("下单异常: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AlipayQueryResponse orderQuery(String outTradeNo) {
|
public AlipayQueryResponse orderQuery(String outTradeNo) {
|
||||||
AlipayQueryResponse response = new AlipayQueryResponse();
|
AlipayQueryResponse response = new AlipayQueryResponse();
|
||||||
|
|||||||
Reference in New Issue
Block a user