package com.ai.da.service; import com.ai.da.common.response.PageBaseResponse; import com.ai.da.mapper.primary.entity.PaymentInfo; import com.ai.da.model.dto.AlipayHKCallbackDTO; import com.ai.da.model.dto.QueryPageByTimeDTO; import com.ai.da.model.vo.OrderListVO; import com.baomidou.mybatisplus.extension.service.IService; import com.paypal.orders.Order; import com.stripe.model.Charge; import com.stripe.model.Invoice; import com.stripe.model.PaymentMethod; import com.stripe.model.checkout.Session; import java.util.List; import java.util.Map; public interface PaymentInfoService extends IService { void createPaymentInfo(String plainText); void createPaymentInfoForAliPay(Map params, String type); void createPaymentInfoForPayPal(Order order, String type); void createPaymentInfoForAliPayHK(AlipayHKCallbackDTO alipayHKCallbackDTO, String type); void createOrUpdatePaymentInfoForStripe(Session session); Map getPaymentMethodInfo(String sessionId, String subscriptionId); PaymentMethod getPaymentMethodBySubscriptionId(String subscriptionId); PaymentInfo createOrUpdatePaymentInfoForStripe(Invoice invoice, Map paymentMethodInfo, List discounts); // PaymentInfo createOrUpdatePaymentInfoForStripe(Charge charge); List getPaymentInfoByOrderNo(String orderId, String order); void updatePaymentStatusById(Long id, String status, String content); PageBaseResponse getPaymentInfo(QueryPageByTimeDTO queryPageByTimeDTO); List getPaymentInfoByPromCode(Long accountId, String promCode); // PaymentInfo updatePaymentRefundStatus(Charge charge); void updatePaymentRefundStatusByChargeId(Charge charge, String status); void updatePaymentRefundStatusByInvoiceId(String invoiceId, String status); }