Error not showing when capturing more than 115%
-
When using PayPal’s authorize option, it errors when trying to capture more than 115% (as it is supposed to!). However, the error isn’t showing up in the order notes, which makes it difficult for a regular shop-keeper to know what’s going on.
/wp-content/plugins/woocommerce/includes/gateways/paypal/class-wc-gateway-paypal.php:424 looks for a “Complete” payment status, or any other payment status. However, if you try and capture more than 15% over your original authorisation, no payment status is returned. Example of the capture information returned:2021-01-11T04:50:05+00:00 INFO Capture Result: stdClass Object
(
[AUTHORIZATIONID] => *************
[TIMESTAMP] => 2021-01-11T04:50:05Z
[CORRELATIONID] => *************
[ACK] => Failure
[VERSION] => 84.0
[BUILD] => 55100925
[L_ERRORCODE0] => 10610
[L_SHORTMESSAGE0] => Amount limit exceeded.
[L_LONGMESSAGE0] => Amount specified exceeds allowable limit.
[L_SEVERITYCODE0] => Error
)Rather than removing the action and adding my own, this could be fixed very simply.
elseif(! empty($result->ACK)){
$order->add_order_note( sprintf( __( ‘Payment could not be captured – Auth ID: %1$s, Status: %2$s’, ‘woocommerce’ ), $result->AUTHORIZATIONID, $result->L_LONGMESSAGE0 ) );
}
- The topic ‘Error not showing when capturing more than 115%’ is closed to new replies.