Files
aida_back/src/main/java/com/ai/da/service/StripeService.java
xupei 200c0adfba Affiliate 允许为不同的用户设置不同的affiliate
Stripe 添加优惠券删除接口;限制优惠券只能在订阅时使用
2025-04-28 14:40:42 +08:00

76 lines
2.3 KiB
Java

package com.ai.da.service;
import com.ai.da.mapper.primary.entity.ProductCoupons;
import com.ai.da.mapper.primary.entity.SubscriptionInfo;
import com.ai.da.model.dto.CreateCouponDTO;
import com.ai.da.model.dto.ProductPurchaseDTO;
import com.ai.da.model.dto.QueryCouponsPageDTO;
import com.ai.da.model.vo.CheckCouponsVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
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<String> getSubscriptionIds(String name, String userEmail) throws StripeException;
Map<String, String> getPaymentMethodByInvoiceId(String invoiceId);
void cancelSubscription(String orderNo, String cancelReason);
void cancelSubscriptionTemp(String subscriptionId);
Map<String, String> 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<Map<String,String>> getCustomerPaymentMethod(String name, String email);
String detachCustomerAllPaymentMethod(String name, String email);
// Map getIp(HttpServletRequest request);
String getStackTrace(Exception e, int maxLines);
String createCoupon(CreateCouponDTO createCouponDTO);
CheckCouponsVO checkProductCoupon(String promotionCode, Long price);
ProductCoupons updateCouponsInfo(Long id, Long paidCommission, String cooperator, String remark);
ProductCoupons getProductCoupon(String promotionCode, String promotionCodeId);
String retrieveCoupon(String couponId);
String retrievePromotionCode(String promotionCode);
IPage<ProductCoupons> getAllCoupons(QueryCouponsPageDTO queryCouponsPageDTO);
void deleteCoupon(Long id);
}