Is there a way that I can set up the exact amount the user should pay? When the user input is higher/lower on the amount that I have provided the transaction should fail. I'm using the "receive payment Blockchain API v2".
No, not the way you think.
The recipient has no say in whether a transaction to him gets made. The sender signs over money to the recipient, the recipient is not being asked. Any (simple) transaction that just sends money from one party to another is the sole prerogative of the sender.