2025-04-27 17:50:45 +08:00
|
|
|
|
package com.cdzy.payment.service;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
2025-05-19 15:04:54 +08:00
|
|
|
|
import com.cdzy.payment.model.dto.*;
|
2025-05-16 15:51:00 +08:00
|
|
|
|
import com.mybatisflex.core.paginate.Page;
|
2025-04-27 17:50:45 +08:00
|
|
|
|
import com.wechat.pay.java.service.payments.model.Transaction;
|
|
|
|
|
|
import com.wechat.pay.java.service.refund.model.Refund;
|
|
|
|
|
|
|
2025-05-12 18:10:11 +08:00
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
2025-04-29 14:31:26 +08:00
|
|
|
|
|
2025-04-27 17:50:45 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 微信支付服务类(JSAPI支付),小程序
|
|
|
|
|
|
*
|
|
|
|
|
|
* @author dingchao
|
|
|
|
|
|
* @date 2025/4/25
|
|
|
|
|
|
* @modified by:
|
|
|
|
|
|
*/
|
|
|
|
|
|
public interface WxPayService {
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 关闭订单
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param outTradeNo 商户(骑行)订单号
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
boolean closeOrder(String outTradeNo);
|
2025-04-30 16:28:43 +08:00
|
|
|
|
|
2025-04-27 17:50:45 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* JSAPI支付下单
|
|
|
|
|
|
*
|
2025-05-14 17:47:36 +08:00
|
|
|
|
* @param orderId 订单id
|
2025-05-12 11:07:14 +08:00
|
|
|
|
* @return 下单成功返回wx支付请求参数,否则返回null
|
2025-04-27 17:50:45 +08:00
|
|
|
|
*/
|
2025-05-14 17:47:36 +08:00
|
|
|
|
JSONObject prepay(String orderId);
|
2025-05-09 17:49:33 +08:00
|
|
|
|
|
2025-04-30 16:28:43 +08:00
|
|
|
|
|
2025-04-27 17:50:45 +08:00
|
|
|
|
/**
|
2025-05-14 17:47:36 +08:00
|
|
|
|
* 通过支付订单号查询支付订单
|
2025-04-27 17:50:45 +08:00
|
|
|
|
*
|
2025-05-14 17:47:36 +08:00
|
|
|
|
* @param outTradeNo 支付订单号
|
2025-04-27 17:50:45 +08:00
|
|
|
|
* @return 支付订单信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
Transaction queryOrderByOutTradeNo(String outTradeNo);
|
2025-04-29 14:31:26 +08:00
|
|
|
|
|
2025-05-14 17:47:36 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 通过商户(骑行)订单号查询支付订单
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param orderId 商户(骑行)订单号
|
|
|
|
|
|
* @return 支付订单信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
Transaction queryOrderByOrderId(String orderId);
|
|
|
|
|
|
|
2025-04-30 16:28:43 +08:00
|
|
|
|
/**
|
2025-05-09 17:49:33 +08:00
|
|
|
|
* 通过订单号查询支付订单状态
|
2025-04-30 16:28:43 +08:00
|
|
|
|
*
|
2025-05-14 17:47:36 +08:00
|
|
|
|
* @param orderId 商户(骑行)订单号
|
2025-04-30 16:28:43 +08:00
|
|
|
|
* @return 支付订单信息
|
|
|
|
|
|
*/
|
2025-05-14 17:47:36 +08:00
|
|
|
|
HandleNotifyResult queryOrderStatusByOrderId(String orderId);
|
2025-04-30 16:28:43 +08:00
|
|
|
|
|
2025-04-29 14:31:26 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 处理支付回调
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param request 回调请求
|
|
|
|
|
|
* @return 支付订单信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
HandleNotifyResult handlePayNotify(HttpServletRequest request);
|
|
|
|
|
|
|
2025-04-27 17:50:45 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 退款申请
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param outTradeNo 商户(骑行)订单号
|
2025-05-21 16:16:16 +08:00
|
|
|
|
* @param reason 退款原因
|
2025-04-27 17:50:45 +08:00
|
|
|
|
* @return 退款信息id
|
|
|
|
|
|
*/
|
2025-05-12 11:07:14 +08:00
|
|
|
|
String refundApply(String outTradeNo, String reason);
|
|
|
|
|
|
|
2025-05-16 15:51:00 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 审核退款申请
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param processDto 退款审核信息
|
|
|
|
|
|
* @return 退款信息id
|
2025-05-21 16:16:16 +08:00
|
|
|
|
* @operator 操作人id
|
2025-05-16 15:51:00 +08:00
|
|
|
|
*/
|
2025-05-20 16:46:49 +08:00
|
|
|
|
Boolean refundReview(ReqRefundProcessDto processDto, String operator);
|
2025-05-16 15:51:00 +08:00
|
|
|
|
|
2025-05-12 11:07:14 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 调用微信退款接口
|
|
|
|
|
|
*
|
2025-05-16 15:51:00 +08:00
|
|
|
|
* @param refundDto 退款请求
|
2025-05-21 16:16:16 +08:00
|
|
|
|
* @param operator 操作人id
|
2025-05-12 11:07:14 +08:00
|
|
|
|
* @return 退款信息id
|
|
|
|
|
|
*/
|
2025-05-20 16:46:49 +08:00
|
|
|
|
HandleNotifyResult refund(ReqRefundDto refundDto, String operator);
|
2025-04-27 17:50:45 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2025-05-22 17:38:18 +08:00
|
|
|
|
* 通过商户退款id查询退款信息
|
2025-04-27 17:50:45 +08:00
|
|
|
|
*
|
2025-05-22 17:38:18 +08:00
|
|
|
|
* @param refundId 商户退款订主键
|
2025-04-27 17:50:45 +08:00
|
|
|
|
* @return 退款信息
|
|
|
|
|
|
*/
|
2025-05-22 17:38:18 +08:00
|
|
|
|
Refund queryRefundById(String refundId);
|
2025-04-27 17:50:45 +08:00
|
|
|
|
|
2025-04-30 16:28:43 +08:00
|
|
|
|
/**
|
2025-05-22 17:38:18 +08:00
|
|
|
|
* 通过商户退款单号查询退款信息
|
2025-04-30 16:28:43 +08:00
|
|
|
|
*
|
2025-05-22 17:38:18 +08:00
|
|
|
|
* @param outTradeNo 商户退款订单号
|
2025-04-30 16:28:43 +08:00
|
|
|
|
* @return 退款信息
|
|
|
|
|
|
*/
|
2025-05-22 17:38:18 +08:00
|
|
|
|
Refund queryRefundByOutTradeNo(String outTradeNo);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 通过退款记录主键id查询退款信息状态
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param refundId 退款记录主键id
|
|
|
|
|
|
* @return 退款状态信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
HandleNotifyResult queryRefundStatusById(String refundId);
|
2025-04-30 16:28:43 +08:00
|
|
|
|
|
2025-04-29 14:31:26 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 处理支退款回调
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param request 回调请求
|
|
|
|
|
|
* @return 退款订单信息
|
|
|
|
|
|
*/
|
|
|
|
|
|
HandleNotifyResult handleRefundNotify(HttpServletRequest request);
|
|
|
|
|
|
|
2025-05-16 15:51:00 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 获取退款列表
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param refundDto 查询条件
|
|
|
|
|
|
* @return 退款列表
|
|
|
|
|
|
*/
|
|
|
|
|
|
Page<?> queryRefundList(ReqRefundQueryDto refundDto);
|
2025-05-19 15:04:54 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 退款订单详情
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param refundId 退款id
|
|
|
|
|
|
* @return 退款详情
|
|
|
|
|
|
*/
|
|
|
|
|
|
ResOrderInfoDto queryRefundOrderById(String refundId);
|
2025-05-21 15:46:19 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 退款申请订单详情
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param orderId 订单id
|
|
|
|
|
|
* @return 退款申请详情
|
|
|
|
|
|
*/
|
|
|
|
|
|
ResRefundOrderInfo queryRefundApplyOrderById(String orderId);
|
2025-05-21 16:16:16 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取退款申请用户详情
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param refundId 退款id
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
UserBasicInformation queryRefundUserInfoById(String refundId);
|
2025-04-27 17:50:45 +08:00
|
|
|
|
}
|