package com.kym.service.wechat;

import com.alibaba.fastjson2.JSONObject;
import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;
import com.wechat.pay.java.service.refund.model.Refund;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.http.ResponseEntity;

import java.io.IOException;

public interface WxPayService {
    void applyWxRefund(String reason);

    void wxRefund(long refundLogId);

    void manualConfirmRefund(long refundLogId);

    void suspendRefund(long refundLogId);

    void cancelSuspendRefund(long refundLogId);

    Refund queryByOutRefundNo(String outRefundNo);

    ResponseEntity<Object> wxRefundNotify(HttpServletRequest request);

    PrepayWithRequestPaymentResponse wxPay(JSONObject rechargeAmount);

    ResponseEntity<Object> wxNotify(HttpServletRequest request) throws IOException;
}
