mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-30 01:38:43 +08:00 
			
		
		
		
	1. AlipayBarPayClient 增加小额支付的成功返回
This commit is contained in:
		| @@ -81,6 +81,8 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | |||||||
|         PayOrderRespDTO resp; |         PayOrderRespDTO resp; | ||||||
|         try { |         try { | ||||||
|             resp = doUnifiedOrder(reqDTO); |             resp = doUnifiedOrder(reqDTO); | ||||||
|  |         } catch (ServiceException ex) { // 业务异常,都是实现类已经翻译,所以直接抛出即可 | ||||||
|  |             throw ex; | ||||||
|         } catch (Throwable ex) { |         } catch (Throwable ex) { | ||||||
|             // 系统异常,则包装成 PayException 异常抛出 |             // 系统异常,则包装成 PayException 异常抛出 | ||||||
|             log.error("[unifiedOrder][客户端({}) request({}) 发起支付异常]", |             log.error("[unifiedOrder][客户端({}) request({}) 发起支付异常]", | ||||||
| @@ -97,6 +99,8 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | |||||||
|     public final PayOrderRespDTO parseOrderNotify(Map<String, String> params, String body) { |     public final PayOrderRespDTO parseOrderNotify(Map<String, String> params, String body) { | ||||||
|         try { |         try { | ||||||
|             return doParseOrderNotify(params, body); |             return doParseOrderNotify(params, body); | ||||||
|  |         } catch (ServiceException ex) { // 业务异常,都是实现类已经翻译,所以直接抛出即可 | ||||||
|  |             throw ex; | ||||||
|         } catch (Throwable ex) { |         } catch (Throwable ex) { | ||||||
|             log.error("[parseOrderNotify][客户端({}) params({}) body({}) 解析失败]", |             log.error("[parseOrderNotify][客户端({}) params({}) body({}) 解析失败]", | ||||||
|                     getId(), params, body, ex); |                     getId(), params, body, ex); | ||||||
| @@ -111,6 +115,8 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | |||||||
|     public final PayOrderRespDTO getOrder(String outTradeNo) { |     public final PayOrderRespDTO getOrder(String outTradeNo) { | ||||||
|         try { |         try { | ||||||
|             return doGetOrder(outTradeNo); |             return doGetOrder(outTradeNo); | ||||||
|  |         } catch (ServiceException ex) { // 业务异常,都是实现类已经翻译,所以直接抛出即可 | ||||||
|  |             throw ex; | ||||||
|         } catch (Throwable ex) { |         } catch (Throwable ex) { | ||||||
|             log.error("[getOrder][客户端({}) outTradeNo({}) 查询支付单异常]", |             log.error("[getOrder][客户端({}) outTradeNo({}) 查询支付单异常]", | ||||||
|                     getId(), outTradeNo, ex); |                     getId(), outTradeNo, ex); | ||||||
| @@ -130,8 +136,7 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | |||||||
|         PayRefundRespDTO resp; |         PayRefundRespDTO resp; | ||||||
|         try { |         try { | ||||||
|             resp = doUnifiedRefund(reqDTO); |             resp = doUnifiedRefund(reqDTO); | ||||||
|         } catch (ServiceException ex) { |         } catch (ServiceException ex) { // 业务异常,都是实现类已经翻译,所以直接抛出即可 | ||||||
|             // 业务异常,都是实现类已经翻译,所以直接抛出即可 |  | ||||||
|             throw ex; |             throw ex; | ||||||
|         } catch (Throwable ex) { |         } catch (Throwable ex) { | ||||||
|             // 系统异常,则包装成 PayException 异常抛出 |             // 系统异常,则包装成 PayException 异常抛出 | ||||||
| @@ -148,6 +153,8 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | |||||||
|     public final PayRefundRespDTO parseRefundNotify(Map<String, String> params, String body) { |     public final PayRefundRespDTO parseRefundNotify(Map<String, String> params, String body) { | ||||||
|         try { |         try { | ||||||
|             return doParseRefundNotify(params, body); |             return doParseRefundNotify(params, body); | ||||||
|  |         } catch (ServiceException ex) { // 业务异常,都是实现类已经翻译,所以直接抛出即可 | ||||||
|  |             throw ex; | ||||||
|         } catch (Throwable ex) { |         } catch (Throwable ex) { | ||||||
|             log.error("[parseRefundNotify][客户端({}) params({}) body({}) 解析失败]", |             log.error("[parseRefundNotify][客户端({}) params({}) body({}) 解析失败]", | ||||||
|                     getId(), params, body, ex); |                     getId(), params, body, ex); | ||||||
| @@ -162,6 +169,8 @@ public abstract class AbstractPayClient<Config extends PayClientConfig> implemen | |||||||
|     public final PayRefundRespDTO getRefund(String outTradeNo, String outRefundNo) { |     public final PayRefundRespDTO getRefund(String outTradeNo, String outRefundNo) { | ||||||
|         try { |         try { | ||||||
|             return doGetRefund(outTradeNo, outRefundNo); |             return doGetRefund(outTradeNo, outRefundNo); | ||||||
|  |         } catch (ServiceException ex) { // 业务异常,都是实现类已经翻译,所以直接抛出即可 | ||||||
|  |             throw ex; | ||||||
|         } catch (Throwable ex) { |         } catch (Throwable ex) { | ||||||
|             log.error("[getRefund][客户端({}) outTradeNo({}) outRefundNo({}) 查询退款单异常]", |             log.error("[getRefund][客户端({}) outTradeNo({}) outRefundNo({}) 查询退款单异常]", | ||||||
|                     getId(), outTradeNo, outRefundNo, ex); |                     getId(), outTradeNo, outRefundNo, ex); | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | package cn.iocoder.yudao.framework.pay.core.client.impl.alipay; | ||||||
|  |  | ||||||
|  | import cn.hutool.core.date.LocalDateTimeUtil; | ||||||
| import cn.hutool.core.map.MapUtil; | import cn.hutool.core.map.MapUtil; | ||||||
| import cn.hutool.core.util.StrUtil; | import cn.hutool.core.util.StrUtil; | ||||||
| import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||||||
| @@ -55,13 +56,17 @@ public class AlipayBarPayClient extends AbstractAlipayPayClient { | |||||||
|         request.setNotifyUrl(reqDTO.getNotifyUrl()); |         request.setNotifyUrl(reqDTO.getNotifyUrl()); | ||||||
|         request.setReturnUrl(reqDTO.getReturnUrl()); |         request.setReturnUrl(reqDTO.getReturnUrl()); | ||||||
|  |  | ||||||
|         // TODO 芋艿:各种边界的处理 |  | ||||||
|         // 2.1 执行请求 |         // 2.1 执行请求 | ||||||
|         AlipayTradePayResponse response = client.execute(request); |         AlipayTradePayResponse response = client.execute(request); | ||||||
|         // 2.2 处理结果 |         // 2.2 处理结果 | ||||||
|         if (!response.isSuccess()) { |         if (!response.isSuccess()) { | ||||||
|             return buildClosedPayOrderRespDTO(reqDTO, response); |             return buildClosedPayOrderRespDTO(reqDTO, response); | ||||||
|         } |         } | ||||||
|  |         if ("10000".equals(response.getCode())) { // 免密支付 | ||||||
|  |             return PayOrderRespDTO.successOf(response.getTradeNo(), response.getBuyerUserId(), LocalDateTimeUtil.of(response.getGmtPayment()), | ||||||
|  |                     response.getOutTradeNo(), response); | ||||||
|  |         } | ||||||
|  |         // 大额支付,需要用户输入密码,所以返回 waiting。此时,前端一般会进行轮询 | ||||||
|         return PayOrderRespDTO.waitingOf(displayMode, "", |         return PayOrderRespDTO.waitingOf(displayMode, "", | ||||||
|                 reqDTO.getOutTradeNo(), response); |                 reqDTO.getOutTradeNo(), response); | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV