You should be able to use WePay for this. They offer a really good, simple service, with great customer support. You can use their API to set up a system exactly like you described. I am working on a project that uses the WePay API and it is great.
No comments yet.