src/Module/Payment/Subscriber/StripePaymentSubscriber.php line 39

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Module\Payment\Subscriber;
  4. use App\Store\StoreContext;
  5. use App\Module\ShortSimpleCheckout\Event\View\BaseViewEvent;
  6. use App\Module\ShortSimpleCheckout\Events;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class StripePaymentSubscriber implements EventSubscriberInterface
  9. {
  10. private StoreContext $storeContext;
  11. /**
  12. * @param StoreContext $storeContext
  13. */
  14. public function __construct(StoreContext $storeContext)
  15. {
  16. $this->storeContext = $storeContext;
  17. }
  18. /**
  19. * @return array
  20. */
  21. public static function getSubscribedEvents(): array
  22. {
  23. return [
  24. Events::SHIPPING_PAYMENT_INDEX_DISPATCH => 'addPublicKeyToView'
  25. ];
  26. }
  27. /**
  28. * @param BaseViewEvent $event
  29. *
  30. * @return void
  31. */
  32. public function addPublicKeyToView(BaseViewEvent $event): void
  33. {
  34. $event->replaceVariable('stripeApiPublicKey', $this->storeContext->getStripeApiPublicKey());
  35. }
  36. }