• プラグイン一覧
    - 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 > クラス > IPN
レファレンス
バージョン
2.6.4
絞り込み:

目次

  • ソース
  • 関数

フック

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

ファンクション

    クラス

    IPN

    IPN API

    ソース #ソース

    ファイル: src/Admin/API/IPN.php

    class IPN extends ErrorStore
    {
    
        const URL_EMPTY = 'urlEmpty4000';
        const URL_INVALID = 'urlInvalid4001';
    
        /**
         * AmazonPay module object
         *
         * @var AmazonPay
         */
        private $module;
    
        /**
         * Sets `$module` member var with dependency injection.
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param AmazonPay $module
         * @return void
         */
        public function __construct(AmazonPay $module) {
            $this->module = $module;
            parent::__construct();
            $this->populate();
        }
    
        /**
         * Registers site URL as IPN URL on seller central
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @param array $args
         * @param array $payload
         * @return array
         */
        public function register($args, $payload) {
            $url = $payload['ipnEndpoint'];
    
            if (empty($url)) {
                return $this->getErrorResponse(self::URL_EMPTY);
            }
    
            $response = (new EndpointSetter($this->module))->set($url);
    
            if ((int)$response['ResponseStatus'] !== 200) {
                if (isset($response['Error']['Code'])) {
                    if ($response['Error']['Code'] === 'InvalidArgumentsClientError') {
                        return $this->getErrorResponse(self::URL_INVALID, [$response['Error']['Message']]);
                    }
                }
    
                return $this->getErrorResponse(self::INTERNAL_SERVER_ERROR);
            }
    
            $opts = $this->module->getActingOpts();
            $opts['ipn_endpoint'] = $url;
            $opts['ipn_registered'] = true;
            $this->module->updateActingOpts($opts);
    
            return 'success';
        }
    
        /**
         * Populates error store
         *
         * @author Evan D Shaw <evandanielshaw@gmail.com>
         * @return void
         * @throws InvalidArgumentException Thrown if duplicate errorcodes exist.
         */
        public function populate() {
            $this->addError(new GenericError(
                self::URL_EMPTY,
                self::URL_EMPTY,
                400,
                'URL parameter is empty',
                __('Please enter the site URL.', 'wcexaap')
            ));
            $this->addError(new GenericError(
                self::URL_INVALID,
                self::URL_INVALID,
                400,
                function ($message) {
                    return $message;
                },
                __('Please enter a valid URL.', 'wcexaap')
            ));
        }
    }
    

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


    関数 #関数

    Top ↑

    • __construct — Sets `$module` member var with dependency injection.
    • populate — Populates error store
    • register — Registers site URL as IPN URL on seller central

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

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

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

    © 2025 Aivec llc All Rights Reserved.