Local Payment Methods
Swft automatically surfaces local payment methods based on the shopper’s billing country. These are rendered as native UI elements — not Stripe’s generic payment element — giving shoppers a familiar, trusted experience.
Supported methods by country
Section titled “Supported methods by country”| Country | Method | Notes |
|---|---|---|
| Netherlands (NL) | iDEAL | Bank selector presented inline |
| Belgium (BE) | Bancontact | Card-style input, redirects to Bancontact |
| Poland (PL) | BLIK | 6-digit code input (see below) |
| Germany (DE) | SOFORT / Klarna Pay Now | Redirect-based |
| Sweden (SE) | Swish | QR code on desktop, deep link on mobile |
| Denmark (DK) | MobilePay | Redirect-based |
| Norway (NO) | Vipps | Redirect-based |
| Finland (FI) | MobilePay | Redirect-based |
| Austria (AT) | EPS | Bank selector, redirect |
| Portugal (PT) | MB WAY | Phone number input, push notification |
| Spain (ES) | Bizum | Phone number input |
| France (FR) | Alma | BNPL instalment option (3x, 4x) |
Country detection uses the billing country selected by the shopper, not IP geolocation. This ensures accurate method presentation when billing and shipping addresses differ.
How methods are shown
Section titled “How methods are shown”When a shopper selects a supported billing country, the relevant local payment methods appear as tab options in the payment section — alongside Card, Apple Pay / Google Pay (where supported), and any configured BNPL options.
Swft does not show multiple local methods at once in the same tab row (which creates decision paralysis). Only the primary method for the selected country is promoted. Secondary methods are accessible via a “More payment options” expander.
iDEAL (Netherlands)
Section titled “iDEAL (Netherlands)”iDEAL transactions present an inline bank selector with logos for all major Dutch banks. Selecting a bank redirects to the bank’s own authentication page and returns to the Swft confirmation screen on success.
Stripe handles the redirect flow. Swft pre-creates the PaymentIntent with payment_method_types: ['ideal'] for NL sessions.
Bancontact (Belgium)
Section titled “Bancontact (Belgium)”Bancontact renders a card-number-style input for the 16-digit card number or redirects to the Bancontact app on mobile. The payment is confirmed synchronously on the Swft edge worker before redirecting to the order confirmation page.
BLIK (Poland)
Section titled “BLIK (Poland)”BLIK is the most-used payment method in Poland. The flow is:
- Shopper opens their banking app and generates a 6-digit BLIK code (valid for 2 minutes).
- Swft presents a 6-digit code input field.
- The shopper enters the code and clicks Pay.
- Swft submits the code to Stripe, which sends a push notification to the banking app.
- The shopper approves in their banking app.
- Stripe confirms the payment; Swft redirects to order confirmation.
The BLIK input has a 2-minute countdown timer with a “Get new code” prompt that refreshes the PaymentIntent without losing the order.
Disabling local payments
Section titled “Disabling local payments”To disable all local payment methods for a merchant:
{ "modules": { "localPayments": false }}To disable a specific method only:
{ "modules": { "localPayments": { "exclude": ["blik", "ideal"] } }}Valid method identifiers for exclude: ideal, bancontact, blik, sofort, swish, mobilepay, vipps, eps, mbway, bizum, alma.
Currency handling
Section titled “Currency handling”Local methods are only shown when the cart currency matches the payment method’s native currency. iDEAL requires EUR; BLIK requires PLN; Swish requires SEK. If your store charges in GBP only, iDEAL and BLIK will not appear even for Dutch or Polish shoppers.
To support local currencies, configure multi-currency in the merchant settings and ensure your Stripe account has the relevant settlement currency enabled.
Stripe requirements
Section titled “Stripe requirements”All local payment methods are processed via Stripe. Your Stripe account must have each payment method enabled in the Stripe Dashboard. Swft will not render a payment method that is not enabled on your connected Stripe account, even if the shopper’s country matches.