Regional considerations
Learn about regional considerations for integrating Terminal in different countries.
For the most part, you’ll be able to use a single Terminal integration in all supported countries. However, due to local payment methods or regulations there are some country-specific requirements. After going through the sample integration, use this guide to learn about country-specific requirements for Terminal.
Note
To process Terminal payments, both the Stripe account receiving the funds and the location associated with the reader must be in the same country, accepting local currency only.
Availability
Refer to the following table to understand which readers and SDK platforms you can use in each country.
Country | Android** | iOS** | JavaScript |
---|---|---|---|
Germany | ![]() BBPOS WisePad 3 Bluetooth or USB![]() Stripe Reader S700 Smart![]() Tap to Pay* Embedded | ![]() BBPOS WisePad 3 Bluetooth![]() Stripe Reader S700 Smart![]() Tap to Pay* Embedded | ![]() Stripe Reader S700 Smart |
Integrate Terminal in Germany
Stripe supports Visa, Mastercard, American Express, Discover, and girocard payments in Germany. All transactions must be made in euros (EUR). To accept Terminal charges in Germany, either your platform account or connected account must be in Germany.
girocard payments
girocard is an interbank network that handles routing of debit card payments in Germany. Most consumer debit cards in Germany are branded with a girocard logo and co-badged with Visa or Mastercard (or their sub-brands like V-Pay or Maestro). You can process these cards over either supported network.
Integration requirements
To accept girocard payments, you must use the BBPOS WisePad 3 reader with the following minimum Terminal SDK versions:
- iOS SDK 2.17.0: Released on 31 January 2023
- Android SDK 2.17.0: Released on 2 February 2023
- React Native SDK 0.0.1-beta.12: Released on 1 June 2023
The Stripe Reader S700 and the BBPOS WisePOS E reader don’t support girocard. These devices can continue to process transactions from co-badged cards with Visa and Mastercard.
Routing co-badged debit cards
Co-badged girocard debit cards support both girocard and international card networks. If your integration supports girocard, then when you create a PaymentIntent you can choose whether to process the payment directly through girocard or the co-badged network.
To do so, set the requested_priority on the nested payment_
attribute for this purpose.
Routing | Implementation | Result |
---|---|---|
girocard | Set requested_priority on the nested payment_ attribute to domestic | For co-badged girocard cards, the girocard network is prioritised. All other cards will be processed as-is. |
International networks | Set requested_priority on the nested payment_ attribute to international | For co-badged girocard cards, the international network is prioritised. All other cards will be processed as-is. |
Stripe Terminal also supports customer card brand choice by default to help you meet applicable requirements. Customers who insert a co-badged girocard card into a supported device can override your priority selection to exercise choice by selecting their preferred network routing option.

SetupIntents, which are used to collect card details without charging the card, are always routed to the international network. This is because girocard doesn’t support off-session payments initiated by a business.
Refund a girocard payment
You can refund girocard payments through the API or Dashboard. The cardholder isn’t required to present their card again at the point of sale.
The girocard network doesn’t natively support refunds. As a workaround, Stripe sends the refund by SEPA transfer to the customer’s bank account, using the IBAN associated with their girocard.
To check the status of the transfer, inspect the Refund object. Be aware that the refund might fail – for instance, if the customer closes their bank account or the transfer can’t be processed.
Identify the network
To identify which network a payment was processed on, inspect the network value of the Charge object associated with a successful PaymentIntent.
{ "id": "ch_1Ff52K2eZvKYlo2CWe10i0s7", "object": "charge", ... "payment_method_details": { "card_present": { "brand": "visa", ... "network": "girocard" }, "type": "card_present" } }
Use locations
Create Locations for your business with addresses in Germany and associate your readers to them. This will ensure that they automatically download the configuration needed to properly process charges in Germany. A valid address for a Location in Germany must contain the line1
, city
, postal_
, and country
properties.
Reader software version
BBPOS WisePad 3 readers operating in Germany must use the reader software version 4.
or later. Read about BBPOS WisePad 3 software updates for details.
Translation
Language regulations require that services, including point-of-sale services, be provided in German unless English has been agreed upon by the cardholder and their card issuer. Terminal is built to help you comply with these requirements if they apply to your business.
Default reader language
The BBPOS WisePOS E and Stripe Reader S700 support changing reader language in the Settings panel. Swipe right across the screen to access the Settings panel, and select your language.
The BBPOS WisePad 3 supports changing reader language directly in the reader interface. After you have registered your reader to a Location with an address in Germany, the reader installs a language pack relevant for your region if one isn’t already in place. To view available language options and to select a language, click the Power / Settings button and scroll down using the arrow keys until you reach the language selection menu. Highlight your desired language and press the green Enter key.
Other translations
If you’re required to provide services in or would like to translate text into German in addition to English, ensure that any of your custom reader screens and receipts display the appropriate translations.
Strong Customer Authentication
Strong Customer Authentication (SCA) is a European regulatory requirement to reduce fraud and make payments more secure. SCA is or will be required for customer-initiated electronic payments within the European Economic Area (EEA). For more information about this European regulation, you can read Stripe’s PSD2: SCA guide.
Transactions below 50 euros (or the local currency equivalent) are considered low value and may be exempted from SCA. However, banks need to request authentication if the low value exemption has been used five times since the cardholder’s last successful authentication or if the sum of previously exempted payments exceeds 150 euros (or the local currency equivalent).
In Germany, all transactions authenticated with a PIN satisfy the SCA requirements. The card represents the first authentication element of the transaction (possession) and the PIN represents the second (knowledge). Some contactless cards may support PIN validation with a single tap; however, others may require initiating an authenticated Chip and PIN contact transaction to comply with the SCA requirements.
If a contactless transaction isn’t eligible for an SCA exemption, the reader prompts the customer to enter their PIN or insert their card for a chip-and-PIN transaction.
You will see two charges associated with SCA-authenticated transactions. The first will be a soft-declined charge with an error message online_
or offline_
, depending on the card’s capabilities. The second will be the authorized or hard-declined charge.