emailTransportBuilderFactory = $emailTransportBuilderFactory; $this->amazonCoreHelper = $amazonCoreHelper; } /** * @param Order $order * * @return void */ public function sendAuthorizationSoftDeclinedEmail(Order $order) { $emailTransportBuilder = $this->emailTransportBuilderFactory->create(); $emailTransportBuilder->addTo($order->getCustomerEmail(), $order->getCustomerName()); $emailTransportBuilder->setFrom('general'); $emailTransportBuilder->setTemplateIdentifier('amazon_payments_auth_soft_decline'); $emailTransportBuilder->setTemplateOptions( [ 'area' => Area::AREA_FRONTEND, 'store' => $order->getStoreId() ] ); $paymentRegionByOrderStore = $this->amazonCoreHelper->getPaymentRegion( ScopeInterface::SCOPE_STORE, $order->getStoreId() ); $storeName = $this->amazonCoreHelper->getStoreName(ScopeInterface::SCOPE_STORE, $order->getStoreId()); if (!$storeName) { $storeName = $this->amazonCoreHelper->getStoreFrontName($order->getStoreId()); } $vars = [ 'amazonAccountUrl' => $this->amazonCoreHelper ->getAmazonAccountUrlByPaymentRegion($paymentRegionByOrderStore), 'storeName' => $storeName, ]; $emailTransportBuilder->setTemplateVars($vars); $emailTransportBuilder->getTransport()->sendMessage(); } /** * @param Order $order * * @return void */ public function sendAuthorizationHardDeclinedEmail(Order $order) { $emailTransportBuilder = $this->emailTransportBuilderFactory->create(); $storeName = $this->amazonCoreHelper->getStoreName(ScopeInterface::SCOPE_STORE, $order->getStoreId()); if (!$storeName) { $storeName = $this->amazonCoreHelper->getStoreFrontName($order->getStoreId()); } $emailTransportBuilder->addTo($order->getCustomerEmail(), $order->getCustomerName()); $emailTransportBuilder->setFrom('general'); $emailTransportBuilder->setTemplateIdentifier('amazon_payments_auth_hard_decline'); $emailTransportBuilder->setTemplateOptions( [ 'area' => Area::AREA_FRONTEND, 'store' => $order->getStoreId() ] ); $vars = [ 'storeName' => $storeName, ]; $emailTransportBuilder->setTemplateVars($vars); $emailTransportBuilder->getTransport()->sendMessage(); } }