Recommended path
Use Payment Element for new card projects. Why:- card fields are hosted in a secure iframe
- tokenization stays outside your DOM
- 3DS next actions are handled in the same flow
- your backend still owns transaction creation and order state
Card payment model
- Your frontend initializes Payment Element with a public key.
- The customer enters card data inside hosted fields.
- Your frontend sends a tokenized payload to your backend.
- Your backend calls
POST /v2/transactions. - If required, 3DS is completed and the final transaction state is delivered by webhook or reconciliation.

