custom/plugins/bp-plugin-shopware6-api2-1.3.0/src/EventSubscriber/CheckoutFinishEventSubscriber.php line 28

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace BetterPayment\EventSubscriber;
  3. use BetterPayment\PaymentHandler\InvoiceB2BHandler;
  4. use BetterPayment\PaymentHandler\InvoiceHandler;
  5. use BetterPayment\Storefront\Struct\CheckoutData;
  6. use BetterPayment\Util\ConfigReader;
  7. use Shopware\Storefront\Page\Checkout\Finish\CheckoutFinishPageLoadedEvent;
  8. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  9. class CheckoutFinishEventSubscriber implements EventSubscriberInterface
  10. {
  11.     private ConfigReader $configReader;
  12.     public function __construct(ConfigReader $configReader)
  13.     {
  14.         $this->configReader $configReader;
  15.     }
  16.     public static function getSubscribedEvents(): array
  17.     {
  18.         return [
  19.             CheckoutFinishPageLoadedEvent::class => 'addInstructions',
  20.         ];
  21.     }
  22.     public function addInstructions(CheckoutFinishPageLoadedEvent $event): void
  23.     {
  24.         $page $event->getPage();
  25.         $paymentMethod $event->getSalesChannelContext()->getPaymentMethod();
  26.         if ($paymentMethod->getHandlerIdentifier() == InvoiceHandler::class && $this->configReader->getBool(ConfigReader::INVOICE_DISPLAY_INSTRUCTION)) {
  27.             $data = new CheckoutData();
  28.             $data->assign([
  29.                 'template' => '@Storefront/betterpayment/invoice-instructions.html.twig',
  30.                 'iban' => $this->configReader->getString(ConfigReader::INVOICE_IBAN),
  31.                 'bic' => $this->configReader->getString(ConfigReader::INVOICE_BIC)
  32.             ]);
  33.             $page->addExtension(CheckoutData::EXTENSION_NAME$data);
  34.         }
  35.         elseif ($paymentMethod->getHandlerIdentifier() == InvoiceB2BHandler::class && $this->configReader->getBool(ConfigReader::INVOICE_B2B_DISPLAY_INSTRUCTION)) {
  36.             $data = new CheckoutData();
  37.             $data->assign([
  38.                 'template' => '@Storefront/betterpayment/invoice-instructions.html.twig',
  39.                 'iban' => $this->configReader->getString(ConfigReader::INVOICE_B2B_IBAN),
  40.                 'bic' => $this->configReader->getString(ConfigReader::INVOICE_B2B_BIC)
  41.             ]);
  42.             $page->addExtension(CheckoutData::EXTENSION_NAME$data);
  43.         }
  44.     }
  45. }