app/Plugin/EccubePaymentLite4/EventListener/EventSubscriber/Front/Shopping/ChangeShoppingConfirmActionEventSubscriber.php line 38

Open in your IDE?
  1. <?php
  2. namespace Plugin\EccubePaymentLite4\EventListener\EventSubscriber\Front\Shopping;
  3. use Eccube\Event\TemplateEvent;
  4. use Plugin\EccubePaymentLite4\Entity\Config;
  5. use Plugin\EccubePaymentLite4\Repository\ConfigRepository;
  6. use Plugin\EccubePaymentLite4\Service\Method\Credit;
  7. use Symfony\Component\DependencyInjection\ContainerInterface;
  8. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  9. class ChangeShoppingConfirmActionEventSubscriber implements EventSubscriberInterface
  10. {
  11.     /**
  12.      * @var ConfigRepository
  13.      */
  14.     private $configRepository;
  15.     /**
  16.      * @var ContainerInterface
  17.      */
  18.     private $container;
  19.     public function __construct(
  20.         ConfigRepository $configRepository,
  21.         ContainerInterface $container
  22.     ) {
  23.         $this->configRepository $configRepository;
  24.         $this->container $container;
  25.     }
  26.     public static function getSubscribedEvents()
  27.     {
  28.         return [
  29.             'Shopping/confirm.twig' => 'confirm',
  30.         ];
  31.     }
  32.     public function confirm(TemplateEvent $event)
  33.     {
  34.         $PaymentMethod $event->getParameter('Order')->getPayment()->getMethodClass();
  35.         if (!($PaymentMethod === Credit::class)) {
  36.             return;
  37.         }
  38.         /** @var Config $Config */
  39.         $Config $this->configRepository->find(1);
  40.         $creditPaymentSetting $Config->getCreditPaymentSetting();
  41.         if ($creditPaymentSetting === Config::LINK_PAYMENT) {
  42.             return;
  43.         }
  44.         // トークン決済かつクレジットカード決済の場合に以下の処理を行う
  45.         $url $this->container->get('router')->generate('eccube_payment_lite4_credit_card_for_token_payment');
  46.         $event->setParameter('creditCardPaymentUrl'$url);
  47.         $event->addSnippet('@EccubePaymentLite4/default/Shopping/change_shopping_confirm_action.twig');
  48.     }
  49. }