== Changelog ==

= 1.4.1 - 2026-09-23 =
* Fixed - Purchases were rejected by CHIP with "due cannot be in the past" whenever the Timing setting was left empty, so no donation could complete. The due limit is now omitted when it is not configured, matching the WooCommerce gateway.
* Fixed - A failed CHIP API call during checkout surfaced as a fatal error and a blank page instead of a message the donor could act on. Every API response is now validated before it is read.

= 1.4.0 - 2026-09-23 =
* Added - DuitNow QR (dnqr) and ShopeePay (shopee_pay) payment method support.
* Added - Payment method groups: DuitNow QR and ShopeePay are each exposed as a single selectable option and resolved to the identifier your brand actually supports at checkout, preferring the current one (dnqr, shopee_pay).
* Added - gwp_chip_before_info_fields and gwp_chip_after_info_fields action hooks.
* Added - Amount-aware payment method lookup, so methods with a minimum amount are no longer hidden.
* Fixed - ShopeePay selection is stored as shopee_pay, with a saved razer_shopeepay value migrated automatically.
* Changed - Deprecated give_before_chip_info_fields and give_after_chip_info_fields; use the gwp_chip_ prefixed hooks instead. The legacy hooks still fire and will be removed in 2.0.0.
* Changed - Tested up to WordPress 7.1.
* Changed - Developer guidance file renamed from CLAUDE.md to AGENTS.md.
* Changed - Removed the automatic pull-request summary workflow.

= 1.3.0 - 2026-06-02 =
* Added - Payment method whitelist setting to restrict available CHIP checkout methods.
* Added - Success URL and Cancel URL redirect configuration.
* Added - Cancel redirect parameter for CHIP purchase creation.
* Fixed - API singleton now returns a new instance to prevent credential caching across forms.
* Fixed - Refund button now appears for GiveWP 3.0 Visual Form Builder (chip_block) donations.
* Fixed - Corrected refund guard meta key lookup.
* Fixed - Street address concatenation precedence issue with null coalescing.
* Fixed - Timezone regex to use proper A-Za-z character class.
* Fixed - wp_json_encode parameter misuse.
* Changed - Requires PHP bumped to 7.4.
* Changed - Tested up to WordPress 7.0.
* Changed - Added ABSPATH guards to all PHP files.
* Changed - Replaced sizeof() with count().
* Changed - Block gateway now explicitly implements PaymentGatewayRefundable interface.
* Changed - Updated getLegacyFormFieldMarkup signature for GiveWP 4.x compatibility.
* Changed - Settings reorganized into sections: Credentials, Display, Timing, Redirects, and Payment Methods.
* Changed - Requires at least WordPress bumped to 6.3.

= 1.2.1 - 2025-02-07 =
* Fixed - Issue with Option-Based Form Editor where payment info show escaped output.
* Fixed - Remove filtering for webhook to prevent unpredictable failure for openssl_verify.

= 1.2.0 - 2024-12-17 =
* Added - Support GiveWP 3.0 Visual Donation Form Builder.

= 1.1.0 - 2023-10-27 =
* Changed - Now the redirection will not rely on session. Instead it will rely on meta.
* Changed - Now reference is set to donation id instead of payment_key

= 1.0.3 - 2023-03-08 =
* Fixed - Donator seeing donation failed page when there is previous failed attempt.

= 1.0.2 - 2023-02-17 =
* Fixed - Form created before installing CHIP should adhere to global configuration.

= 1.0.1 - 2022-11-30 =
* Fixed - First and Last name should be separated with space.

= 1.0.0 - 2022-11-29 =
* New - Initial Release.
