This is a real limitation in the Refund tool, not something you're doing wrong — and importantly, the money is still refundable, just not through the normal Back Office screen in this case.
What's actually happening
The Stripe Refund dialog (Reservation → Actions → Refund) doesn't refund a specific payment directly. It first looks up the customer's Stripe Customer ID and asks Stripe for every charge against that customer, then lets you pick one to refund. If the customer doesn't have a Stripe Customer ID attached to their BRM record, that lookup fails outright and the dialog has nothing to show you — it reads like "no card is stored," but a Stripe Customer ID and a saved card are two different things, and neither is actually required to refund money that was genuinely captured.
A Stripe charge can always be refunded directly against its own charge ID, which has nothing to do with whether a card was saved for reuse. BRM already has that charge's reference stored against the payment on the reservation — the refund screen just isn't able to look it up that way, only via the customer search.
What to do about it right now
There's no self-service fix for this specific situation in Back Office today. It needs escalating — whoever has Stripe Dashboard access for the account can find the charge by searching Stripe for the reservation reference (every charge and refund is tagged with it) and refund it directly there.
Flag this as a genuine gap rather than telling a customer or operator to find a card that was never saved — there may not be one to find, and that's not actually what's stopping the refund.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article