package com.ai.da.service; import com.ai.da.mapper.primary.entity.SubscriptionInfo; import com.ai.da.model.dto.ProductPurchaseDTO; import com.stripe.exception.StripeException; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; public interface StripeService { String pay(ProductPurchaseDTO productPurchaseDTO, HttpServletRequest request); Boolean notify(HttpServletRequest request); SubscriptionInfo getLatestSubscriptionInfoByAccountId(Long accountId); String refund(String amount, String orderId, String reason); void checkOrderStatus(String orderNo); List getSubscriptionIds(String name, String userEmail) throws StripeException; Map getPaymentMethodByInvoiceId(String invoiceId); void cancelSubscription(String orderNo, String cancelReason); void cancelSubscriptionTemp(String subscriptionId); Map getPaymentMethod(String paymentMethodId); /*void updateSubscription(String subscriptionId); void resume(String subscriptionId);*/ void subscriptionReminder(); void checkSubscriptionExpiration(); String createSubscriptionTemp(String name, String email); String changeCustomerPayment(String name, String email); boolean sendRenewalFailEmail(String invoiceId, String subscriptionId, String orderNo); List> getCustomerPaymentMethod(String name, String email); String detachCustomerAllPaymentMethod(String name, String email); // Map getIp(HttpServletRequest request); }