package shop.alien.store.service;

import shop.alien.entity.result.R;

/**
 * 商户支付状态查询（带重试，用于缓解第三方查单慢/暂时失败）
 *
 * @author system
 */
public interface MerchantPaymentQueryService {

    /**
     * 查询支付状态，对「查询失败/查询异常」类结果自动重试，减少前端轮询到失败的概率。
     *
     * @param storeId    门店ID
     * @param outTradeNo 商户订单号
     * @param payType    支付类型 alipay / wechatPay
     * @return 与 strategy.queryPayStatus 一致；重试用尽仍失败时返回「查询失败：网络异常，请稍后重试」
     */
    R<Object> queryPayStatusWithRetry(Integer storeId, String outTradeNo, String payType);
}
