package com.tzy.framework.pay.service;

import com.tzy.framework.pay.config.BfPayConfig;
import com.tzy.framework.pay.dto.PaymentInfoResponseDto;
import com.tzy.framework.pay.dto.PaymentRequestDto;
import com.tzy.framework.pay.dto.RefundRequestDto;
import com.tzy.framework.pay.dto.ResultMap;

import java.math.BigDecimal;

public interface BfPayService {
    public boolean verifyCallBack(String appid,String respSign,String sign);

    public ResultMap tradeCreate(PaymentRequestDto paymentRequestDto);

    public PaymentInfoResponseDto queryOrder(String appid,String payWay, String  orderNo);

    public ResultMap refund(String appid,String orderNo, BigDecimal orderPrice, BigDecimal refundPrice, String refundMsg);

    public ResultMap refundQuery( String appid,String outRefundNo);

    public boolean verifyCallBackNew(BfPayConfig bfPayConfig, String respSign, String sign);

    public ResultMap tradeCreateNew(PaymentRequestDto paymentRequestDto);

    public PaymentInfoResponseDto queryOrder(PaymentRequestDto paymentRequestDto);

    public ResultMap refund(RefundRequestDto refundRequestDto);

    public ResultMap refundQuery( RefundRequestDto refundRequestDto);
}
