We are looking into adding an auction feature to our online service. Ideally, we would like to be able to ask for a users credit card information at the time of placing a bid and then only charge the selected winner.
Lots of this stuff seems to require PCI compliance so we must go through third party services, Paypal Vault and other services offer a way to store users card info, but we aren't sure if it's even possible to store this info and charge a selected winner programmatically?
Is there any service or combination of servies that would provide this functionality or are we limited to collecting credit card info and charging a user after the winner has been chosen?
You are indeed looking for a vault or reference transaction feature. They allow you to programmatically (i.e. via an API call) charge a user at an arbitrary later date.
PayPal's Braintree Gateway would likely be best suited to what you've stated so far.