Improve webhook wc order error messages

This commit is contained in:
Alex P 2023-06-09 20:23:07 +03:00
parent 774fe51cfc
commit 9db147679d
No known key found for this signature in database
GPG key ID: 54487A734A204D71

View file

@ -19,7 +19,7 @@ trait RequestHandlerTrait {
* Get available custom ids from the given request
*
* @param WP_REST_Request $request The request.
* @return array
* @return string[]
*/
protected function get_custom_ids_from_request( WP_REST_Request $request ): array {
return array_filter(
@ -62,8 +62,10 @@ trait RequestHandlerTrait {
*/
protected function no_custom_ids_response( WP_REST_Request $request ): WP_REST_Response {
$message = sprintf(
'No order for webhook event %s was found.',
$request['id'] !== null && isset( $request['id'] ) ? $request['id'] : ''
'WC order ID was not found in webhook event %s for PayPal order %s.',
(string) ( $request['id'] ?? '' ),
// Psalm 4.x does not seem to understand ?? with ArrayAccess correctly.
$request['resource'] !== null && isset( $request['resource']['id'] ) ? $request['resource']['id'] : ''
);
return $this->failure_response( $message );
@ -77,7 +79,9 @@ trait RequestHandlerTrait {
*/
protected function no_wc_orders_response( WP_REST_Request $request ): WP_REST_Response {
$message = sprintf(
'WC order for PayPal order %s not found.',
'WC order %s not found in webhook event %s for PayPal order %s.',
implode( ', ', $this->get_custom_ids_from_request( $request ) ),
(string) ( $request['id'] ?? '' ),
$request['resource'] !== null && isset( $request['resource']['id'] ) ? $request['resource']['id'] : ''
);