user7106: This is usual checkout functionality. Show address to the user and needs to monitor it for new transaction during n minutes. Addresses are not unique for each payment. 
Optional:it would be good to have listener for transaction with certain incoming amount, but this is optional.
blockchain.info have something similar, but I want to it using local bitcoin-qt from .Net application.
*Update: this should be done for non-wallet addresses/transactions.

user17055: Bitcoin-qt has several limitations when it comes to this type of thing. There are only really two ways to do this.

Use the listunspents RPC call to watch the balance for a particular address, and compute the total balance. Then trigger your call on the backend from your .net application.
Use the external wallet-notify bitcoind option that sends transaction data to your .net process via a script, parse the result to determine the payment. This can cause problems on high volume sites as it spawns external processes per wallet notify.

Finally, you can only use this method to interact with addresses registered to the local bitcoind. Either addresses it controls, or that you have manually loaded. 

user-1: In order to monitor specific receiving addresses for incoming transactions through the RPC API you should make use of the listreceivedbyaddress method. Adding these parameters: listreceivedbyaddress(0, true) will also return zero-confirmation and empty addresses.
The most efficient way to monitor all incoming transactions with a specific amount is by calling listsinceblock, keeping track of the last scanned-by-your-app block and passing it as a parameter: listsinceblock(lastScannedBlockHash, targetConfirmations) so you effectively scan only the new block, which is very fast and lightweight. 
A battle-tested library for performing the above in .net is BitcoinLib which also comes as a NuGet packet:

GitHub: https://github.com/GeorgeKimionis/BitcoinLib 
NuGet: https://www.nuget.org/packages/BitcoinLib/


7106: <p>This is usual checkout functionality. Show address to the user and needs to monitor it for new transaction during n minutes. Addresses are not unique for each payment. </p>

<p>Optional:it would be good to have listener for transaction with certain incoming amount, but this is optional.</p>

<p>blockchain.info have something similar, but I want to it using local bitcoin-qt from .Net application.</p>

<p>*Update: this should be done for non-wallet addresses/transactions.</p>
 17055: <p>Bitcoin-qt has several limitations when it comes to this type of thing. There are only really two ways to do this.</p>

<ol>
<li><p>Use the listunspents RPC call to watch the balance for a particular address, and compute the total balance. Then trigger your call on the backend from your .net application.</p></li>
<li><p>Use the external wallet-notify bitcoind option that sends transaction data to your .net process via a script, parse the result to determine the payment. This can cause problems on high volume sites as it spawns external processes per wallet notify.</p></li>
</ol>

<p>Finally, you can only use this method to interact with addresses registered to the local bitcoind. Either addresses it controls, or that you have manually loaded. </p>
 -1: <p>In order to monitor specific receiving addresses for incoming transactions through the RPC API you should make use of the <code>listreceivedbyaddress</code> method. Adding these parameters: <code>listreceivedbyaddress(0, true)</code> will also return zero-confirmation and empty addresses.</p>

<p>The most efficient way to monitor all incoming transactions with a specific amount is by calling <code>listsinceblock</code>, keeping track of the last scanned-by-your-app block and passing it as a parameter: <code>listsinceblock(lastScannedBlockHash, targetConfirmations)</code> so you effectively scan only the new block, which is very fast and lightweight. </p>

<p>A battle-tested library for performing the above in <code>.net</code> is <a href="https://github.com/GeorgeKimionis/BitcoinLib" rel="nofollow">BitcoinLib</a> which also comes as a NuGet packet:</p>

<ul>
<li>GitHub: <a href="https://github.com/GeorgeKimionis/BitcoinLib" rel="nofollow">https://github.com/GeorgeKimionis/BitcoinLib</a> </li>
<li>NuGet: <a href="https://www.nuget.org/packages/BitcoinLib/" rel="nofollow">https://www.nuget.org/packages/BitcoinLib/</a></li>
</ul>
