162 lines
3.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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