Skip to main content
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