I have a payable method in a contract. The payment amount is taken by the first request from web3 js, the second request - this amount is sent. But the amount depends on registered users. How can I work out the case when, between requesting the amount and sending, a new user has registered and the amount has changed? If I block the contract to wait for the second payment, then suddenly the client disconnected and there will be no second request to the blockchain, which means the contract will be blocked forever... What are exists the solutions to this problem?