Use this page when you are replacing a legacy browser card flow.
Legacy POST /v2/payment_token/:public_token tokenization is retired on August 1, 2026 at 00:00 BRT (03:00 UTC). After the cutoff it returns 410 LEGACY_TOKENIZATION_RETIRED; existing tokens, saved cards, and subscriptions remain valid under their current lifecycle.
What changes
- raw browser tokenization flow -> hosted Payment Element field
- legacy browser-side card orchestration ->
elements.submit(...)
- custom challenge plumbing -> card authentication handled inside
elements.submit(...)
- manual retry after an interrupted challenge ->
elements.resume({ transactionId })
- unstable browser contract -> stable backend
POST /v2/transactions
Keep stable during migration
- keep your backend transaction route stable
- keep
external_ref, transaction ID, and requestId persistence unchanged
- keep webhook and reconciliation logic unchanged
- migrate one checkout surface at a time
Backend contract example
Read next