クラス
ConfirmPage
ソース ソース
ファイル: src/Views/ConfirmPage/ConfirmPage.php
class ConfirmPage extends PCP { const SCRIPT_SLUG = 'wcex_linepay_purchase_button'; /** * Settlement module * * @var LinePay */ protected $module; /** * Invokes functions/methods after fees are set * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ public function onFeesSet() { $html = $this->confirmPageWrapper(); if (empty($html)) { $this->load(); } else { $this->loadErrorAssets(); } } /** * Loads css for error message * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ public function loadErrorAssets() { wp_enqueue_style( 'linepay-confirmpage-error', WCEX_LINEPAY_PLUGIN_URL . '/src/Views/ConfirmPage/errormessage.css', [], WCEX_LINEPAY_VERSION ); } /** * Variables to inject into our script * * LINE Pay requires フリガナ name3 and name4 * * @author Evan D Shaw <evandanielshaw@gmail.com> * @inheritDoc * @return array */ public function makeJSvars() { $furigana_required = false; $name3 = ''; $name4 = ''; if (usces_have_shipped() === true) { $del = $_SESSION['usces_entry']['delivery']; if (strtoupper($del['country']) === 'JP') { $furigana_required = true; $name3 = isset($del['name3']) ? $del['name3'] : ''; $name4 = isset($del['name4']) ? $del['name4'] : ''; } } $vars = array_merge( Generic\WelcartUtils::makeJSvars(), $this->module->getScriptInjectionVars(), [ 'amountZero' => $_SESSION['usces_entry']['order']['total_full_price'] <= 0, 'backButtonText' => __('Back to payment method page.', 'usces'), 'extraNamesRequired' => $furigana_required === true && (empty($name3) || empty($name4)), ] ); return $vars; } /** * Confirm page form wrapper for LINE Pay. Displays error message if LINE Pay options * validation fails * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return string */ protected function confirmPageWrapper() { $opts = $this->module->getActingOpts(); $display = false; if (empty($opts['channel_id'])) { $display = true; } if (empty($opts['channel_secret_key'])) { $display = true; } if ($this->module->ready() === false || $display === true) { /** * Welcart filter * * @ignore */ $btntext = apply_filters('usces_filter_confirm_prebutton_value', __('Back to payment method page.', 'usces')); ob_start(); ?> <form id="purchase_form" action="<?php echo USCES_CART_URL ?>" method="post" onKeyDown="if (event.keyCode == 13) {return false;}" > <div class="send"> <input name="backDelivery" type="submit" id="back_button" class="back_to_delivery_button" value="<?php echo $btntext; ?>" /> </div> <p class="linepay error-message"> <?php echo __('LINE Pay is currently unavailable. Please contact the seller for more info.', 'wcex_linepay') ?> </p> <?php $html = ob_get_contents(); ob_end_clean(); return $html; } return ''; } /** * Wrapper for overridden filter method. * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param string $html * @param array $payments * @param string $acting_flag * @param int $rand * @param string $purchase_disabled * @return string */ protected function filterConfirmPagePayButton($html, $payments, $acting_flag, $rand, $purchase_disabled) { $errorhtml = $this->confirmPageWrapper(); if (!empty($errorhtml)) { return $errorhtml; } ob_start(); ?> <form id="purchase_form" action="<?php echo esc_url(USCES_CART_URL); ?>" method="post" onKeyDown="if (event.keyCode == 13) {return false;}"> <div id="<?php echo Config\Constants::REACT_DOM_NODE ?>"></div> <?php $html = ob_get_contents(); ob_end_clean(); return $html; } /** * Called if on confirm page and options validation succeeds. * * @author Evan D Shaw <evandanielshaw@gmail.com> * @return void */ protected function load() { $assetsmap = include(WCEX_LINEPAY_PLUGIN_DIR . '/dist/js/Views/ConfirmPage/App.asset.php'); wp_enqueue_script( self::SCRIPT_SLUG, WCEX_LINEPAY_PLUGIN_URL . '/dist/js/Views/ConfirmPage/App.js', $assetsmap['dependencies'], $assetsmap['version'], true ); wp_localize_script( self::SCRIPT_SLUG, Config\Constants::SCRIPTS_GLOBAL_VAR_NAME, $this->makeJSvars() ); wp_set_script_translations(self::SCRIPT_SLUG, 'wcex_linepay', WCEX_LINEPAY_LANGDIR); } }
- confirmPageWrapper — Confirm page form wrapper for LINE Pay. Displays error message if LINE Pay options validation fails
- filterConfirmPagePayButton — Wrapper for overridden filter method.
- load — Called if on confirm page and options validation succeeds.
- loadErrorAssets — Loads css for error message
- makeJSvars — Variables to inject into our script
- onFeesSet — Invokes functions/methods after fees are set