Swish payments
Swish is a single-use payment method used in Sweden. It allows customers to authenticate and approve payments using the Swish mobile app and the Swedish BankID mobile app.
You get immediate notification on whether the payment succeeded or failed.
Caution
Stripe automatically presents your customers payment method options by evaluating their currency, payment method restrictions, and other parameters. We recommend that you configure your payment methods from the Stripe Dashboard using the instructions in Accept a payment.
If you want to continue manually configuring the payment methods you present to your customers with Checkout, use this guide (for example, to accept payments in Subscription mode). Otherwise, migrate to the dashboard.
Use this guide to enable Swish on Checkout, our hosted checkout form, and learn the differences between accepting a card payment and a Swish payment.
Note
Swish is a delayed notification payment method, which means that funds are not immediately available after payment. A payment typically takes 2 business days to arrive in your account.
Determine compatibility
A Checkout Session must satisfy all of the following conditions to support Swish payments:
- Prices for all line items must be expressed in SEK.
Set up StripeServer-side
First, you need a Stripe account. Register now.
Use our official libraries for access to the Stripe API from your application:
Accept a payment
Note
This guide builds on the foundational accept a payment Checkout integration.
Enable Swish as a payment method
When creating a new Checkout Session, you need to:
- Add
swish
to the list ofpayment_method_types
. - Make sure all your
line_items
use thesek
currency.
Stripe::Checkout::Session.create({ mode: 'payment', payment_method_types: ['card'], payment_method_types: ['card', 'swish'], line_items: [{ price_data: { currency: 'usd', # To accept `swish`, all line items must have currency: sek currency: 'sek', product_data: { name: 'T-shirt', }, unit_amount: 2000, }, quantity: 1, }], success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', })
Fulfill your orders
After accepting a payment, learn how to fulfill orders.
Because Swish is a delayed notification payment method, you must also complete the handle delayed notification payment methods step of the guide.
Failed payments
Swish uses multiple data points to decide when to decline a transaction (for example, there aren’t enough funds in the customer’s bank account, or the customer has clicked Cancel in the app).
In these cases, the PaymentMethod is detached and the PaymentIntent object’s status automatically transitions to requires_payment_method
.
Other than a payment being declined, for a Swish PaymentIntent with a status of requires_action
, customers must complete the payment within 3 minutes. If no action is taken after 3 minutes, the PaymentMethod is detached and the PaymentIntent object’s status automatically transitions to requires_payment_method
.