| | |
| | | package com.ruoyi.payment.infrastructure.channel.alipay; |
| | | |
| | | import com.ruoyi.payment.infrastructure.config.AlipayConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.http.HttpEntity; |
| | | import org.apache.http.client.methods.CloseableHttpResponse; |
| | |
| | | import org.apache.http.impl.client.CloseableHttpClient; |
| | | import org.apache.http.impl.client.HttpClients; |
| | | import org.apache.http.util.EntityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * 支付宝第三方接口客户端 |
| | |
| | | @Component |
| | | public class AlipayThirdPartyClient { |
| | | |
| | | @Autowired |
| | | private AlipayConfig alipayConfig; |
| | | /** |
| | | * 第三方支付宝当面付接口地址 |
| | | */ |
| | | private static final String THIRD_PARTY_ALIPAY_URL = "https://sys.966120.com.cn/alipay_pay_QR_NotifyUrl.php"; |
| | | // private String THIRD_PARTY_ALIPAY_URL = "https://sys.966120.com.cn/alipay_pay_QR_NotifyUrl.php"; |
| | | |
| | | /** |
| | | * 第三方支付宝查询接口地址 |
| | |
| | | outTradeNo, totalFee, serviceOrdId); |
| | | |
| | | try (CloseableHttpClient httpClient = HttpClients.createDefault()) { |
| | | HttpPost httpPost = new HttpPost(THIRD_PARTY_ALIPAY_URL); |
| | | HttpPost httpPost = new HttpPost(this.alipayConfig.getThirdParty().getUrl()); |
| | | |
| | | // 设置Cookie头 |
| | | httpPost.setHeader("Cookie", "CAMEName="); |
| | | |
| | | BigDecimal totalFeeYuan = BigDecimal.valueOf(totalFee / 100f); |
| | | // 构建multipart/form-data请求体 |
| | | HttpEntity entity = MultipartEntityBuilder.create() |
| | | .addTextBody("notify_url", notifyUrl) |
| | | .addTextBody("out_trade_no", outTradeNo) |
| | | .addTextBody("total_fee", String.valueOf(totalFee)) |
| | | .addTextBody("total_fee", String.valueOf(totalFeeYuan)) |
| | | .addTextBody("ServiceOrdID", serviceOrdId) |
| | | .build(); |
| | | |
| | | httpPost.setEntity(entity); |
| | | |
| | | log.info("发送请求到第三方接口: {}", THIRD_PARTY_ALIPAY_URL); |
| | | log.info("发送请求到第三方接口: {}", this.alipayConfig.getThirdParty().getUrl()); |
| | | |
| | | // 发送请求 |
| | | try (CloseableHttpResponse response = httpClient.execute(httpPost)) { |