package com.mzl.flower.service.impl.pay;
|
|
import com.alipay.api.AlipayClient;
|
import com.alipay.api.domain.AlipayMerchantSolcreditserviceprodOrderQueryModel;
|
import com.alipay.api.domain.AlipayTradeQueryModel;
|
import com.alipay.api.request.AlipayMerchantSolcreditserviceprodOrderQueryRequest;
|
import com.alipay.api.request.AlipayTradeQueryRequest;
|
import com.alipay.api.response.AlipayMerchantSolcreditserviceprodOrderQueryResponse;
|
import com.alipay.api.response.AlipayTradeQueryResponse;
|
import com.mzl.flower.config.pay.AlipayProperties;
|
import com.mzl.flower.service.pay.AlipayService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
@Slf4j
|
public class AlipayServiceImpl implements AlipayService {
|
|
|
@Autowired
|
private AlipayProperties alipayProperties;
|
|
@Autowired
|
AlipayClient alipayClient;
|
@Override
|
public AlipayTradeQueryResponse queryOrderByOutOrderNo(String outOrderNo) {
|
|
try {
|
// 构造请求参数以调用接口
|
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
|
AlipayTradeQueryModel model = new AlipayTradeQueryModel();
|
|
// 设置订单支付时传入的商户订单号
|
model.setOutTradeNo(outOrderNo);
|
|
// 设置支付宝交易号
|
// model.setTradeNo("2014112611001004680 073956707");
|
|
// 设置查询选项
|
List<String> queryOptions = new ArrayList<String>();
|
queryOptions.add("trade_settle_info");
|
model.setQueryOptions(queryOptions);
|
|
request.setBizModel(model);
|
// 第三方代调用模式下请设置app_auth_token
|
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
|
|
AlipayTradeQueryResponse response = alipayClient.execute(request);
|
System.out.println(response.getBody());
|
|
if (response.isSuccess()) {
|
System.out.println("调用成功");
|
|
} else {
|
System.out.println("调用失败");
|
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
|
// String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
|
// System.out.println(diagnosisUrl);
|
}
|
return response;
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
}
|
|
@Override
|
public String notifyCallBack() {
|
return "";
|
}
|
}
|