Skip to main content

Getting rental prices

Prefer ready-made UI?

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?

EndpointUse it to
listRecommendedRentalPricesGet the recommended monthly rental price for one or more products.
cartRentalOverviewCheck whether a whole basket can be checked out, and get its total.
checkSupportedCheck 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 price to 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: false and 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_checkout is all-or-nothing: it is false if 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: true but has_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. Both net and gross are returned.
  • summary strings are localized to the request's Accept-Language.
  • Once an offer is created, its prices are frozen until it expires (see Creating an offer).