diff --git a/upload/catalog/model/extension/payment/opayo.php b/upload/catalog/model/extension/payment/opayo.php index ae9011c62..84b7fe73a 100644 --- a/upload/catalog/model/extension/payment/opayo.php +++ b/upload/catalog/model/extension/payment/opayo.php @@ -355,6 +355,8 @@ public function cronPayment(): array { $subscription_frequency = date_diff(new \DateTime('now'), new \DateTime(date_format($next_payment, 'Y-m-d H:i:s')))->days; + $subscription_id = $this->model_checkout_subscription->addSubscription($subscription_info); + $response_data = $this->setPaymentData($order_info, $opayo_order_info, $price, $subscription_id, $order_product['name'], $subscription_expiry, $subscription_frequency, $i); $cron_data[] = $response_data; @@ -365,8 +367,6 @@ public function cronPayment(): array { $this->updateSubscriptionOrder($subscription_id, date_format($next_payment, 'Y-m-d H:i:s')); $opayo_order_info = $this->getOrder($subscription_info['order_id']); - - $subscription_id = $this->model_checkout_subscription->addSubscription($subscription_info); } else { $this->addOrderTransaction($subscription_id, $response_data, 4); } diff --git a/upload/catalog/model/extension/payment/sagepay_server.php b/upload/catalog/model/extension/payment/sagepay_server.php index 27c8f12bf..236f0c8fc 100644 --- a/upload/catalog/model/extension/payment/sagepay_server.php +++ b/upload/catalog/model/extension/payment/sagepay_server.php @@ -239,6 +239,8 @@ public function subscriptionPayment(array $item, string $vendor_tx_code): void { $price = $this->currency->format($item['subscription']['price'], $this->session->data['currency'], false, false); } + $subscription_id = $this->model_checkout_subscription->addSubscription($item['subscription']); + $subscription_info = $this->getReference($data['vendor_tx_code']); if ($subscription_info) { @@ -269,8 +271,6 @@ public function subscriptionPayment(array $item, string $vendor_tx_code): void { $subscription_end = new \DateTime('0000-00-00'); } - $subscription_id = $this->model_checkout_subscription->addSubscription($item['subscription']); - $this->addRecurringOrder($data['order_id'], $response_data, $subscription_id, date_format($trial_end, 'Y-m-d H:i:s'), date_format($subscription_end, 'Y-m-d H:i:s')); $transaction = [