If your application processes credit card payments on behalf of sellers in other countries, you need to consider the following limitations and requirements.
The seller's Square account must be authorized for credit card processing and the seller must be in a Square-supported country. For a list of Square-supported countries, see Supported Payment Methods by Country.
The OAuth access token allows your application to process payments on behalf of a seller and in the seller Square account. Your Square account doesn't need to be authorized for credit card processing unless application fees are to be taken. For information about application fee limitations, see Application fee requirements.
Be sure to specify the currency of the country where a payment is being processed in your card payment request. Otherwise, the request is rejected. Use the Locations API to get the seller's location and read the location
currency field to get the currency to use in a payment request. The seller's access token is used in the Locations API call and allows Square to return the seller's location.
Before you provide an application to a seller, you need to review Supported Payment Methods by Country. If the seller isn't in one of the supported countries, the only supported payment methods are External and Cash (not Square Cash App Pay). If the desired payment method isn't supported in the seller country, your application should disable that specific payment method in the UI.
To collect application fees, you need to have a Square account in the seller's country and both the seller 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 take application fees, you create a Square account in each country and then create an application ID for your application in the Developer Dashboard 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 the French seller uses the application, it initializes the OAuth flow 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, the Irish application ID is used to start the OAuth flow.
If you're having difficulties getting your international Square account authorized for credit card processing, contact Square support. Each country supported by Square for credit card processing has different financial regulations that determine the eligibility of your developer account.
You might not want to create a Square account in each country you support merely to collect application fees. A good alternative is to use the Invoices API to periodically bill the seller for the use of the application. Because Square can process internationally issued cards bearing a Visa, Mastercard, American Express, JCB, Union Pay, or Discover logo, an invoice can be issued by, for example, an American developer to a French seller who can pay the invoice using their own credit card.
Regardless of which Square-supported country a seller is based in, they can accept credit card 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.