== Changelog == = 2.0.2 2026-02-05 = * Fixed - Subscription payment method change when customer chooses new card instead of saved card. Resolved ID mismatch between order-pay path and change_payment_method parameter used by WooCommerce Subscriptions. * Fixed - Redirect to CHIP checkout URL blocked by wp_safe_redirect when changing subscription payment method. Added allowed_redirect_hosts filter to permit CHIP gateway domain. = 2.0.1 2026-01-07 = * Added - MBSB Bank to FPX bank list. * Added - FPX B2B1 standalone logo option. * Updated - FPX B2C standalone logo option. = 2.0.0 2026-01-06 = * Changed - Refactored codebase with improved class structure for WordPress coding standards compliance. * Changed - Renamed global constants WC_CHIP_ROOT_URL and WC_CHIP_FPX_ROOT_URL to CHIP_ROOT_URL and CHIP_FPX_ROOT_URL. * Changed - Changed hook prefixes from wc_ to chip_ with backward compatibility using _deprecated_hook(). * Changed - CVC input now hidden (password type) in both legacy and blocks checkout. * Changed - Simplified client creation by removing explicit client_id management. * Changed - Only update order status to Failed when order is in Pending Payment status. * Added - Filter chip_blocks_payment_method_data for blocks payment method customization. * Added - REST API endpoint for lazy loading FPX banks and e-wallets (GET /chip/v1/banks/). * Added - Direct POST card payments support for WooCommerce Blocks checkout. * Added - Card form component with validation for WooCommerce Blocks. * Added - Expiry formatting (MM/YY) for legacy checkout card form. * Added - Card number formatting with spaces every 4 digits for legacy checkout. * Added - Save card option (remember_card) parameter for both legacy and blocks checkout. * Added - PostgreSQL compatibility for database locking. * Added - Void payment functionality for pre-authorized payments. * Added - Capture payment functionality for pre-authorized payments. * Added - Card brand logos (Visa/Mastercard) display in card number input field. * Added - Bank/e-wallet logos display next to selected option in dropdown. * Added - Purchase ID history tracking for multiple payment attempts on same order. * Added - Purchase ID included in log messages for better debugging. * Added - ABSPATH security check to all PHP files. * Improved - WooCommerce Blocks integration with recommended patterns. * Improved - canMakePayment now checks currency support and payment requirements. * Improved - Bank/e-wallet lists now lazy loaded via AJAX for better performance. * Improved - Expiry and CVC fields now have equal width styling in blocks checkout. * Improved - Code quality with PHPCS compliance fixes. * Fixed - Saved card payments in WooCommerce Blocks checkout. * Fixed - Direct POST redirect behavior consistency in blocks checkout. * Removed - Metabox AJAX handler and related features. * Removed - Update client information option and patch_client functionality. * Removed - Disable clients API option. * Removed - Force tokenization setting. * Removed - Webhook public key option and related webhook handling. * Removed - get_client_by_email function (now relies on automatic client creation). * Removed - CHIP Invoice, Receipt, and Feed buttons from order admin page. = 1.8.5 2025-12-08 = * Fixed - Fix issue when card set with Google Pay together with Bypass CHIP payment page option for add card. = 1.8.4 2025-12-08 = * Fixed - Fix issue when card set with Google Pay together with Bypass CHIP payment page option. = 1.8.3 2025-11-17 = * Added - Support for Google Pay = 1.8.2 2025-11-04 = * Fixed - Issue with add_meta_box when function is unavailable = 1.8.1 2025-09-18 = * Changed - Modified message when checkout failed to automatically redirect = 1.8.0 2025-07-18 = * Changed - Enhanced logger implementation with multiple log levels (info, error, debug) * Changed - Improved error handling in logger with fallback to WordPress error_log * Changed - Bumped WooCommerce tested version to 10.0 = 1.7.0 2025-07-16 = * Removed - Send receipt option from admin settings * Changed - Hardcoded send_receipt parameter to false for all payment methods * Removed - Unused purchase_sr variable = 1.6.9 2025-06-28 = * Fixed - FPX dropdown banks not showing some banks = 1.6.8 2025-03-20 = * Added - Auto remove whitespace in brand id and secret key field on save * Added - Site health check for CHIP's API connection * Changed - Email fallback description and placeholder = 1.6.7 2025-02-14 = * Fixed - Fix issue with Requery Status for HPOS configuration. = 1.6.6 2025-01-03 = * Fixed - Fix payment fail when cart item exceed 100 = 1.6.5 2024-10-02 = * Fixed - Fix Razer Checkout Block = 1.6.4 2024-07-17 = * Fixed - Fix issue image class name for classic checkout = 1.6.3 2024-06-29 = * Fixed - Issue with metabox when no collection available = 1.6.2 2024-06-20 = * Changed - Uncheck Purchase Send Receipt by Default = 1.6.1 2024-05-30 = * Added - Add DuitNow payment option in e-wallet * Added - Add payment method logo in checkout blocks * Fixed - Fix issue with pricing for E-Wallet = 1.6.0 2024-04-22 = * Added - Add payment method for Duitnow QR. = 1.5.3 2024-03-15 = * Fixed - Fixed error for dedicated Atome payment method. = 1.5.2 2024-03-01 = * Added - Metabox option for reporting on total account turnover * Changed - Option for description are now using textarea instead of text = 1.5.1 2024-02-26 = * Fixed - Issue with additional charges being double charged when subscription renewal fails = 1.5.0 2024-01-30 = * Added - Dedicated Atome payment method * Added - WooCommerce Preorder support * Added - More clarity when payment method whitelist is unavailable * Fixed - Issue with additional charges being double charged * Fixed - Function wc_get_log_file_path is deprecated = 1.4.9 2024-01-18 = * Changed - Payment method whitelist option now always show all payment method. = 1.4.8 2023-12-20 = * Added - Hook for _before_handle_callback_order and _after_handle_callback_order = 1.4.7 2023-12-18 = * Added - Support for E-Wallet bypass payment page * Added - Validation for card holder name from unsupported character * Added - Email address fallback when email address is not available = 1.4.6 2023-12-11 = * Fixed - Issue with WooCommerce Block checkout where bypass payment page not work * Changed - Change API endpoint to api.chip-in.asia/health_check/fpx_b2c = 1.4.5 2023-11-08 = * Added - Introduce alternative payment journey for unpaid order = 1.4.4 2023-10-26 = * Added - Maestro logo option for international payment method support * Fixed - Syntax error on preauthorize action when X Signature is failed = 1.4.3 2023-09-26 = * Fixed - Issue with cardholder name input in mobile view = 1.4.2 2023-09-14 = * Added - Add platform value for add_payment_method and process_payment_method_change * Added - Add order note for mentioning token id for easier troubleshooting * Added - Automatically delete invalid token * Added - Ensure empty cart will be prefilled with generic product name * Added - Add logo without CHIP logo. * Changed - Change Choose an option to Choose your bank based on community feedback * Changed - Order note will be stored first before woocommerce order status change = 1.4.1 2023-09-01 = * Fixed - Performance improvement for FPX bypass page status check. * Fixed - Ensure bypass chip payment page works without maestro option. * Fixed - Fix checkout issue with CheckoutWC = 1.4.0 2023-08-18 = * Added - Support for bypass payment page for WooCommerce Blocks checkout for FPX B2C and FPX B2B1 * Added - Support for bypass payment page for legacy WooCommerce checkout for cards. * Added - Default payment method whitelist for easier configuration. * Added - Item charge for adding additional fee. * Added - New icon. * Added - Now bypass payment page for FPX will be based on banks availability. = 1.3.9 2023-07-21 = * Added - Support for RM0 initial checkout. * Changed - Set redirect parameter to direct_post_url for Visa/Mastercard payment method * Fixed - Error after payment for admin after making payment * Fixed - Missing client if the order created through dashboard = 1.3.8 2023-05-27 = * Added - State information for address in billing and shipping * Fixed - Zip code billing should taken from billing = 1.3.7 2023-05-24 = * Added - Quantity in CHIP Purchase invoice. = 1.3.6 2023-05-23 = * Changed - Put meaningful description in option page to reduce confusion * Added - More hooks for better data manipulation * Fixed - Issue when product price is less than zero = 1.3.5 2023-05-08 = * Changed - Put meaningful description to reduce confusion * Changed - Automatic force tokenization for card when subscription product exists * Removed - Removed save to account checkbox due to confusion * Fixed - Prevent Fatal Error on WooCommerce Scheduler in the event of invalid secret key = 1.3.4 2023-04-13 = * Added - Add purchase id to order note * Added - Add action hooks for payment creation * Changed - Hide save payment method checkbox when force tokenization enabled * Changed - Hide add new payment method if no token * Fixed - Issue with FPX payment when there is unsupported apostrophe = 1.3.3 2023-04-07 = * Fixed - Issue with Add/Change Payment method = 1.3.2 2023-03-29 = * Changed - Requery will stop attempt if status is expired * Changed - Ensure lock are released for requery * Added - Declaration for WooCommerce HPOS compatibility * Added - Bypass CHIP Payment Page for E-Wallet * Added - Option to not using CHIP clients API for logged in user * Fixed - Warning when non logged in user choose to save card * Fixed - Warning when secret key changed and unable to requery the purchases = 1.3.1 2023-03-14 = * Fixed - Unable to redirect to FPX B2B1 when using Bypass CHIP Payment Page * Fixed - Unable to redirect to CHIP Payment page when switching from test to production key = 1.3.0 2023-03-13 = * Added - Add support for WooCommerce Subscription * Added - Hook token deletion with CHIP * Added - Chip_Woocommerce_Gateway can be extended for cloning * Added - Now CHIP payment have 4 payment method by default * Added - Support for whitelisting payment method * Added - Purchase due strict is now configurable * Added - Due strict timing can be configured independently * Added - Registered users are now linked with CHIP clients * Added - Option to update client information on checkout * Added - Option to disable success_callback or success_redirect for troubleshooting * Added - Option to force https:// to prevent redirection on success_callback * Added - Option to disable tokenization * Added - Option to disable payment method cloning via PHP constant * Added - Automatic requery payment status * Added - Bulk requery payment status * Added - Button link to invoice, receipt and feed * Added - Pass customer order notes to CHIP API * Added - Experimental support for WooCommerce Blocks * Added - Bypass CHIP payment page feature for FPX * Changed - Timezone is now configurable within plugin option * Removed - Enable Payment method selection is now removed * Fixed - Customer still shown a failed payment page when there is failed attempt = 1.2.7 2023-03-05 = * Fixed - Issue with due timestamp when woocommerce hold stock option is empty * Fixed - Warning with e-wallet = 1.2.6 2023-01-26 = * Added - Add FPX extra information on failure * Fixed - Enable payment method selection requires total amount = 1.2.5 2023-01-01 = * Fixed - Amount deducted twice when using coupon = 1.2.4 2022-12-28 = * Added - Add error logging on create purchase error = 1.2.3 2022-12-15 = * Added - Add maestro as card group * Added - Constant CHIP_WOOCOMMERCE_OLD_URL_SCHEME for switch to old URL scheme * Changed - Redirect URL using new URL scheme = 1.2.2 2022-11-25 = * Tweak - Enhance locking to lock per order id * Fix - Issue with error when payment with visa and mastercard = 1.2.1 2022-11-12 = * Add - Support for success_callback verification using public key = 1.2.0 2022-11-8 = * Add - Add filters wc_chip_supports to allow refund to be disabled * Add - Timezone support for due strict * Tweak - Revamp how preferred payment option being presented * Tweak - Hide custom field for chip_transaction_id as it is not meant to be edited * Update - New logo = 1.1.4 2022-11-7 = * Add - Check payment id to avoid spoofing * Add - Add hooks to allow checkout page to be customized * Add - CHIP Icon on checkout page * Tweak - Prevent unsupported currencies to be paid * Update - Standardize terminology for secret key * Update - Change FPX B2C to FPX = 1.1.3 2022-10-12 = * New - Intial Repack Release. * Tweak - Added due strict to enforce payment timeout based on Hold Stock (Minutes) * Tweak - Removed country selection on checkout page. = 1.1.2 2022-10-11 = * Initial release