Translation between your domain interface and the external system's contract.
An adapter should absorb request mapping, response translation, and provider-specific quirks. It should not take over core checkout orchestration, pricing policy, or unrelated application responsibilities.