package com.kexue.skills.service;

import com.kexue.skills.entity.PaymentOrder;
import jakarta.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * 支付服务接口
 */
public interface PayService {
    /**
     * 创建微信支付订单
     * @param order 支付订单信息
     * @param ipAddress 用户真实 IP 地址（从 Controller 传入）
     * @return 微信支付参数
     */
    Map<String, String> createWechatPay(PaymentOrder order, String ipAddress);

    /**
     * 处理微信支付回调
     * @param request HTTP请求
     * @return 回调响应
     */
    String handleWechatPayNotify(HttpServletRequest request);

    /**
     * 创建支付宝支付订单
     * @param order 支付订单信息
     * @return 支付宝支付表单
     */
    String createAlipay(PaymentOrder order);

    /**
     * 处理支付宝支付回调
     * @param request HTTP请求
     * @return 回调响应
     */
    String handleAlipayNotify(HttpServletRequest request);

    /**
     * 处理支付宝支付同步回调
     * @param request HTTP请求
     * @return 同步回调响应
     */
    Map<String, Object> handleAlipayReturn(HttpServletRequest request);
}
