providers, static fn( $p ): bool => $p instanceof DispatchProviderInterface ) ); usort( $providers, static fn( DispatchProviderInterface $a, DispatchProviderInterface $b ): int => $a->get_priority() <=> $b->get_priority() ); foreach ( $providers as $provider ) { $record = $provider->resolve_dispatch( $order_id, $order ); if ( $record instanceof DispatchRecord ) { return $record; } } return null; } }