package com.jeesharp.business.modules.pay.listener.upevent;

import com.jeesharp.business.modules.pay.dto.BasicPayOrderData;
import com.jeesharp.business.modules.pay.dto.PayWechatPrepayRouteSnapshotDTO;
import com.jeesharp.business.modules.pay.vo.PayWechatPublicConfigVO;
import com.jeesharp.business.modules.pay.vo.WechatJsapiPrepayVO;

import java.util.Map;

/**
 * 支付中心领域服务：微信预支付与回调解析（对外契约见 {@code PayCenterApi}）。
 *
 * @author jeesharp
 * @since 2026-05-25
 */
public interface PayOrderService {

    WechatJsapiPrepayVO wechatJsapiPrepay(BasicPayOrderData payOrderData);

    PayWechatPrepayRouteSnapshotDTO previewWechatJsapiRoute(BasicPayOrderData payOrderData);

    PayWechatPublicConfigVO getWechatPublicConfig();

    PayWechatPublicConfigVO getWechatPublicConfig(String tenantId);

    Map<String, Object> wechatParsePayNotify(String rawBody, Map<String, String> headers);
}
