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.