Getting rental prices
If you sell online, topi Elements renders rental prices and a checkout button for you. This page is about the underlying API, which works on any channel.
Before checkout you ask topi about your products: what they cost to rent, whether a basket can be checked out, and whether a product is supported at all. These are read-only endpoints. The field-by-field request and response schemas are in the API reference; this page tells you which one to use and how each behaves.
Which endpoint should I use?
| Endpoint | Use it to |
|---|---|
listRecommendedRentalPrices | Get the recommended monthly rental price for one or more products. |
cartRentalOverview | Check whether a whole basket can be checked out, and get its total. |
checkSupported | Check whether products are supported, without computing prices. |
Get the rental price for products
listRecommendedRentalPrices takes a list of product references and returns, per product, the single recommended (cheapest) monthly term: the net monthly_rental_amount, its duration, and a ready-to-render summary string.
- Each entry takes an optional
priceto base the calculation on a price you send, instead of the product's stored catalog price. - If a product is not supported, it comes back with
has_rental_terms: falseand no prices.
Check whether a basket can be checked out
cartRentalOverview takes the products and quantities and answers whether the whole basket can go through topi:
can_checkoutis all-or-nothing: it isfalseif any single product cannot be checked out. Remove that product before creating an offer.- It returns every available term per product (
available_rental_terms), not just the cheapest, plus per-product and combined monthly totals. - A product can be
can_checkout: truebuthas_rental_terms: false. That is a buy-now-only product.
Check support without prices
checkSupported takes product references and returns, per product, is_supported, which contract types are available (can_pay_now, can_rent, and the rent duration), and topi's product id. No prices are computed. Use it when you only need to decide whether to show topi at all.
Good to know
- Amounts are integers in the currency's minor unit (cents): EUR 58.99 is
5899. Bothnetandgrossare returned. summarystrings are localized to the request'sAccept-Language.- Once an offer is created, its prices are frozen until it expires (see Creating an offer).