# 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](https://docs.stripe.com/terminal/quickstart.md), use this guide to learn about country-specific requirements for Terminal.

> To process Terminal payments, both the Stripe account receiving the funds and the [location](https://docs.stripe.com/terminal/fleet/locations-and-zones.md) associated with the reader must be in the same country, accepting local currency only.

## Availability

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

| Country | [Smart readers](https://docs.stripe.com/terminal/smart-readers.md) | [Mobile readers](https://docs.stripe.com/terminal/mobile-readers.md) | [Tap to Pay](https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay.md) |
| --- | --- | --- | --- |
| US | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700
- Verifone P630, UX700, V660p
- Verifone M425 (Public preview) | - Stripe Reader M2 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| AU | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700
- Verifone V660p, UX700, P630 (Private preview) | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| - BE
- IT
- NL
- NO
- ES
- SE | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700
- Verifone V660p, UX700, P630 (Public preview) | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| NZ | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700 | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| CA | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700
- Verifone V660p, UX700, P630, M425 (Public preview) | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| - IE
- GB | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700
- Verifone V660p, UX700, P630 (Private preview) | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| SG | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700
- Verifone V660p, P630 (Private preview) | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| - AT
- CH
- CZ
- DK
- FI
- LU
- PT | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700
- Verifone V660p, UX700, P630 (Public preview) | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| PL | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700 | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| FR | - Stripe Reader S710
- Stripe Reader S700
- Verifone V660p, UX700, P630 (Private preview) | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| DE | - BBPOS WisePOS E
- Stripe Reader S700 | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| JP | - Stripe Reader S700 | - BBPOS WisePad 3 | - Tap to Pay on iPhone |
| MY | - BBPOS WisePOS E
- Stripe Reader S710
- Stripe Reader S700 | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone (Public preview) |
| MX |  |  | - Tap to Pay on iPhone (Public preview) |
| - BG
- HR
- CY
- EE
- HU
- LV
- LI
- LT
- MT
- RO
- SK
- SI | - BBPOS WisePOS E
- Stripe Reader S710 | - BBPOS WisePad 3 | - Tap to Pay on Android
- Tap to Pay on iPhone |
| - GI |  |  | - Tap to Pay on Android |

## Regional considerations by country

Select a country to view its specific regional considerations

# Australia (AU)


## Integrate Terminal in Australia

Stripe supports Visa, Mastercard, American Express, and [eftpos](https://docs.stripe.com/terminal/payments/regional.md?integration-country=AU#eftpos-payments) 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](https://docs.stripe.com/api/terminal/locations/create.md) for your business with addresses in AU and [associate your readers to them](https://docs.stripe.com/terminal/fleet/locations-and-zones.md). This will ensure that they automatically download the configuration needed to properly process charges in AU. A valid [address for a Location](https://docs.stripe.com/api/terminal/locations/create.md#create_terminal_location-address) in AU must contain the  properties.

#### curl

```bash
curl https://api.stripe.com/v1/terminal/locations \
  -u <<YOUR_SECRET_KEY>>: \
  -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.05.00_Prod_APAC1_on_v28_491001` or later. Read about [BBPOS WisePad 3 software updates](https://docs.stripe.com/terminal/payments/connect-reader.md?reader-type=bluetooth#update-reader) for details.

## eftpos payments

[Eftpos](https://www.eftposaustralia.com.au/) 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](https://support.stripe.com/questions/supporting-dual-network-debit-cards-in-australia) and the [type of transaction](https://docs.stripe.com/terminal/payments/regional.md?integration-country=AU#identify-which-network-a-payment-was-processed-on).

### Availability 

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

- Massage parlors ([MCC](https://docs.stripe.com/connect/setting-mcc.md) 7297)
- Financial institutions—manual cash disbursements ([MCC](https://docs.stripe.com/connect/setting-mcc.md) 6010)
- Financial institutions—merchandise and services ([MCC](https://docs.stripe.com/connect/setting-mcc.md) 6012)
- Non-financial institutions—foreign currency, money orders and travelers’ checks. ([MCC](https://docs.stripe.com/connect/setting-mcc.md) 6051)
- Remote stored value load—merchant ([MCC](https://docs.stripe.com/connect/setting-mcc.md) 6530)
- Stored value card purchase/load ([MCC](https://docs.stripe.com/connect/setting-mcc.md) 6540)
- Wires, money orders ([MCC](https://docs.stripe.com/connect/setting-mcc.md) 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](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=ios), [Android SDK](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=android), or [React Native SDK](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=react-native), you need to use the following minimum SDK versions to accept eftpos payments:

  - [iOS SDK 2.20.0](https://github.com/stripe/stripe-terminal-ios/releases), released on May 3, 2023
  - [Android SDK 2.20.0](https://github.com/stripe/stripe-terminal-android/releases), released on May 11, 2023
  - [React Native SDK 0.0.1-beta.12](https://github.com/stripe/stripe-terminal-react-native/releases), released on June 1, 2023

  You don’t need to make any changes if you use the Terminal [Javascript SDK](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=js) or [server-driven integration](https://docs.stripe.com/terminal/payments/setup-integration.md?terminal-sdk-platform=server-driven).

- Uses `automatic`, `manual_preferred`, or `automatic_delayed` 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`, `manual_preferred`, or `automatic_delayed` capture type can be processed on eftpos. When `automatic_delayed` is set, eftpos payments are authorized and captured immediately (equivalent to `automatic`), while non-eftpos card payments are authorized and automatically captured after a delay.

| Capture type           | Implementation                                                                                                                                                                                                                              | Result                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **automatic**          | Set [​capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) on the PaymentIntent to `automatic`.                                                                                      | All card payments will be authorized and captured in a single step.                                                                                                                                                                                                                                                                                                                                                                                |
| **manual\_preferred**  | Set [​capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-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](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=server-driven#capture-payment), make a separate request.                                                                                                                                              |
| **automatic\_delayed** | Set [​capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-capture_method) on the nested `payment_method_options.card_present` attribute to `automatic_delayed`. | eftpos card payments will be authorized and captured in a single step (eftpos doesn’t support deferred capture).

    Non-eftpos card payments will be authorized and automatically captured after the delay period. Set [capture_delay_days](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-capture_delay_days) on `payment_method_options.card_present` to configure the delay. |
| **manual**             | Set [​capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-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](https://docs.stripe.com/terminal/payments/collect-card-payment.md?terminal-sdk-platform=server-driven#capture-payment), make a separate request.                                                                                                                                                                         |

Alternatively, if you want to use manual capture for other payment methods while still accepting eftpos payments (which require automatic capture), use `manual_preferred`:

```curl
curl https://api.stripe.com/v1/payment_intents \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d amount=999 \
  -d currency=aud \
  -d "payment_method_types[]=card_present" \
  -d "payment_method_options[card_present][capture_method]=manual_preferred"
```

### Refund an eftpos payment

Eftpos supports online refunds through the [API](https://docs.stripe.com/refunds.md?dashboard-or-api=api) or [Dashboard](https://docs.stripe.com/refunds.md?dashboard-or-api=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 type           | Default routing for contact payments    | Default routing for contactless payments |
| ---------------------- | --------------------------------------- | ---------------------------------------- |
| **automatic**          | Customer selects on the Terminal reader | eftpos                                   |
| **manual\_preferred**  | Customer selects on the Terminal reader | International network                    |
| **automatic\_delayed** | International network                   | International network                    |
| **manual**             | International network                   | International network                    |

You can optionally request a preferred network routing choice on PaymentIntent creation, by setting the [requested_priority](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-routing-requested_priority) on the nested `payment_method_options.card_present.routing` attribute.

| Routing                    | Implementation                                                                                                                                                                                                                                                | Result                                                                                                                                 |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **eftpos**                 | Set [requested_priority](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-routing-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](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-routing-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. |

> Tap to Pay on iPhone supports [requested_priority](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-payment_method_options-card_present-routing-requested_priority) and [​capture_method](https://docs.stripe.com/api/payment_intents/create.md#create_payment_intent-capture_method) for routing only in [Terminal iOS SDK](https://github.com/stripe/stripe-terminal-ios/releases) version 4.6.0 or newer.

### Identify which network a payment was processed on

To identify which network a payment was processed on, inspect the [network](https://docs.stripe.com/api/charges/object.md#charge_object-payment_method_details-card-network) field on the [Charge](https://docs.stripe.com/api/charges/object.md) object associated with a successful [PaymentIntent](https://docs.stripe.com/api/payment_intents/object.md).

```javascript
{
  "id": "ch_1Ff52K2eZvKYlo2CWe10i0s7",
  "object": "charge",
  ...
  "payment_method_details": {
    "card_present": {
      "brand": "visa",
      ...
      "network": "eftpos_au"
    },
    "type": "card_present"
  }
}
```

