We've made it possible to have a different price for each country. This allows for greater flexibility when your store goes international and you need a different price point for one or more countries. In this article, we'll explain the steps to set it up.
Also be aware that, if in the past if you found yourself with multiple stores and/or multiple duplicate products to set your prices at different price points then please read this article carefully as it could be that you no longer need to do this.
π‘ This functionality is only available for Order-based subscriptions and only upon request. Plans or Plan-based subscriptions will follow at a later date.
π‘ This functionality is available to all our Pro and Enterprise customers. If you wish to activate this functionality then please use the blue Intercom Bubble in the bottom-right corner to request it and we'll be in touch!
π‘ This functionality currently is not fully compatible with the Minimum Order amount threshold or Advanced discount rules for minimum/maximum order amount options, which would take project default currency into account. Multi-currency options will follow at a later date.
Steps to set this up in the Portal:
Reach out to us via the blue Intercom chat bubble in the bottom-right corner and request this feature to be enabled for you.
(Click this thing in your bottom-right corner of this screen!)
βOnce enabled go to any of your Products, find the Pricing section and see a new Country specific prices option show up:
βBy clicking the Add new price you can select a price for each of the countries supported. That's it!
Viewing Products that support variable prices
Within your Product Overview, you'll be able to find an asterisk behind any product that has variable pricing per country.
Steps via the API
We've also extended our API to manage your product prices per country. You can now use the updateProduct and createProduct mutations to add, update or remove prices.
Supported arguments are prices (to add a new) and pricesDelete (to delete existing price points.
Prices should be added/removed per country code, so Price requires two arguments to add:
βclass Types::PriceInput < Types::BaseInputObject
description "Input type for creating prices for countries"
argument :amount_cents, Integer, "The price for the country in cents", required: true
argument :country_code, String, "The country this price is overridden in", required: true end
Example query for setting or updating prices:
const graphql = JSON.stringify({
query: `mutation updateProduct($input: updateProductInput!) {
updateProduct(input: $input) {
errors
product {
id
title
prices {
amountCents
countryCode
}
}
}
}
`,
variables: {
input: {
id: 1234,
prices: [
{
countryCode: 'DE',
amountCents: 1200
},
{
countryCode: 'GB',
amountCents: 1000
}
]
}
}
});
Important Details
If your customer hasn't selected a country, then we'll automatically determine this by using GeoIP.
We have picked the native currency of each country. If you wish to do this dynamically then please let us know (and why) via the Intercom chat bubble in the bottom-right corner and we'll look into it.