I don't know how Aramex works, but getting shipping methods/rates is different from setting up a shipment. If they have an API to create a shipment, you would call that API after you create the shipment nopCommerce, so you could still do it in the Order Paid handler.
Webhooks are "HTTP callbacks". The allow external systems to call a method in your system/code. The OrderPaidEvent is one of many events that are 'published' by nopCommerce code so that developers can 'handle' them.
I develop this code in shipment plugin, I assume it will run after payment provider page redirect to my website in the last step "Complete Order", I update order Payment Status to paid if it is success in payment plugin and it is success but "EventConsumer " never invoke. Thank you.
Test your handling of OrderPaidEvent by using a payment provider like CheckMoneyOrder, and then after order is confirmed, as an admin, mark the order as paid.