![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/app/code/StripeIntegration/Tax/Model/ |
<?php namespace StripeIntegration\Tax\Model; use StripeIntegration\Tax\Model\StripeTransaction\Request; use StripeIntegration\Tax\Helper\Logger; use Stripe\Tax\Transaction; class StripeTransaction { private $config; private $request; private $logger; private $taxFlow; public function __construct( Config $config, Request $request, Logger $logger, TaxFlow $taxFlow ) { $this->config = $config; $this->request = $request; $this->logger = $logger; $this->taxFlow = $taxFlow; } public function createTransaction($invoice) { try { $request = $this->request->formData($invoice)->toArray(); $transaction = $this->config->getStripeClient()->tax->transactions->createFromCalculation($request); if ($this->isValidResponse($transaction)) { $this->taxFlow->invoiceTransactionSuccessful = true; return $transaction->id; } } catch (\Exception $e) { $errorMessage = 'Issue occurred while creating transaction:' . PHP_EOL . $e->getMessage(); $this->logger->logError($errorMessage, $e->getTraceAsString()); } return null; } private function isValidResponse(Transaction $calculation) { if (!empty($calculation->line_items->data) && $calculation->getLastResponse()->code === 200) { return true; } return false; } public function isEnabled() { return $this->config->isEnabled(); } }