Right now the forms are a mess, this should help.
This is production-ready when (not necessarily this task, could be a parent task), the template handles:
- Screen-reader support.
- I18n of text.
- L10n of amounts, dates, and other numbers, by language and country.
- Form variations by country, e.g. Fiscal Number (CPF) in Brazil.
- A/B testing of form variations. This might have to go deeper than CSS, and allow us to swap out partials, etc.
- All gateways.
- All payment methods.
- Displays server-side validation errors.
- Performs client-side validation.