|
7 | 7 |
|
8 | 8 | use Magento\Backend\App\Area\FrontNameResolver; |
9 | 9 | use Magento\Framework\App\Config\ScopeConfigInterface; |
| 10 | +use Magento\Framework\App\ObjectManager; |
10 | 11 | use Magento\Framework\Mail\Template\TransportBuilder; |
11 | 12 | use Magento\Framework\Stdlib\DateTime\TimezoneInterface; |
12 | 13 | use Magento\Framework\Translate\Inline\StateInterface; |
|
15 | 16 | use Magento\Sales\Api\PaymentFailuresInterface; |
16 | 17 | use Magento\Store\Model\ScopeInterface; |
17 | 18 | use Magento\Store\Model\Store; |
| 19 | +use Psr\Log\LoggerInterface; |
18 | 20 |
|
19 | 21 | /** |
20 | 22 | * Service is responsible for handling failed payment transactions. |
@@ -50,25 +52,33 @@ class PaymentFailuresService implements PaymentFailuresInterface |
50 | 52 | */ |
51 | 53 | private $cartRepository; |
52 | 54 |
|
| 55 | + /** |
| 56 | + * @var LoggerInterface |
| 57 | + */ |
| 58 | + private $logger; |
| 59 | + |
53 | 60 | /** |
54 | 61 | * @param ScopeConfigInterface $scopeConfig |
55 | 62 | * @param StateInterface $inlineTranslation |
56 | 63 | * @param TransportBuilder $transportBuilder |
57 | 64 | * @param TimezoneInterface $localeDate |
58 | 65 | * @param CartRepositoryInterface $cartRepository |
| 66 | + * @param LoggerInterface|null $logger |
59 | 67 | */ |
60 | 68 | public function __construct( |
61 | 69 | ScopeConfigInterface $scopeConfig, |
62 | 70 | StateInterface $inlineTranslation, |
63 | 71 | TransportBuilder $transportBuilder, |
64 | 72 | TimezoneInterface $localeDate, |
65 | | - CartRepositoryInterface $cartRepository |
| 73 | + CartRepositoryInterface $cartRepository, |
| 74 | + LoggerInterface $logger = null |
66 | 75 | ) { |
67 | 76 | $this->scopeConfig = $scopeConfig; |
68 | 77 | $this->inlineTranslation = $inlineTranslation; |
69 | 78 | $this->transportBuilder = $transportBuilder; |
70 | 79 | $this->localeDate = $localeDate; |
71 | 80 | $this->cartRepository = $cartRepository; |
| 81 | + $this->logger = $logger ?: ObjectManager::getInstance()->create(LoggerInterface::class); |
72 | 82 | } |
73 | 83 |
|
74 | 84 | /** |
@@ -126,7 +136,11 @@ public function handle( |
126 | 136 | ->addBcc($bcc) |
127 | 137 | ->getTransport(); |
128 | 138 |
|
129 | | - $transport->sendMessage(); |
| 139 | + try { |
| 140 | + $transport->sendMessage(); |
| 141 | + } catch (\Exception $e) { |
| 142 | + $this->logger->critical($e->getMessage()); |
| 143 | + } |
130 | 144 | } |
131 | 145 |
|
132 | 146 | $this->inlineTranslation->resume(); |
|
0 commit comments