Browse Source

stripe支付

lyhzzz 4 months ago
parent
commit
be88c3ea40

+ 3 - 1
src/main/java/com/fdkankan/pay/service/impl/StripePriceServiceImpl.java

@@ -7,6 +7,7 @@ import com.fdkankan.pay.service.IStripePriceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.stripe.model.Price;
 import com.stripe.model.Price;
 import com.stripe.param.checkout.SessionCreateParams;
 import com.stripe.param.checkout.SessionCreateParams;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -22,6 +23,7 @@ import java.util.Map;
  * @since 2025-04-17
  * @since 2025-04-17
  */
  */
 @Service
 @Service
+@Slf4j
 public class StripePriceServiceImpl extends ServiceImpl<IStripePriceMapper, StripePrice> implements IStripePriceService {
 public class StripePriceServiceImpl extends ServiceImpl<IStripePriceMapper, StripePrice> implements IStripePriceService {
 
 
     @Override
     @Override
@@ -50,7 +52,7 @@ public class StripePriceServiceImpl extends ServiceImpl<IStripePriceMapper, Stri
             }
             }
             return one.getPriceId();
             return one.getPriceId();
         }catch (Exception e){
         }catch (Exception e){
-
+            log.info("stripe创建价格失败:{}",e);
         }
         }
 
 
         return null;
         return null;

+ 8 - 1
src/main/java/com/fdkankan/pay/util/stripe/StripeService.java

@@ -55,11 +55,18 @@ public class StripeService {
         try {
         try {
             String productName = StringUtils.isBlank(param.getProductName()) ? "product" :param.getProductName();
             String productName = StringUtils.isBlank(param.getProductName()) ? "product" :param.getProductName();
             String productId = stripeProductService.getByName(productName);
             String productId = stripeProductService.getByName(productName);
+            if(StringUtils.isBlank(productId)){
+                throw new BusinessException(ResultCode.STRIPE_ERROR);
+            }
+            String priceId = stripePriceService.getByParam(param.getOrderMoney(),stripeConfig.getCurrency(),productId,param.getAutoPay(),param.getAutoPayTime());
+            if(StringUtils.isBlank(priceId)){
+                throw new BusinessException(ResultCode.STRIPE_ERROR);
+            }
+
             SessionCreateParams.Mode mode = SessionCreateParams.Mode.PAYMENT;
             SessionCreateParams.Mode mode = SessionCreateParams.Mode.PAYMENT;
             if(param.getAutoPay() == 1){
             if(param.getAutoPay() == 1){
                 mode = SessionCreateParams.Mode.SUBSCRIPTION;
                 mode = SessionCreateParams.Mode.SUBSCRIPTION;
             }
             }
-            String priceId = stripePriceService.getByParam(param.getOrderMoney(),stripeConfig.getCurrency(),productId,param.getAutoPay(),param.getAutoPayTime());
             SessionCreateParams.Locale locale = SessionCreateParams.Locale.AUTO;
             SessionCreateParams.Locale locale = SessionCreateParams.Locale.AUTO;
             if(StringUtils.isNotBlank(lang) ){
             if(StringUtils.isNotBlank(lang) ){
                 locale = SessionCreateParams.Locale.valueOf(lang.toUpperCase());
                 locale = SessionCreateParams.Locale.valueOf(lang.toUpperCase());