A customer should never be charged a different number than the one you showed them. The only reliable way to guarantee that is to make the displayed price and the charged price read from the same source — the live plan record the checkout itself uses.
The bug this prevents is quiet and corrosive: a pricing page reads a hard-coded constant while checkout reads the live plan table. Edit one and forget the other, and the page now advertises a price you don't charge. Nobody sees an error; a customer just notices later, and trust takes the hit.
The rule
Read prices live from the record of truth at render time. Do not copy a price into a second place — a constant in the code, a duplicated marketing string — that has to be kept in sync by hand.
The corollary: don't show a price where you can't keep it honest
Sometimes the safe move is to not show the number at all. A trial signup form, for example, can confirm the plan a visitor chose by name ("starting your trial on the Pro plan") without quoting a price — because a static price baked into the signup form is exactly the kind of duplicate that drifts. The authoritative price lives on the pricing page and at checkout, both reading the same source. Showing the plan name confirms the choice; omitting the static price removes a thing that can go wrong.
How to check it
The strongest check is a direct comparison: assert that the price the page renders equals the price the billing system would charge for that plan. If the two can disagree, eventually they will — so make a test prove they can't.