Hacker News new | ask | show | jobs
by amfeng 4716 days ago
You can use your default card for once-off charges as well (just don't specify a card ID when making a charge with a customer).

You're right that you can't use a separate card for subscriptions yet -- we just use the customer's default card. We'd love to hear your feedback on this though (feel free to ping me at amber@stripe.com)!

1 comments

It'd be handy to let a customer have multiple subscriptions, and to have those subscriptions be associated with one of the customer's cards.

Currently that has to be abstracted away on client-side databases and we end up having multiple 'Stripe customers' associated with a single client, so it fudges our customer count in the Stripe management interface.

Makes sense.

What would the ideal behavior be if your customer updates their default card? Should the recurring billing continue chugging along with the card it was created with, or use the new card instead?

I would expect to be able to list subscriptions and list what card is associated with each. I would show an "Update Card" button next to each subscription. That button would prompt the user to either choose from a list of stored cards or add a new one.

The concept of a "default" card would come up when creating a new subscription or charge, and would be presented as the default selected payment option. The user would be able to select another card or add a new one.

I'm thinking of something similar to Amazon's checkout credit card selection screen.

Newegg and other websites keep a history of cards you've used, so this new 'multiple cards' feature brings Stripe closer to feature parity with most closed systems. It's really impressive that Stripe offers these features openly to the world.

Most major websites that have check-outs operate similarly to how you describe, but there's no 'default' card presented at check-out -- instead it displays the last card used for the last purchase.

I'd say with almost absolute certainty the recurring billing should continue to charge the card it was created with. default_card should essentially be a pointer to a customer's preferred card.