WordPress Coding Standard 2.0 removed the sniff
WordPress.Security.NonceVerification.NoNonceVerification:
```
The WordPress.Security.NonceVerification sniff used the same error code for both an error as well as a warning.
The old error code NoNonceVerification is no longer used.
The error now uses the Missing error code, while the warning now uses the Recommended error code.
```
(from
d45f5e5cf3/CHANGELOG.md (200-rc1---2018-12-31))
This commit updates WooCommerce code and replaces all instances where WordPress.Security.NonceVerification.NoNonceVerification verification was used with either WordPress.Security.NonceVerification.Missing or
WordPress.Security.NonceVerification.Recommended. In a few cases WordPress.Security.NonceVerification.NoNonceVerification was used but was not needed, so instead of replacing the sniff, the line was removed. In two other cases, I removed other unrelated sniffs that were not needed.
The name of one of the WPCS sniffs changed from WordPress.CSRF.NonceVerification.NoNonceVerification to WordPress.Security.NonceVerification.NoNonceVerification. This commit updates all instances where this sniff is used in WooCommerce codebase.
Replace the usage of `// @codingStandardsIgnoreStart` and `// @codingStandardsIgnoreEnd` with `// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores` on WC_Gateway_Paypal_IPN_Handler::check_response(). Ignoring a single PHPCS rule is better than ignoring everything to protect the line against potential violations of the other rules.
Commit c7a3fd2 changed the logic to check if the refund is a full refund to use the strict equal operator (`===`) in the following line:
25be9fc13c/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php (L295)
This change broke the comparison as `$order->get_total()` will return the value respecting the number of decimals after the decimal point set in the option `woocommerce_price_num_decimals` and `wc_format_decimal()`, when called without a second parameter, will not format the received value to use the same number of decimals set in `woocommerce_price_num_decimals`. To fix this issue, this commit passes `wc_get_price_decimals()` as the second parameter to `wc_format_decimal()`. This way both values will always have the same number of decimals and the comparison should work when handling a full refund.
Fixes#20551