International Development

Learn about developing Square applications for sellers in other countries.

Link to section

Overview

Square APIs can be used by developers worldwide, with payment processing supported in select countries. A seller's location determines which payment methods and features are available, along with any regional data security and tax compliance requirements.

Payment processing with Square is available in the following regions:

  • Australia
  • Canada
  • France
  • Ireland
  • Japan
  • Spain
  • United Kingdom
  • United States

For sellers outside of these regions, the only payment methods available are external payments and cash payments. If the desired payment method isn't supported in the seller's country, your application should disable that specific payment method in the UI.

Important

The Square Sandbox is only available in regions where payment processing is supported.

Link to section

Payment methods

Square supports a variety of payment methods including credit and debit card payments, digital wallet payments (such as Apple Pay, Google Pay, and Cash App Pay), gift cards, and more. To collect credit card payments, the Square seller’s account must be enabled for credit card processing and the seller must be in a Square-supported country. Each country has different payment method availability. For more information, see Supported Payment Methods by Country.

Link to section

International buyers

Regardless of which Square-supported country a seller is based in, they can accept payments with accepted cards from buyers located anywhere in the world. Payments are processed in the currency of the seller with an exchange rate set by the card-issuing bank.

Link to section

Currency support

Payments are processed in the seller's currency, specified by their location. Use the Locations API to get the seller's location and read its currency field to get the currency used in a payment request. The amount is always represented in the smallest currency unit.

Application fees can only be collected in the currency of the application's Square account. If you anticipate collecting application fees in multiple currencies, you need to create a Square account for each region. For more information, see:

Link to section

Localization

To learn about dates and addresses and how they're used in other countries, see:

Link to section

OAuth and testing

When developing an integration for other Square sellers, you must implement the Square OAuth flow using the OAuth API. The OAuth API provides an access token carrying the seller's scoped permissions. This access token:

  • Allows your application to make Square API calls on behalf of a seller's Square account, as if made within the seller's country and by the seller.
  • Identifies your Square developer account and the country where you've registered your application. You can only collect application fees on payments processed by Square from supported countries.

You should test your payment logic in the Square Sandbox by creating a Sandbox test account for each country that you support. Test your payment logic in each test account before releasing your application to production. For information about testing payments in other countries, see Testing for supported countries.

Link to section

Application fees

Application fees allow developers to monetize their applications by collecting a portion of each payment they process on behalf of a Square seller. You can include application fees in each CreatePayment request or collect them from in-person payments using the Mobile Payments SDK or Terminal API.

To collect application fees from a Square seller, you need to have a Square account in the seller's country, and both the seller's Square account and your international Square accounts must be approved for credit card processing.

For example, you create an application for Square sellers in France and Ireland. To collect application fees, you create a Square account in each country and then create an application ID for your application in the Developer Console for each Square account that you create. In this example, you obtain two application IDs for your application: one for France and one for Ireland.

When a French seller uses your application, the OAuth flow is initialized with the French application ID. The resulting OAuth token is linked to the French seller and is used to make all Square API calls, including Payments API calls. To support the Irish seller, your Irish application ID is used to start the OAuth flow.

Note

A developer usually creates a Square account in their own country while developing and testing their application. The application ID for this country can be used for production in any country where you're using Square Invoices as an alternative to the application fees feature of the Payments API.

If you're having difficulties getting your international Square account authorized for credit card processing, contact Square support. Each country in which Square supports payment processing has different financial regulations that determine the eligibility of your developer account.

Link to section

Application fee alternatives

You might not want to create a Square account in each country you support to collect application fees. An alternative is to use the Invoices API to periodically bill the seller for use of the application. Square can process internationally issued cards bearing a Visa, Mastercard, American Express, JCB, Union Pay, or Discover logo, so sellers can pay the invoice using their own credit card.

Link to section

See also