Don't ask twice.
WCAG 2.2 added a success criterion, 3.3.7 Redundant Entry, at level A. It says information a user has already entered in the same process should be filled in for them or available to select, with a few exceptions.
Where checkouts break it
- Billing address fields cleared after a card is declined
- Shipping and billing addresses that can't be copied from one to the other
- Email asked for again at the account step after it was entered for the receipt
- The whole form reset when one field fails validation
The exceptions
Re-entry can be required where it's essential, such as confirming a new password, for security, or when the earlier information is no longer valid. A card security code asked for again after a decline usually falls under security.
Why it matters beyond compliance
On a phone, retyping an address takes long enough that people give up. The criterion describes something shoppers already hate.
What we do
We list every field in your checkout, mark which ones can be lost and when, and redesign the form so a failure in one field leaves the others alone.