2. Asking for the bitcoin address from where she is going to send the coins.
No.
No, no, no.
There is no "bitcoin address from where she is going to send the coins" with bitcoin. You are doing this wrong.
Skip straight to step 3, and give the user a unique address that is exclusively for this particular transaction.
4. Asking for the Tx Hash from the user.
Hashes can change. They are not reliable when they are not yet confirmed. You should not be using a TxHash to identify the transaction. This is a bad idea.
5. Now we are checking the amount, from address and to address in the raw data of the Tx Hash.
Just check the amount at your receiving address. Once the balance is paid and confirmed, you are all done.
6. As soon as we are having 6 confirmations, we are accepting the payment.
6 confirmations? Is this really neccessary? You'll have to look into your particular business requirements, but perhaps 3 confirmations would be enough in most cases? Perhaps you really need 10 confirmations? It would be a good idea to understand your particular needs rather than choose an arbitrary number without knowing if it will meet or exceed your needs.
Is there any problem with it ?
Yes.