• プラグイン一覧
    - WCEX Item Combo Set
    - WCEX Amazon Pay
    - WCEX Wishlist お気に入りリスト
  • リリース情報
  • お役立ちコラム
  • お問い合わせ
  • サポート
    • よくある質問
      • WCEX Amazon Pay
      • WCEX Wishlist お気に入りリスト
      • wcex-item-combo-set
    • リファレンス
      • WCEX Amazon Pay
      • WCEX Wishlist お気に入りリスト
      • wcex-item-combo-set
新規会員登録
ログイン
新規会員登録
ログイン
カート
  • プラグイン一覧
    • - WCEX Item Combo Set
    • - WCEX Amazon Pay
    • - WCEX Wishlist お気に入りリスト
  • リリース情報
  • お役立ちコラム
  • サポート
    • - よくある質問
      • - WCEX Amazon Pay
      • - WCEX Wishlist お気に入りリスト
      • - wcex-item-combo-set
    • - リファレンス
      • - WCEX Amazon Pay
      • - WCEX Wishlist お気に入りリスト
      • - wcex-item-combo-set
  • お問い合わせ
Aivec APPs > WCEX Amazon Pay > クラス > Review
レファレンス
バージョン
2.6.4
絞り込み:

目次

  • ソース
  • 関数

フック

  • アクション
  • フィルター

