Now I know that I can send some info by using this. I can get other information of order that I need. But I don't know how to send these information to an URL.
Use Tygh\Http class to make such requests. As an example, I can offer you to check the app/payments/sage_payment.php file (a part of the Sage payment method)
```php
......
use Tygh\Http;
if (!defined('BOOTSTRAP')) { die('Access denied'); }
$post_address = "https://gateway.sagepayments.net/cgi-bin/eftBankcard.dll?transaction";
$post = array();
$post['M_id'] = $processor_data["processor_params"]["merchant_id"];
$post['M_key'] = $processor_data["processor_params"]["merchant_key"];
$post['T_code'] ='01';
$post['T_ordernum'] = (($order_info['repaid']) ? ($order_id . $order_info['repaid']) : $order_id);
$post['T_amt'] = $order_info["total"];
......
// Post a request and analyse the response
$return = Http::post($post_address, $post);
........
```
Reason you're not using the 'change_order_status' hook rather than catching it in a pre-controller? You could then act on the data only for the specific status changes (or any status). Note that status can be changed by other addons in the system without being in the 'orders' controller context.