But what if I only want to show some Bitcoin address to the user so she could just send Bitcoins to it, I mean any sum, not necessary predefined sum 3.14.
The payment request is the way to go to send your customers a bitcoin address from your Electrum wallet. The amount is not important - you could set the amount to 0.00 BTC and let the sender decide how much to send in the future. A new Bitcoin address from the list of available addresses will be used (not created) for every payment request. Electrum generates automatically bitcoin addresses - deterministically - based on the Master Private Key (which is derived from the wallet seed words). All the keys in the Electrum wallet are a child of that Master Private Key - as you use them, new "child" keys are revealed automatically by Electrum (how many unused addresses are revealed at the same time depends on your gap limit setting).
Don't worry about the "expiration" of the request either, Bitcoin addresses don't expire - addresses are representations of public keys. To be confirmed, but I believe this locks the Bitcoin address from being used by Electrum in another payment request, until the expiration time is over (in case the customer didn't use it). I would make the address available again in the pool of "new" addresses, if unused during the time period.
Thanks a lot! I got it. The last question. Could this command ever return two equal addresses?