ICashierPaymentService.java 1.44 KB
package com.diligrp.cashier.trade.service;

import com.diligrp.cashier.pipeline.domain.OnlinePaymentResponse;
import com.diligrp.cashier.pipeline.domain.OnlinePaymentStatus;
import com.diligrp.cashier.pipeline.domain.OnlineRefundResponse;
import com.diligrp.cashier.trade.domain.*;

public interface ICashierPaymentService {
    /**
     * 提交收银台订单
     *
     * @param merchant     - 接入商户
     * @param cashierOrder - 订单申请
     * @return 支付ID
     */
    String doSubmit(Merchant merchant, CashierOrder cashierOrder);

    /**
     * 收银台支付
     *
     * @param cashierPayment - 支付信息
     * @return 支付状态
     */
    OnlinePaymentStatus doPayment(CashierPayment cashierPayment);

    /**
     * 支付结果通知
     *
     * @param response - 支付结果
     */
    void notifyPaymentResponse(OnlinePaymentResponse response);

    /**
     * 关闭交易订单
     */
    void closeTradeOrder(String tradeId);

    /**
     * 查询交易订单状态
     */
    OnlinePaymentResult queryPaymentState(String paymentId, String mode);

    /**
     * 支付退款申请
     */
    OnlineRefundResult sendRefundRequest(OnlineRefundDTO request);

    /**
     * 退款结果通知
     *
     * @param response - 退款结果
     */
    void notifyRefundResult(OnlineRefundResponse response);

    /**
     * 查询退款状态
     */
    OnlineRefundResult queryRefundState(String refundId, String mode);
}