Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
Build an in-app integration
Payment methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
    Overview
    Accept in-person payments
    Integration design
    Select your reader
    Design an integration
    Quickstart
    Example applications
    Testing
    Terminal setup
    Set up your integration
    Connect to a reader
    Accepting a payment
    Collect card payments
    Additional payment methods
    Accept offline payments
    Mail order and telephone order payments
    Regional considerations
    During checkout
    Collect tips
    Collect and save payment details for future use
    Flexible authorizations
    After checkout
    Refund transactions
    Provide receipts
    Customize checkout
    Cart display
    Collect on-screen inputs
    Collect swiped data
    Collect tapped data for NFC instruments
    Apps on devices
    Manage readers
    Order, return, replace readers
    Register readers
    Manage locations and zones
    Configure readers
    Encryption
    References
    API references
    Mobile readers
    Smart readers
    SDK migration guide
    Deployment checklist
    Stripe Terminal reader product sheets
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsTerminal

Regional considerations

Learn about regional considerations for integrating Terminal in different countries.

Copy page

​​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.

Country

Availability

Refer to the following table to understand which readers and SDK platforms you can use in each country.

CountriesAndroid**iOS**JavaScriptServer-Driven
United States
Stripe Reader M2
Bluetooth or USB
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay
Embedded
Stripe Reader M2
Bluetooth
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay
Embedded
Stripe Reader S700
Smart
WisePOS E
Smart
Stripe Reader S700
Smart
WisePOS E
Smart
Australia
Canada
Italy
Netherlands
WisePad 3
Bluetooth or USB
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay*
Embedded
WisePad 3
Bluetooth
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay
Embedded
Stripe Reader S700
Smart
WisePOS E
Smart
WisePOS E
Smart
Ireland
New Zealand
United Kingdom
WisePad 3
Bluetooth or USB
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay
Embedded
WisePad 3
Bluetooth
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay
Embedded
Stripe Reader S700
Smart
WisePOS E
Smart
WisePOS E
Smart
Singapore
WisePad 3
Bluetooth or USB
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay
Embedded
WisePad 3
Bluetooth
Stripe Reader S700
Smart
WisePOS E
Smart
Stripe Reader S700
Smart
WisePOS E
Smart
WisePOS E
Smart
France
Germany
WisePad 3
Bluetooth or USB
Stripe Reader S700
Smart
Tap to Pay*
Embedded
WisePad 3
Bluetooth
Stripe Reader S700
Smart
Tap to Pay*
Embedded
Stripe Reader S700
Smart
Belgium
Denmark
Luxembourg
Malaysia
Norway
Spain
WisePad 3
Bluetooth or USB
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay*
Embedded
WisePad 3
Bluetooth
Stripe Reader S700
Smart
WisePOS E
Smart
Stripe Reader S700
Smart
WisePOS E
Smart
WisePOS E
Smart
Austria
Czech Republic
Finland
Poland+
Portugal
Sweden
Switzerland
WisePad 3
Bluetooth or USB
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay*
Embedded
WisePad 3
Bluetooth
Stripe Reader S700
Smart
WisePOS E
Smart
Tap to Pay*
Embedded
Stripe Reader S700
Smart
WisePOS E
Smart
WisePOS E
Smart
+Terminal is currently in beta in this country.
*This Terminal integration shape is currently in beta.
**Compatibility for this mobile SDK also applies when used with React Native.

Integrate Terminal in Australia

Stripe supports Visa, Mastercard, American Express, and eftpos payments in Australia. All transactions must be made in Australian dollars (AUD). To accept Terminal charges in Australia, either your platform account or connected account must be in Australia.

Use locations

Create Locations for your business with addresses in Australia and associate your readers to them. This will ensure that they automatically download the configuration needed to properly process charges in Australia. A valid address for a Location in Australia must contain the line1, city, state, postal_code, and country properties.

Command Line
curl
curl https://api.stripe.com/v1/terminal/locations \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "display_name"="HQ" \ -d "address[line1]"="1234 Victoria Street" \ -d "address[city]"="Melbourne" \ -d "address[state]"="Victoria" \ -d "address[country]"="AU" \ -d "address[postal_code]"="3000" \

