Start with the architecture, because lock-in lives in it. In a card payment, the customer's bank (the issuer) approves or declines, and the merchant's bank (the acquirer) collects the money on the merchant's behalf, connected through a card network such as Visa or Mastercard (Stripe on acquirer vs issuer). The acquirer maintains the merchant account that receives funds and assists the merchant with chargeback management, while the processor transmits the transaction (Global Blue on the acquirer role).
That division matters for exit planning. Leaving one component does not necessarily mean leaving the others. You can keep your acquiring bank and change your gateway, or keep the gateway and move processing, if the pieces are separable. All-in-one bundles are convenient, but a bundled gateway, processor and acquirer can make switching harder because you have to replace the whole stack at once, which is the point an independent gateway vendor makes about all-in-one solutions (FreedomPay). The first decision rule: know which of the layers you are actually buying, and insist the contract names them separately.
The less visible layer is tokenization. When a customer saves a card, your provider swaps the card number (the PAN) for a token, and only the original tokenization system can exchange that token back for the PAN when a payment is authorized (Payabli tokenization docs). That sentence is the whole lock-in story. If your stored tokens only resolve inside one processor's vault, a new processor cannot charge them, and every saved card becomes a re-collection problem.



