zhujie
9 天以前 19428a49b4c07b14097615d48a7a72dbf941c4e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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 "";
    }
}