If a discount code brings an offer's total below the minimum amount Stripe can process, the payment box won't show any card fields. This is expected behavior tied to a Stripe platform rule, not a Heartbeat bug.
Why it happens
Stripe requires a minimum charge amount for card payments - $0.50 USD, or the equivalent in your local currency (£0.30 GBP, for example). When a discount code drops the offer total below that floor, Stripe doesn't return a payment method to use, so the card details section appears blank at checkout.
How to fix it
Adjust the discount so the final price stays above your currency's Stripe minimum.
- Check the discounted total your code produces (offer price minus the discount)
- Compare it against Stripe's minimum charge amount for your currency
- If it falls below that minimum, reduce the discount percentage or amount so the final price clears the floor
Example: A £10.00 offer with a 99% off code drops to £0.10 – below Stripe's ~£0.30 GBP minimum, so no card field appears. The same offer with a 50% off code lands at £5.00, which processes normally.