137 lines
3.1 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;
import java.util.List;
/**
* 微信支付服务类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
*/
Boolean refundReview(ReqRefundProcessDto processDto);
/**
* 调用微信退款接口
*
* @param refundDto 退款请求
* @return 退款信息id
*/
HandleNotifyResult refund(ReqRefundDto refundDto);
/**
* 通过商户退款单号查询退款信息
*
* @param outRefundNo 商户退款订单号
* @return 退款信息
*/
Refund queryRefundByOutNo(String outRefundNo);
/**
* 通过商户退款单号查询退款信息状态
*
* @param outRefundNo 商户退款订单号
* @return 退款信息
*/
HandleNotifyResult queryRefundStatusByOutNo(String outRefundNo);
/**
* 处理支退款回调
*
* @param request 回调请求
* @return 退款订单信息
*/
HandleNotifyResult handleRefundNotify(HttpServletRequest request);
/**
* 获取退款列表
*
* @param refundDto 查询条件
* @return 退款列表
*/
Page<?> queryRefundList(ReqRefundQueryDto refundDto);
/**
* 退款订单详情
*
* @param refundId 退款id
* @return 退款详情
*/
ResOrderInfoDto queryRefundOrderById(String refundId);
}