Prices determine the cost of products across currencies and locations. You can assign different currencies to product prices in specific regions, simplifying purchases for customers who prefer their local currency.
Multi-currency pricing
Billing 2.0 uses explicit price selection. To charge a customer in a specific currency or apply regional pricing, create a separate price for that currency and pass its product_price_id in the subscription line items.
In Billing 1.0, for multi-currency products, include geo_country and currency parameters with product_id in your payment requests. When these parameters are missing, the system charges customers with the product default currency instead.
For example, customers purchasing a product sold in Poland might be charged in EUR as the default currency instead of PLN. This happens when you do not specify the local currency.
Always verify that the currency and geo_country parameters match the customer’s location and expected payment currency.
The default price of a product may differ from the price set for specific product currencies. Customers in different countries might be charged varying amounts due to currency conversion rates and regional pricing strategies.
For example, you set a default price and add country-specific prices to support tailored pricing in Europe. These additional prices may differ in amount, currency, and location.
If a payment request includes currency
EUR
and geo_country
FRA
, the customer is charged the France-specific price in euros.
When reviewing your pricing strategy, check not only the default price but also the country-specific prices.
Trial pricing
In Billing 2.0, trial pricing is configured at the subscription level. You set the trial amount and currency directly when creating a subscription.
In Billing 1.0, you set the trial price at the price level. You can set the trial price to the desired amount in the smallest currency unit. For example, to offer a recurring product for under $1 during the trial period, set the price to $0.99 or any other preferred amount.
Not all currencies support decimal units, so the smallest currency unit might vary.Create price
Via API Create price API v1 endpoint allows you to create a new product price. Provide the necessary details such as the product ID, merchant information, default price, status, product price, trial price, currency, and country.Once you add the price, you get a response containing the price identifier, creation, and update timestamps, default status, price values, currency, and country. In case of any issue, the response contains the corresponding error code. Via Hub To create a price with new currency
- Go to Billing > Products.
- Find the product you need and click on it.
- On the product details page, click on + Add price️ and specify:
- Currency
- Amount
- Location
- Click on Save changes to confirm.
Edit price
Edit a price to update its amount, currency, country, or status.
What you can edit depends on whether the product has subscriptions. If none exist, or all subscriptions have expired, every price under the product is fully editable. Otherwise, the amount, trial price, currency, and country are locked from editing on every price under the product.
To change pricing for a product with active subscriptions, create a new product with the new price, then update those subscriptions to use the new product.
Via API Update price API v1 endpoint updates an existing product price. Provide the product ID, product price ID, and the fields to update, such as status , product_price , trial_price , currency , and country .Each price has one of three status values: active , disabled , or archived . You can set a price to active or disabled directly. Archiving is the only way to move a price to the archived status. Via Hub To edit the product price
- Go to Billing > Products.
- Find the product you need and click on it.
- In the Product section, click on Edit.
- Find the Default price and change it.
- Click on Save changes to confirm.
Archive price
Archive an alternative price when you no longer want to offer it for new subscriptions or when you need to replace it with a new price:
- Remove the price from use for new subscriptions without affecting existing customers.
- Replace the price by creating a new price for the same currency and country with the updated amount, then archive the old price.
You cannot archive the default price. To change its amount while subscriptions are active, all product subscriptions must expire. Alternatively, create a new product with the updated default price and move subscriptions from the old product to the new one.
Via API Archive price API v1 endpoint archives a price. Provide the product ID and product price ID. Via Hub To archive a price- Go to Billing > Products.
- Find the product you need and click on it.
- In the Currencies and locations list, find the price you want to archive.
- Click on Archive and confirm.
New subscriptions use the new price, while existing subscriptions continue billing at the archived price regardless of subscription status.
Key details- Archiving is permanent. You cannot restore an archived price.
- You cannot archive a product's default price or a price that is already archived.
- If you archive the last active price for a currency, the product cannot accept new subscriptions in that currency until you add a replacement price.
Retrieve price details
Via API Get product price API v1 endpoint retrieves product prices based on filters such as currency, country, and trial availability. Provide the product ID and pagination settings to control the results.Retrieve prices API v1 endpoint retrieves prices in bulk based on filter criteria. By using filters such as
updated_at and default, you can access up-to-date price data. Use it to manage price updates and keep your inventory in sync.
Pagination parameters allow you to control the number of items returned, reducing the API load and preventing rate limit violations during database synchronization.
Upon a successful request, the API responds with a JSON object containing an array of product data and pagination information.