Plugin Directory

Changeset 3045385


Ignore:
Timestamp:
03/05/2024 05:46:59 AM (2 years ago)
Author:
omise
Message:

Update to version 5.8.0 from GitHub

Location:
omise
Files:
14 added
24 edited
1 copied

Legend:

Unmodified
Added
Removed
  • omise/tags/5.8.0/CHANGELOG.md

    r3021743 r3045385  
    11# CHANGELOG
     2
     3## [v5.8.0 _(Mar 5, 2024)_](https://github.com/omise/omise-woocommerce/releases/tag/v5.8.0)
     4- Add WeChat Pay. (PR [#434](https://github.com/omise/omise-woocommerce/pull/434))
     5- Use WC order number metadata. (PR [#435](https://github.com/omise/omise-woocommerce/pull/435))
    26
    37## [v5.7.0 _(Jan 11, 2024)_](https://github.com/omise/omise-woocommerce/releases/tag/v5.7.0)
  • omise/tags/5.8.0/includes/class-omise-callback.php

    r2892466 r3045385  
    3232        $order = wc_get_order( $order_id );
    3333
    34         if(!RequestHelper::validateRequest($order->get_meta('token'))) {
     34        if(!RequestHelper::validate_request($order->get_meta('token'))) {
    3535            return wp_redirect( wc_get_checkout_url() );
    3636        }
     
    3939        $callback->validate();
    4040    }
    41 
    4241
    4342    /**
  • omise/tags/5.8.0/includes/class-omise-payment-factory.php

    r2969504 r3045385  
    4242        'Omise_Payment_DuitNow_OBW',
    4343        'Omise_Payment_Atome',
    44         'Omise_Payment_PayPay'
     44        'Omise_Payment_PayPay',
     45        'Omise_Payment_Wechat_Pay',
    4546    );
    4647
  • omise/tags/5.8.0/includes/gateway/abstract-omise-payment-base-card.php

    r2979883 r3045385  
    6363    {
    6464        $currency = $order->get_currency();
     65        $order_number = $order->get_order_number();
    6566        $data = [
    6667            'amount' => Omise_Money::to_subunit($order->get_total(), $currency),
    6768            'currency' => $currency,
    68             'description' => 'WooCommerce Order id ' . $order_id,
     69            'description' => 'WooCommerce Order id ' . $order_number,
    6970            'return_uri' => $this->get_redirect_url('omise_callback', $order_id, $order),
    7071            'metadata' => $this->get_metadata(
    71                 $order_id,
     72                $order_number,
    7273                [ 'secure_form_enabled' => $this->getSecureFormState()]
    7374            ),
  • omise/tags/5.8.0/includes/gateway/traits/charge-request-builder-trait.php

    r2979883 r3045385  
    1111    {
    1212        $currency = $order->get_currency();
    13         $description = 'WooCommerce Order id ' . $order_id;
     13        $order_number = $order->get_order_number();
     14        $description = 'WooCommerce Order id ' . $order_number;
    1415
    1516        $request = [
     
    1718            'currency'    => $currency,
    1819            'description' => $description,
    19             'metadata'    => $this->get_metadata($order_id),
     20            'metadata'    => $this->get_metadata($order_number),
    2021            'source'      => [ 'type' => $source_type ]
    2122        ];
     
    4142
    4243    /**
    43      * @param string $order_id
     44     * @param string $order_number
    4445     * @param array $additionalData
    4546     */
    46     public function get_metadata($order_id, $additionalData = [])
     47    public function get_metadata($order_number, $additionalData = [])
    4748    {
    4849        // override order_id as a reference for webhook handlers.
    49         $orderId = [ 'order_id' => $order_id ];
     50        $orderId = [ 'order_id' => $order_number ];
    5051        return array_merge($orderId, $additionalData);
    5152    }
  • omise/tags/5.8.0/includes/libraries/omise-plugin/helpers/request.php

    r2809311 r3045385  
    11<?php
    2 if (! class_exists('RequestHelper')) {
     2if (!class_exists('RequestHelper')) {
    33    class RequestHelper
    44    {
     
    1010         * Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site
    1111         */
    12         public static function isUserOriginated()
     12        public static function is_user_originated()
    1313        {
    1414            $fetch_site = sanitize_text_field($_SERVER['HTTP_SEC_FETCH_SITE']);
     
    2121         * @param string|null $order_token
    2222         */
    23         public static function validateRequest($order_token = null)
     23        public static function validate_request($order_token = null)
    2424        {
    25             $token = isset( $_GET['token'] ) ? sanitize_text_field( $_GET['token'] ) : null;
     25            $token = isset($_GET['token']) ? sanitize_text_field($_GET['token']) : null;
    2626
    2727            // For all payment except offline and OCBC PAO.
     
    3131
    3232            // For offline payment methods does not include token in the return URI.
    33             return !self::isUserOriginated();
     33            return !self::is_user_originated();
     34        }
     35
     36        public static function get_client_ip()
     37        {
     38            $headersToCheck = [
     39                // Check for a client using a shared internet connection
     40                'HTTP_CLIENT_IP',
     41
     42                // Check if the proxy is used for IP/IPs
     43                'HTTP_X_FORWARDED_FOR',
     44
     45                // check for other possible forwarded IP headers
     46                'HTTP_X_FORWARDED',
     47                'HTTP_FORWARDED_FOR',
     48                'HTTP_FORWARDED',
     49            ];
     50
     51            foreach($headersToCheck as $header) {
     52                if (empty($_SERVER[$header])) {
     53                    continue;
     54                }
     55
     56                if ($header === 'HTTP_X_FORWARDED_FOR') {
     57                    return self::process_forwarded_for_header($_SERVER[$header]);
     58                }
     59
     60                return $_SERVER[$header];
     61            }
     62
     63            // return default remote IP address
     64            return $_SERVER['REMOTE_ADDR'];
     65        }
     66
     67        private static function process_forwarded_for_header($forwardedForHeader)
     68        {
     69            // Split if multiple IP addresses exist and get the last IP address
     70            if (strpos($forwardedForHeader, ',') !== false) {
     71                $multiple_ips = explode(",", $forwardedForHeader);
     72                return trim(current($multiple_ips));
     73            }
     74            return $forwardedForHeader;
    3475        }
    3576    }
  • omise/tags/5.8.0/omise-woocommerce.php

    r3021743 r3045385  
    55 * Plugin URI:  https://www.omise.co/woocommerce
    66 * Description: Opn Payments is a WordPress plugin designed specifically for WooCommerce. The plugin adds support for Opn Payments Payment Gateway's payment methods to WooCommerce.
    7  * Version:     5.7.0
     7 * Version:     5.8.0
    88 * Author:      Opn Payments and contributors
    99 * Author URI:  https://github.com/omise/omise-woocommerce/graphs/contributors
     
    2323     * @var string
    2424     */
    25     public $version = '5.7.0';
     25    public $version = '5.8.0';
    2626
    2727    /**
     
    225225        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/gateway/class-omise-payment-atome.php';
    226226        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/gateway/class-omise-payment-paypay.php';
     227        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/gateway/class-omise-payment-wechat-pay.php';
    227228        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/libraries/omise-php/lib/Omise.php';
    228229        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/libraries/omise-plugin/Omise.php';
  • omise/tags/5.8.0/phpunit.xml

    r2852769 r3045385  
    2525        </exclude>
    2626    </coverage>
     27    <php>
     28        <server name="HTTP_CLIENT_IP" value="192.168.1.1"/>
     29        <server name="HTTP_X_FORWARDED_FOR" value="192.168.1.2"/>
     30        <server name="HTTP_X_FORWARDED" value="192.168.1.3"/>
     31        <server name="HTTP_FORWARDED_FOR" value="192.168.1.4"/>
     32        <server name="HTTP_FORWARDED" value="192.168.1.5"/>
     33        <server name="REMOTE_ADDR" value="192.168.1.6"/>
     34    </php>
    2735</phpunit>
  • omise/tags/5.8.0/readme.txt

    r3021743 r3045385  
    44Requires at least: 4.3.1
    55Tested up to: 6.4.2
    6 Stable tag: 5.7.0
     6Stable tag: 5.8.0
    77License: MIT
    88License URI: https://opensource.org/licenses/MIT
     
    3434
    3535== Changelog ==
     36
     37= 5.8.0 =
     38
     39- Add WeChat Pay. (PR [#434](https://github.com/omise/omise-woocommerce/pull/434))
     40- Use WC order number metadata. (PR [#435](https://github.com/omise/omise-woocommerce/pull/435))
    3641
    3742= 5.7.0 =
  • omise/tags/5.8.0/tests/unit/includes/gateway/abstract-omise-payment-base-card-test.php

    r2996251 r3045385  
    6363        $orderMock->shouldReceive('add_meta_data')
    6464            ->andReturn(['order_id' => 'order_123']);
     65        $orderMock->shouldReceive('get_order_number')
     66            ->andReturn(1234);
    6567        $orderMock->shouldReceive('get_user')
    6668            ->andReturn((object)[
  • omise/tags/5.8.0/tests/unit/includes/gateway/bootstrap-test-setup.php

    r3021743 r3045385  
    22
    33use PHPUnit\Framework\TestCase;
    4 
    54
    65abstract class Bootstrap_Test_Setup extends TestCase
  • omise/tags/5.8.0/tests/unit/includes/gateway/traits/charge-request-builder-test.php

    r2979883 r3045385  
    3535            ->andReturn($expectedAmount);  // in units
    3636        $orderMock->shouldReceive('add_meta_data');
     37        $orderMock->shouldReceive('get_order_number')
     38            ->andReturn(1234);
    3739        return $orderMock;
    3840    }
  • omise/trunk/CHANGELOG.md

    r3021743 r3045385  
    11# CHANGELOG
     2
     3## [v5.8.0 _(Mar 5, 2024)_](https://github.com/omise/omise-woocommerce/releases/tag/v5.8.0)
     4- Add WeChat Pay. (PR [#434](https://github.com/omise/omise-woocommerce/pull/434))
     5- Use WC order number metadata. (PR [#435](https://github.com/omise/omise-woocommerce/pull/435))
    26
    37## [v5.7.0 _(Jan 11, 2024)_](https://github.com/omise/omise-woocommerce/releases/tag/v5.7.0)
  • omise/trunk/includes/class-omise-callback.php

    r2892466 r3045385  
    3232        $order = wc_get_order( $order_id );
    3333
    34         if(!RequestHelper::validateRequest($order->get_meta('token'))) {
     34        if(!RequestHelper::validate_request($order->get_meta('token'))) {
    3535            return wp_redirect( wc_get_checkout_url() );
    3636        }
     
    3939        $callback->validate();
    4040    }
    41 
    4241
    4342    /**
  • omise/trunk/includes/class-omise-payment-factory.php

    r2969504 r3045385  
    4242        'Omise_Payment_DuitNow_OBW',
    4343        'Omise_Payment_Atome',
    44         'Omise_Payment_PayPay'
     44        'Omise_Payment_PayPay',
     45        'Omise_Payment_Wechat_Pay',
    4546    );
    4647
  • omise/trunk/includes/gateway/abstract-omise-payment-base-card.php

    r2979883 r3045385  
    6363    {
    6464        $currency = $order->get_currency();
     65        $order_number = $order->get_order_number();
    6566        $data = [
    6667            'amount' => Omise_Money::to_subunit($order->get_total(), $currency),
    6768            'currency' => $currency,
    68             'description' => 'WooCommerce Order id ' . $order_id,
     69            'description' => 'WooCommerce Order id ' . $order_number,
    6970            'return_uri' => $this->get_redirect_url('omise_callback', $order_id, $order),
    7071            'metadata' => $this->get_metadata(
    71                 $order_id,
     72                $order_number,
    7273                [ 'secure_form_enabled' => $this->getSecureFormState()]
    7374            ),
  • omise/trunk/includes/gateway/traits/charge-request-builder-trait.php

    r2979883 r3045385  
    1111    {
    1212        $currency = $order->get_currency();
    13         $description = 'WooCommerce Order id ' . $order_id;
     13        $order_number = $order->get_order_number();
     14        $description = 'WooCommerce Order id ' . $order_number;
    1415
    1516        $request = [
     
    1718            'currency'    => $currency,
    1819            'description' => $description,
    19             'metadata'    => $this->get_metadata($order_id),
     20            'metadata'    => $this->get_metadata($order_number),
    2021            'source'      => [ 'type' => $source_type ]
    2122        ];
     
    4142
    4243    /**
    43      * @param string $order_id
     44     * @param string $order_number
    4445     * @param array $additionalData
    4546     */
    46     public function get_metadata($order_id, $additionalData = [])
     47    public function get_metadata($order_number, $additionalData = [])
    4748    {
    4849        // override order_id as a reference for webhook handlers.
    49         $orderId = [ 'order_id' => $order_id ];
     50        $orderId = [ 'order_id' => $order_number ];
    5051        return array_merge($orderId, $additionalData);
    5152    }
  • omise/trunk/includes/libraries/omise-plugin/helpers/request.php

    r2809311 r3045385  
    11<?php
    2 if (! class_exists('RequestHelper')) {
     2if (!class_exists('RequestHelper')) {
    33    class RequestHelper
    44    {
     
    1010         * Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-Fetch-Site
    1111         */
    12         public static function isUserOriginated()
     12        public static function is_user_originated()
    1313        {
    1414            $fetch_site = sanitize_text_field($_SERVER['HTTP_SEC_FETCH_SITE']);
     
    2121         * @param string|null $order_token
    2222         */
    23         public static function validateRequest($order_token = null)
     23        public static function validate_request($order_token = null)
    2424        {
    25             $token = isset( $_GET['token'] ) ? sanitize_text_field( $_GET['token'] ) : null;
     25            $token = isset($_GET['token']) ? sanitize_text_field($_GET['token']) : null;
    2626
    2727            // For all payment except offline and OCBC PAO.
     
    3131
    3232            // For offline payment methods does not include token in the return URI.
    33             return !self::isUserOriginated();
     33            return !self::is_user_originated();
     34        }
     35
     36        public static function get_client_ip()
     37        {
     38            $headersToCheck = [
     39                // Check for a client using a shared internet connection
     40                'HTTP_CLIENT_IP',
     41
     42                // Check if the proxy is used for IP/IPs
     43                'HTTP_X_FORWARDED_FOR',
     44
     45                // check for other possible forwarded IP headers
     46                'HTTP_X_FORWARDED',
     47                'HTTP_FORWARDED_FOR',
     48                'HTTP_FORWARDED',
     49            ];
     50
     51            foreach($headersToCheck as $header) {
     52                if (empty($_SERVER[$header])) {
     53                    continue;
     54                }
     55
     56                if ($header === 'HTTP_X_FORWARDED_FOR') {
     57                    return self::process_forwarded_for_header($_SERVER[$header]);
     58                }
     59
     60                return $_SERVER[$header];
     61            }
     62
     63            // return default remote IP address
     64            return $_SERVER['REMOTE_ADDR'];
     65        }
     66
     67        private static function process_forwarded_for_header($forwardedForHeader)
     68        {
     69            // Split if multiple IP addresses exist and get the last IP address
     70            if (strpos($forwardedForHeader, ',') !== false) {
     71                $multiple_ips = explode(",", $forwardedForHeader);
     72                return trim(current($multiple_ips));
     73            }
     74            return $forwardedForHeader;
    3475        }
    3576    }
  • omise/trunk/omise-woocommerce.php

    r3021743 r3045385  
    55 * Plugin URI:  https://www.omise.co/woocommerce
    66 * Description: Opn Payments is a WordPress plugin designed specifically for WooCommerce. The plugin adds support for Opn Payments Payment Gateway's payment methods to WooCommerce.
    7  * Version:     5.7.0
     7 * Version:     5.8.0
    88 * Author:      Opn Payments and contributors
    99 * Author URI:  https://github.com/omise/omise-woocommerce/graphs/contributors
     
    2323     * @var string
    2424     */
    25     public $version = '5.7.0';
     25    public $version = '5.8.0';
    2626
    2727    /**
     
    225225        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/gateway/class-omise-payment-atome.php';
    226226        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/gateway/class-omise-payment-paypay.php';
     227        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/gateway/class-omise-payment-wechat-pay.php';
    227228        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/libraries/omise-php/lib/Omise.php';
    228229        require_once OMISE_WOOCOMMERCE_PLUGIN_PATH . '/includes/libraries/omise-plugin/Omise.php';
  • omise/trunk/phpunit.xml

    r2852769 r3045385  
    2525        </exclude>
    2626    </coverage>
     27    <php>
     28        <server name="HTTP_CLIENT_IP" value="192.168.1.1"/>
     29        <server name="HTTP_X_FORWARDED_FOR" value="192.168.1.2"/>
     30        <server name="HTTP_X_FORWARDED" value="192.168.1.3"/>
     31        <server name="HTTP_FORWARDED_FOR" value="192.168.1.4"/>
     32        <server name="HTTP_FORWARDED" value="192.168.1.5"/>
     33        <server name="REMOTE_ADDR" value="192.168.1.6"/>
     34    </php>
    2735</phpunit>
  • omise/trunk/readme.txt

    r3021743 r3045385  
    44Requires at least: 4.3.1
    55Tested up to: 6.4.2
    6 Stable tag: 5.7.0
     6Stable tag: 5.8.0
    77License: MIT
    88License URI: https://opensource.org/licenses/MIT
     
    3434
    3535== Changelog ==
     36
     37= 5.8.0 =
     38
     39- Add WeChat Pay. (PR [#434](https://github.com/omise/omise-woocommerce/pull/434))
     40- Use WC order number metadata. (PR [#435](https://github.com/omise/omise-woocommerce/pull/435))
    3641
    3742= 5.7.0 =
  • omise/trunk/tests/unit/includes/gateway/abstract-omise-payment-base-card-test.php

    r2996251 r3045385  
    6363        $orderMock->shouldReceive('add_meta_data')
    6464            ->andReturn(['order_id' => 'order_123']);
     65        $orderMock->shouldReceive('get_order_number')
     66            ->andReturn(1234);
    6567        $orderMock->shouldReceive('get_user')
    6668            ->andReturn((object)[
  • omise/trunk/tests/unit/includes/gateway/bootstrap-test-setup.php

    r3021743 r3045385  
    22
    33use PHPUnit\Framework\TestCase;
    4 
    54
    65abstract class Bootstrap_Test_Setup extends TestCase
  • omise/trunk/tests/unit/includes/gateway/traits/charge-request-builder-test.php

    r2979883 r3045385  
    3535            ->andReturn($expectedAmount);  // in units
    3636        $orderMock->shouldReceive('add_meta_data');
     37        $orderMock->shouldReceive('get_order_number')
     38            ->andReturn(1234);
    3739        return $orderMock;
    3840    }
Note: See TracChangeset for help on using the changeset viewer.