ファンクション

    クラス

    Review

    Confirm page (review)

    ソース #ソース

    ファイル: src/Views/ConfirmPageReview/Review.php

    class Review extends ConfirmPageDI
    {
        /**
         * AmazonPay module instance
         *
         * @var AmazonPay
         */
        protected $module;
    
        /**
         * Child components
         *
         * @var VueComponentLoader[]
         */
        public $childComponents;
    
        /**
         * Amazon checkout details. Used for address error HTML
         *
         * @var AmazonCheckoutDetails
         */
        protected $checkoutDetailsComp;
    
        /**
         * Amazon Pay product type
         *
         * Should be either `payonly` or `payandship`
         *
         * @var string
         */
        public $amzProductType;
    
        /**
         * Enqueues necessary assets for this View
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return Review
         */
        public function init() {
            parent::init();
    
            $chargetype = 'once';
            $amzproducttype = 'PayAndShip';
            if (defined('WCEX_DLSELLER')) {
                if (!dlseller_have_shipped()) {
                    $amzproducttype = 'PayOnly';
                }
            }
    
            $opts = $this->module->getActingOpts();
    
            // override Amazon address if Welcart address is preferred in settings
            $whichAddress = $opts['address_priority'];
            if ($whichAddress === 'welcart') {
                $amzproducttype = 'PayOnly';
            }
    
            // components
            $this->childComponents = [
                'purchaseButton' => new VueComponentLoader(
                    new ConfirmPurchaseButton($amzproducttype, $chargetype, 'welcart'),
                    true
                ),
            ];
    
            $this->amzProductType = strtolower($amzproducttype);
    
            // styles
            Theme::enqueueThemeCss(WCEXAAP_PLUGIN_URL);
            $semantic = new Semantic();
            $semantic->loadMessageCss();
            wp_enqueue_style(
                'checkout_review',
                WCEXAAP_PLUGIN_URL . '/src/Views/ConfirmPageReview/Review.css',
                [],
                WCEXAAP_VERSION
            );
    
            // scripts
            $deps = [Checkout::AMAZON_CHECKOUT_JS_SLUG];
            $checkoutSessionId = isset($_REQUEST['amazonCheckoutSessionId']) ? $_REQUEST['amazonCheckoutSessionId'] : '';
            $this->checkoutDetailsComp = new AmazonCheckoutDetails($this->module, $checkoutSessionId);
            if (!empty($this->checkoutDetailsComp->getAddressError())) {
                (new ChangeActions($this->module))->load(
                    $this->checkoutDetailsComp->getCheckoutSessionId(),
                    ['updateShippingAddressButton1', 'updateShippingAddressButton2']
                );
                $this->checkoutDetailsComp->loadAddressErrorMessageBoxCss();
                $deps[] = ChangeActions::WCEXAAP_CHANGE_ACTIONS_JS_SLUG;
            } else {
                wp_enqueue_script(
                    Checkout::AMAZON_CHECKOUT_JS_SLUG,
                    $opts['amzjsurl'] . '/checkout.js',
                    [],
                    WCEXAAP_VERSION,
                    true
                );
            }
    
            wp_enqueue_script(
                'wcexaap-welcart-checkout-review',
                WCEXAAP_PLUGIN_URL . '/dist/confirmPage.js',
                $deps,
                WCEXAAP_VERSION,
                true
            );
    
            // script vars
            $jsvars = [];
            $jsvars['childComponents'] = $this->childComponents;
            $jsvars['payAndShip'] = $amzproducttype === 'PayAndShip';
            $jsvars['checkoutSessionId'] = $checkoutSessionId;
            $jsvars['addressError'] = $this->checkoutDetailsComp->getAddressError();
            $jsvars = array_merge($jsvars, $this->module->getScriptInjectionVariables());
            wp_localize_script('wcexaap-welcart-checkout-review', AmazonPay::L10N, $jsvars);
    
            return $this;
        }
    
        /**
         * Adds payment method descriptor to payment name in order summary table
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param string $emptystr
         * @param array  $usces_entries
         * @return string
         */
        protected function filterOrderSummaryTablePaymentName($emptystr, $usces_entries) {
            $details = $_SESSION['amazonCheckoutSession'];
            $paymentDescriptor = $details['paymentPreferences'][0]['paymentDescriptor'];
            $emptystr = ' - ' . $paymentDescriptor;
    
            return $emptystr;
        }
    
        /**
         * Adds 'change address' button to shipping info section header of order summary table
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @global array $usces_settings
         * @param string $shipping_address_info
         * @param array  $data
         * @param array  $values
         * @param string $applyform
         * @param int    $target_market_count
         * @return string
         */
        protected function filterShippingAddressInfo(
            $shipping_address_info,
            $data,
            $values,
            $applyform,
            $target_market_count
        ) {
            global $usces_settings;
    
            if ($this->module->getActingOpts()['address_priority'] === 'welcart') {
                return $shipping_address_info;
            }
    
            // phpcs:disable WordPress.WP.I18n.NoEmptyStrings
            $type = 'confirm';
            switch ($applyform) {
                case 'JP':
                    $shipping_address_info = $this->checkoutDetailsComp->getAddressTableHeader();
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'name_pre', 'return');
                    /**
                     * Mirrored Welcart filter
                     *
                     * @ignore
                     */
                    $shipping_address_info .= '<tr class="name-row delivery-name-row"><th>' . apply_filters('usces_filters_addressform_name_label', __('Full name', 'usces'), $type, $values, $applyform) . '</th><td>' . sprintf(_x('%s', 'honorific', 'usces'), (esc_html($values['delivery']['name1']) . ' ' . esc_html($values['delivery']['name2']))) . '</td></tr>';
                    $deli_furigana = ('' == (trim($values['delivery']['name3']) . trim($values['delivery']['name4']))) ? '' : sprintf(_x('%s', 'honorific', 'usces'), (esc_html($values['delivery']['name3']) . ' ' . esc_html($values['delivery']['name4'])));
                    $furigana_delivery = '<tr class="furikana-row delivery-furikana-row"><th>' . __('furigana', 'usces') . '</th><td>' . $deli_furigana . '</td></tr>';
                    /**
                     * Mirrored Welcart filter
                     *
                     * @ignore
                     */
                    $shipping_address_info .= apply_filters('usces_filter_furigana_confirm_delivery', $furigana_delivery, $type, $values);
                    $shipping_address_info .= usces_custom_field_info($values, 'delivery', 'name_after', 'return');
                    $shipping_address_info .= '<tr class="zipcode-row delivery-zipcode-row"><th>' . __('Zip/Postal Code', 'usces') . '</th><td>' . esc_html($values['delivery']['zipcode']) . '</td></tr>';
                    if (1 < $target_market_count) {
                        $shipping_country = (!empty($usces_settings['country'][$values['delivery']['country']])) ? $usces_settings['country'][$values['delivery']['country']] : '';
                        $shipping_address_info .= '<tr class="country-row delivery-country-row"><th>' . __('Country', 'usces') . '</th><td>' . esc_html($shipping_country) . '</td></tr>';
                    }
                    $delivery_pref = ($values['delivery']['pref'] == __('-- Select --', 'usces') || $values['delivery']['pref'] == '-- Select --') ? '' : $values['delivery']['pref'];
                    $shipping_address_info .= '
                        <tr class="states-row delivery-states-row"><th>' . __('Province', 'usces') . '</th><td>' . esc_html($delivery_pref) . '</td></tr>
                        <tr class="address1-row delivery-address1-row"><th>' . __('city', 'usces') . '</th><td>' . esc_html($values['delivery']['address1']) . '</td></tr>
                        <tr class="address2-row delivery-address2-row"><th>' . __('numbers', 'usces') . '</th><td>' . esc_html($values['delivery']['address2']) . '</td></tr>
                        <tr class="address3-row delivery-address3-row"><th>' . __('building name', 'usces') . '</th><td>' . esc_html($values['delivery']['address3']) . '</td></tr>
                        <tr class="tel-row delivery-tel-row"><th>' . __('Phone number', 'usces') . '</th><td>' . esc_html($values['delivery']['tel']) . '</td></tr>
                        <tr class="fax-row delivery-fax-row"><th>' . __('FAX number', 'usces') . '</th><td>' . esc_html($values['delivery']['fax']) . '</td></tr>';
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'fax_after', 'return');
                    break;
                case 'CN':
                    $shipping_address_info = $this->checkoutDetailsComp->getAddressTableHeader();
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'name_pre', 'return');
                    /**
                     * Mirrored Welcart filter
                     *
                     * @ignore
                     */
                    $shipping_address_info .= '<tr class="name-row delivery-name-row"><th>' . apply_filters('usces_filters_addressform_name_label', __('Full name', 'usces'), $type, $values, $applyform) . '</th><td>' . sprintf(_x('%s', 'honorific', 'usces'), esc_html(usces_localized_name($values['delivery']['name1'], $values['delivery']['name2'], 'return'))) . '</td></tr>';
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'name_after', 'return');
                    if (1 < $target_market_count) {
                        $shipping_country = (!empty($usces_settings['country'][$values['delivery']['country']])) ? $usces_settings['country'][$values['delivery']['country']] : '';
                        $shipping_address_info .= '<tr class="country-row delivery-country-row"><th>' . __('Country', 'usces') . '</th><td>' . esc_html($shipping_country) . '</td></tr>';
                    }
                    $delivery_pref = ($values['delivery']['pref'] == __('-- Select --', 'usces') || $values['delivery']['pref'] == '-- Select --') ? '' : $values['delivery']['pref'];
                    $shipping_address_info .= '
                        <tr class="states-row delivery-states-row"><th>' . __('State', 'usces') . '</th><td>' . esc_html($delivery_pref) . '</td></tr>
                        <tr class="address1-row delivery-address1-row"><th>' . __('city', 'usces') . '</th><td>' . esc_html($values['delivery']['address1']) . '</td></tr>
                        <tr class="address2-row delivery-address2-row"><th>' . __('Address Line1', 'usces') . '</th><td>' . esc_html($values['delivery']['address2']) . '</td></tr>
                        <tr class="address3-row delivery-address3-row"><th>' . __('Address Line2', 'usces') . '</th><td>' . esc_html($values['delivery']['address3']) . '</td></tr>
                        <tr class="zipcode-row delivery-zipcode-row"><th>' . __('Zip', 'usces') . '</th><td>' . esc_html($values['delivery']['zipcode']) . '</td></tr>
                        <tr class="tel-row delivery-tel-row"><th>' . __('Phone number', 'usces') . '</th><td>' . esc_html($values['delivery']['tel']) . '</td></tr>
                        <tr class="fax-row delivery-fax-row"><th>' . __('FAX number', 'usces') . '</th><td>' . esc_html($values['delivery']['fax']) . '</td></tr>';
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'fax_after', 'return');
                    break;
                case 'US':
                default:
                    $delivery_pref = ($values['delivery']['pref'] == __('-- Select --', 'usces') || $values['delivery']['pref'] == '-- Select --') ? '' : $values['delivery']['pref'];
                    $shipping_address_info = $this->checkoutDetailsComp->getAddressTableHeader();
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'name_pre', 'return');
                    /**
                     * Mirrored Welcart filter
                     *
                     * @ignore
                     */
                    $shipping_address_info .= '<tr class="name-row delivery-name-row"><th>' . apply_filters('usces_filters_addressform_name_label', __('Full name', 'usces'), $type, $values, $applyform) . '</th><td>' . sprintf(_x('%s', 'honorific', 'usces'), (esc_html($values['delivery']['name2']) . ' ' . esc_html($values['delivery']['name1']))) . '</td></tr>';
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'name_after', 'return');
                    $shipping_address_info .= '
                        <tr class="address2-row delivery-address2-row"><th>' . __('Address Line1', 'usces') . '</th><td>' . esc_html($values['delivery']['address2']) . '</td></tr>
                        <tr class="address3-row delivery-address3-row"><th>' . __('Address Line2', 'usces') . '</th><td>' . esc_html($values['delivery']['address3']) . '</td></tr>
                        <tr class="address1-row delivery-address1-row"><th>' . __('city', 'usces') . '</th><td>' . esc_html($values['delivery']['address1']) . '</td></tr>
                        <tr class="states-row delivery-states-row"><th>' . __('State', 'usces') . '</th><td>' . esc_html($delivery_pref) . '</td></tr>';
                    if (1 < $target_market_count) {
                        $shipping_country = (!empty($usces_settings['country'][$values['delivery']['country']])) ? $usces_settings['country'][$values['delivery']['country']] : '';
                        $shipping_address_info .= '<tr class="country-row delivery-country-row"><th>' . __('Country', 'usces') . '</th><td>' . esc_html($shipping_country) . '</td></tr>';
                    }
                    $shipping_address_info .= '
                        <tr class="zipcode-row delivery-zipcode-row"><th>' . __('Zip', 'usces') . '</th><td>' . esc_html($values['delivery']['zipcode']) . '</td></tr>
                        <tr class="tel-row delivery-tel-row"><th>' . __('Phone number', 'usces') . '</th><td>' . esc_html($values['delivery']['tel']) . '</td></tr>
                        <tr class="fax-row delivery-fax-row"><th>' . __('FAX number', 'usces') . '</th><td>' . esc_html($values['delivery']['fax']) . '</td></tr>';
                    $shipping_address_info .= usces_custom_field_info($data, 'delivery', 'fax_after', 'return');
                    break;
            }
    
            // phpcs:enable
            return $shipping_address_info;
        }
    
        /**
         * Returns hidden inputs for confirm page redirect route
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return string
         */
        public function getFormRedirectInputs() {
            $key = WordPressRequestKeyRouteCollector::ROUTE_KEY;
            $reqroute = isset($_REQUEST[$key]) ? rawurldecode($_REQUEST[$key]) : '';
            $sessionId = isset($_REQUEST['amazonCheckoutSessionId']) ? $_REQUEST['amazonCheckoutSessionId'] : '';
            ob_start();
            ?>
            <input
                type="hidden"
                name="<?php echo WordPressRequestKeyRouteCollector::ROUTE_KEY ?>"
                value="<?php echo rawurlencode($reqroute) ?>"
            />
            <input type="hidden" name="amazonCheckoutSessionId" value="<?php echo esc_attr($sessionId); ?>" />
            <?php
            return ob_get_clean();
        }
    
        /**
         * Adds hidden inputs for confirm page redirect route to points form
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        protected function actionInsidePointsForm() {
            echo $this->getFormRedirectInputs();
        }
    
        /**
         * Adds hidden inputs for confirm page redirect route to coupon form
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param string $emptystring
         * @param array  $usces_entries
         * @return string
         */
        protected function filterCouponForm($emptystring, $usces_entries) {
            $emptystring = $this->getFormRedirectInputs();
            return $emptystring;
        }
    
        /**
         * Adds address error message to top of page if one exists
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        protected function confirmPageHeader() {
            if (!empty($this->checkoutDetailsComp->getAddressError())) {
                echo $this->checkoutDetailsComp->getAddressErrorMessageBox('updateShippingAddressButton1', 'template-top');
            }
        }
    
        /**
         * Adds address error message to bottom of page if one exists
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         */
        protected function confirmPageFooter() {
            if (!empty($this->checkoutDetailsComp->getAddressError())) {
                echo $this->checkoutDetailsComp->getAddressErrorMessageBox('updateShippingAddressButton2', 'template-bottom');
            }
        }
    
        /**
         * Displays Amazon Pay purchase and back button.
         *
         * @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) {
            /**
             * Fires above the purchase button section on the Welcart 通常フロー 内容確認 page
             *
             * @important
             * @param array  $payments
             * @param string $acting_flag
             * @param int    $rand
             * @param string $purchase_disabled
             */
            do_action(
                'wcexaap_confirm_page_review_above_purchase_button',
                $payments,
                $acting_flag,
                $rand,
                $purchase_disabled
            );
            if (!empty($this->amzProductType)) {
                /**
                 * Fires above the purchase button section on the Welcart 通常フロー 内容確認 page
                 *
                 * @important
                 * @param array  $payments
                 * @param string $acting_flag
                 * @param int    $rand
                 * @param string $purchase_disabled
                 */
                do_action(
                    "wcexaap_confirm_page_review_above_purchase_button_{$this->amzProductType}",
                    $payments,
                    $acting_flag,
                    $rand,
                    $purchase_disabled
                );
            }
            ob_start();
            ?>
            <div id="checkout_review" class="wcexaap">
                <div class="update-payment-method-container">
                    <div class="ui message" style="display: flex; flex-flow: row nowrap;">
                        <img id="amazonPayLogo" src="<?php echo WCEXAAP_PLUGIN_URL . '/assets/logo-pay.png'; ?>" height="20px" />
                        &nbsp;&nbsp;
                        <a id="updatePaymentMethodButton">
                            <?php
                            /**
                             * Filters the 'Change Payment Method' link text shown on the Welcart 通常フロー 内容確認 page
                             *
                             * @important
                             * @param string $text Default: 'Amazonアカウントで指定したお支払い方法を変更'
                             */
                            echo esc_html(apply_filters(
                                'wcexaap_filter_confirm_page_change_payment_method_link_text',
                                __('Change my Amazon payment method', 'wcexaap')
                            ));
                            ?>
                        </a>
                    </div>
                </div>
                <?php $this->childComponents['purchaseButton']->templateIfLoad(); ?>
            </div>
            <?php
            $html = ob_get_clean();
    
            return $html;
        }
    }
    

    ソースを伸ばす ソースを縮める


    関数 #関数

    Top ↑

    • actionInsidePointsForm — Adds hidden inputs for confirm page redirect route to points form
    • confirmPageFooter — Adds address error message to bottom of page if one exists
    • confirmPageHeader — Adds address error message to top of page if one exists
    • filterConfirmPagePayButton — Displays Amazon Pay purchase and back button.
    • filterCouponForm — Adds hidden inputs for confirm page redirect route to coupon form
    • filterOrderSummaryTablePaymentName — Adds payment method descriptor to payment name in order summary table
    • filterShippingAddressInfo — Adds 'change address' button to shipping info section header of order summary table
    • getFormRedirectInputs — Returns hidden inputs for confirm page redirect route
    • init — Enqueues necessary assets for this View

    • 新規会員登録
    • ログイン
      • プラグイン一覧
      • 会社概要
      • リリース情報
      • よくある質問
      • お役立ちコラム
      • お問い合わせ
      • 個人情報保護方針
      • 特定商取引法に基づく表記
      • 情報セキュリティ基本方針
      • 利用規約

    アイベック合同会社は「Welcart」「Amazon Pay」の公式パートナーです。

    ※Amazon、Amazon.co.jp、Amazon Payおよびそれらのロゴは、Amazon.com,inc.またはその関連会社の商標です。
    ※LINE Pay、およびLINE Pay 提携サービスのロゴは、法律上保護を受ける商標です。

    © 2025 Aivec llc All Rights Reserved.