Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
Security
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Overview
Payment method integration options
Bank debits
Bank redirects
Bancontact
EPS
FPX
giropay
iDEAL
Przelewy24
Sofort
Accept a payment
Save bank details during payment
Set up future payments
Bank transfers
Buy now, pay later
Credit transfers (Sources)
Real-time payments
Vouchers
Wallets
Testing
No-code options
HomePaymentsBank redirectsSofort

Accept a Sofort payment

Learn how to accept Sofort, a common payment method in Europe.

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.

SOFORT is a delayed notification payment method, which means that funds are not immediately available after payment. A payment typically takes 2 to 14 business days to arrive in your account.

Customers pay with SOFORT by redirecting away from the Checkout Session to their bank, sending you payment, and then returning to Checkout. They are then redirected back to your site.

Determine compatibility

Supported business locations: Europe, US, CA, NZ, SG, HK, JP, AU, MX

Supported currencies: eur

Presentment currencies: eur

Payment mode: Yes

Setup mode: No

Subscription mode: No

A Checkout Session must satisfy all of the following conditions to support SOFORT payments:

  • You can only use one-time line items (recurring subscription plans are not supported).
  • Prices for all line items must be expressed in Euro (currency code eur).

Accept a payment

First build an integration to accept a payment with Checkout before using this guide.

This guide walks you through enabling SOFORT and shows the differences between accepting a card payment and using SOFORT.

Enable SOFORT as a payment method

When creating a new Checkout Session, you need to:

  1. Add sofort to the list of payment_method_types.
  2. Make sure all your line_items use the eur currency.
Stripe::Checkout::Session.create({ mode: 'payment', payment_method_types: ['card'], payment_method_types: ['card', 'sofort'], line_items: [{ price_data: { currency: 'usd', # To accept `sofort`, all line items must have currency: eur currency: 'eur', 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 SOFORT is a delayed notification payment method, you must also complete the handle delayed notification payment methods step of the guide.

Test your integration

When testing your Checkout integration, select SOFORT as the payment method and click the Pay button.

Handle refunds and disputes

The refund period for SOFORT is up to 180 days after the original payment.

There is no dispute process–customers authenticate with their bank.

Was this page helpful?
Questions? Contact us.
View developer tutorials on YouTube.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Determine compatibility
Accept a payment
Test your integration
Handle refunds and disputes
Stripe Shell
Test mode
▗▄ ▄▟█ █▀▀ ▗▟████▙▖ ██████ ███▗▟█ ███ ███▗▟██▙▖ ▗▟█████▙▖ ███▖ ▀▀ ███ ███▀▀▀ ███ ███▀ ███ ███ ███ ▝▜████▙▖ ███ ███ ███ ███ ███ █████████ ▄▄ ▝███ ███ ▄ ███ ███ ███▄ ███ ███ ▄▄ ▝▜████▛▘ ▝▜███▛ ███ ███ ███▝▜██▛▘ ▝▜█████▛▘ ███ ▀▘
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to Stripe docs and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$