With TON and TVM, you can't obtain the hash immediately. The hash and the "lt"(Logical Time) value will only be available once the transaction has been added to a block by validators.
There are two ways to verify if a transaction has been successfully sent:
Check the sequence number (seqno) of the wallet. If it has increased, the transaction has likely been sent.
Check the address for the transaction. This will confirm if the transaction has been recorded on the blockchain.
I would like to add additional information on the @extra value. As far as we're concerned, the @extra value does not mean anything. It is an internal id of task corresponding to the transaction, and is generated randomly.