Sfoglia il codice sorgente

Ticket #4415 - Payments: Trial stopped working in subscriptions paid with Stripe.

AntonLV 3 anni fa
parent
commit
0053fc5e64

+ 13 - 0
modules/boonex/payment/classes/BxPaymentProviderStripeV3.php

@@ -559,6 +559,7 @@ class BxPaymentProviderStripeV3 extends BxPaymentProviderStripeBasic implements
 
             case BX_PAYMENT_TYPE_RECURRING:
                 $sMode = 'subscription';
+                $iTrial = 0;
 
                 foreach($aCartInfo['items'] as $aItem) {
                     $aLineItems[] = [
@@ -566,6 +567,9 @@ class BxPaymentProviderStripeV3 extends BxPaymentProviderStripeBasic implements
                         'quantity' => $aItem['quantity'],
                     ];
 
+                    if((int)$aItem['trial_recurring'] > 0)
+                        $iTrial = (int)$aItem['trial_recurring'];
+
                     $aMetaItems[] = $this->_oModule->_oConfig->descriptorA2S([$aItem['module_id'], $aItem['id']]);
                     
                     if(!empty($aItem['addons']) && is_array($aItem['addons']))
@@ -578,6 +582,15 @@ class BxPaymentProviderStripeV3 extends BxPaymentProviderStripeBasic implements
                             $aMetaItems[] = $this->_oModule->_oConfig->descriptorA2S([$aAddon['module_id'], $aAddon['id']]);
                         }
                 }
+
+                if($iTrial > 0) {
+                    $bVerify = false;
+
+                    $aParams['subscription_data'] = [
+                        'trial_period_days' => $iTrial
+                    ];
+                }
+
                 break;
         }