# Payment processors

SwissPay routes card and alternative-payment traffic through one or more processor connections. From your application's perspective the API surface is identical — the same `POST /api/v1/payments` and webhook events apply — and the underlying processor is selected per-merchant during onboarding.

## Card acquiring

Card payments today are settled through **Adyen for Platforms** using their Server-to-Server Checkout API. What this means in practice:

* Card data submitted to `POST /api/v1/payments` is tokenised by the processor; SwissPay only stores brand, BIN and last 4 digits.
* 3-D Secure 2 is supported end-to-end, including frictionless flows and challenge redirects (see [Payments → 3-D Secure](/api-reference/payments.md#example--3-d-secure-automatic)).
* Saved cards are minted into stored payment methods on first charge when you opt in (`storePaymentMethod: true` + `shopperReference`), then reused on subsequent payments without resubmitting card details.
* Disputes (chargebacks) raised against card payments are normalised into SwissPay's [provider-neutral dispute model](/api-reference/disputes.md).

## Alternative payment methods

**PayPal Managed Path** is on the SwissPay roadmap. Once available, PayPal will appear as a payment method on `POST /api/v1/payments`, with the same response shape and webhook semantics as cards. Public documentation will be updated when it ships.

## Why this matters for integrators

You should never need to special-case a processor. SwissPay exposes:

* One payment endpoint, one Payment object, one webhook event family.
* One dispute model regardless of where the dispute originated.
* One saved-card / token concept usable across providers.

If you find yourself branching on a processor name in your code, that is almost certainly something we should normalise — please tell us at <info@swisspay.ai>.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.swisspay.ai/reference/integrations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
