May 17, 2010 03:37 PM|romage|LINK
That sounds like a painfully slow process. I take it that the biggest single delay point is the Payment Processor.
I'd be tempted to look at some form of message queue... maybe ms message queue or mass transit (which I haven't used myself).. http://devlicio.us/blogs/tim_barcz/archive/2008/10/13/mass-transit-part-1-of-n.aspx
You' do the database search in the normal way, but write entries to the message queue. You'd then write a secondary process to subscribe to the queue, and send off requests to the payment provider when items exist.
I'd also check there is a way to interact with your payment provider in bulk.