Prices are always stored internally as decimals and formatted for display in the standard or European style, for example 15.95 or 15,95. Payment APIs such as Stripe or Razorpay receive the amount as an integer in cents (amount times 100).
This avoids rounding errors between what is displayed and what is actually charged.
Full details in the documentation: Price and Cents Convention.
