package com.jeesharp.business.pay.adapter;

/**
 * 各业务线微信支付成功回调适配器：由 {@link com.jeesharp.business.pay.service.WechatPayNotifyAdapterService}
 * 验签解密后按 {@link MobilePayBizType} 路由，将 attach 中的业务主键转为各业态确认用例。
 *
 * @author jeesharp
 * @since 2026-05-08
 */
public interface WechatPayCallbackAdapter {

    /**
     * 本适配器负责的移动端支付业态（与预下单 attach.bizType 对应）。
     */
    MobilePayBizType bizType();

    /**
     * 微信支付成功后的业务侧确认（须幂等）：更新垂直业务单为已支付，并触发券核销、统一单 markPaid 等后续编排。
     *
     * @param orderId            attach 中的业务订单主键（合并支付时为批次 id）
     * @param payOrderId         attach 中的统一支付单 ID（可为空，兼容旧链路）
     * @param thirdPartyTradeNo  微信 transaction_id，用于对账与 ext 落库
     */
    void confirm(String orderId, String payOrderId, String thirdPartyTradeNo);
}