Reader software version

BBPOS WisePad 3 readers operating in Australia must use the reader software version 4.01.00.48_Prod_APAC1_on_v23_490001 or later. Read about BBPOS WisePad 3 software updates for details.

eftpos payments

Eftpos is Australia’s local debit card network. More than 90% of eftpos cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either network supported by the card.

Stripe processes co-branded eftpos cards over eftpos, Visa, or Mastercard depending on the least cost routing requirements and the type of transaction.

Availability

Eftpos is available to any business that uses Stripe in Australia, with the following exceptions:

  • Massage parlors (MCC 7297)
  • Financial institutions—manual cash disbursements (MCC 6010)
  • Financial institutions—merchandise and services (MCC 6012)
  • Non-financial institutions—foreign currency, money orders and travelers’ checks. (MCC 6051)
  • Remote stored value load—merchant (MCC 6530)
  • Stored value card purchase/load (MCC 6540)
  • Wires, money orders (MCC 4829)

Cash out transactions, where the business disburses cash to a customer, aren’t supported on Terminal.

Integration requirements

To process in-person payments over the eftpos network, you need to make sure that your Terminal integration:

  • Uses up-to-date Terminal SDKs

    If you use the Terminal iOS SDK, Android SDK, or React Native SDK, you need to use the following minimum SDK versions to accept eftpos payments:

    • iOS SDK 2.20.0, released on May 3, 2023
    • Android SDK 2.20.0, released on May 11, 2023
    • React Native SDK 0.0.1-beta.12, released on June 1, 2023

    You don’t need to make any changes if you use the Terminal Javascript SDK or server-driven integration.

  • Uses automatic or manual_preferred capture type on your payments

    Eftpos only supports payments that are authorized and captured in a single step. Unlike networks like Visa and Mastercard, eftpos doesn’t support placing a “hold” on a card and capturing the funds later. Only payments with automatic or manual_preferred capture type can be processed on eftpos.

    Capture typeImplementationResult
    automaticSet ​capture_method on the PaymentIntent to automatic.All card payments will be authorized and captured in a single step.

    manual_preferred

    Set ​capture_method on the nested payment_method_options.card_present attribute to manual_preferred.

    eftpos card payments will be authorized and captured in a single step.

    Non-eftpos card payments will be authorized only. To capture the funds, make a separate request.

    manual

    Set ​capture_method on the PaymentIntent to manual.

    eftpos card payments will always decline.

    Non-eftpos card payments will be authorized only. To capture the funds, make a separate request.

Refund an eftpos payment

Eftpos supports online refunds through the API or Dashboard. The cardholder isn’t required to present their card again at the point of sale.

Routing multi-network debit cards

For co-branded, multi-network debit cards supporting both eftpos domestic debit and international card networks, Stripe uses the following default routing:

Capture typeDefault routing for contact paymentsDefault routing for contactless payments
automaticCustomer selects on the Terminal readereftpos
manual_preferredCustomer selects on the Terminal readerInternational network
manualInternational networkInternational network

You can optionally request a preferred network routing choice on PaymentIntent creation, by setting the requested_priority on the nested payment_method_options.card_present.routing attribute.

RoutingImplementationResult

eftpos

Set requested_priority on the nested payment_method_options.card_present.routing attribute to domestic

For co-branded eftpos cards, Stripe prioritizes the eftpos network.

Stripe will continue to authorize all other cards as-is.

International networks

Set requested_priority on the nested payment_method_options.card_present.routing attribute to international

For co-branded eftpos cards, Stripe prioritizes the international network.

Stripe will continue to authorize all other cards as-is.

Identify which network a payment was processed on

To identify which network a payment was processed on, inspect the network field on the Charge object associated with a successful PaymentIntent.

{ "id": "ch_1Ff52K2eZvKYlo2CWe10i0s7", "object": "charge", ... "payment_method_details": { "card_present": { "brand": "visa", ... "network": "eftpos_au" }, "type": "card_present" } }
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc