PrestaShop Integration Guide
The Loxa PrestaShop module is a turnkey integration that handles insurance display, cart management and order data — no custom frontend or backend code required. Install the module, enter your API key on its configuration page, and Loxa Product Protection appears on your product pages automatically.
You can see the module in action on our PrestaShop Test Store. Three insurance integration types are supported: Add-on, Inclusive and Hybrid (inclusive cover with a paid extension). For details on what each type means, see the Generic Integration Guide.
The badge and sidebar use the same design as our Magento, WooCommerce, Shopify and BigCommerce integrations, so shoppers see the same Loxa experience on every platform.
Demo store access
The PrestaShop demo store is behind HTTP Basic Auth to keep it private. If you'd like access for evaluation, contact us at developers@loxacover.com.
Requirements
| Requirement | Version |
|---|---|
| PrestaShop | 1.7.x or 8.x |
| PHP | 7.4+ (the version your PrestaShop release supports) |
| MySQL / MariaDB | 5.6+ / 10.x |
One zip covers both PrestaShop 1.7 and 8. The module works with the Classic theme out of the box and supports custom themes through configurable selectors (see Theme Compatibility).
Installation
This link always gives the latest release of the module.
Upload the module ZIP through the PrestaShop back office:
- Go to Modules > Module Manager.
- Click Upload a module at the top right of the page.
- Drop the ZIP onto the upload area, or click and select it.
- Wait for the green confirmation. The module installs itself and creates the database tables it needs.
- Click Configure on the Loxa Insurance row.
Updating the module
To update, download the latest ZIP above and upload it the same way. Your settings are kept.
Moving from version 1.x
Version 2.0.0 is a new version of the module, rebuilt to match our WooCommerce plugin. To move to it:
- Modules > Module Manager > Loxa Insurance > Uninstall. Your API key and the hidden insurance product are kept.
- Install 2.0.0 as above.
- On the configuration page, set the Environment (Test or Live — Loxa will tell you which), choose when to Send orders to Loxa, and switch the module on.
What changes from 1.x:
- No URLs to enter. The API base URL and endpoint fields are replaced by a Test / Live Environment setting.
- No HMAC secret to manage. Quotes are signed with a key derived from your store's own secret, so there is nothing to set or rotate.
- Orders are sent to Loxa by the module, and every protected order gets a Loxa product protection panel. Loxa can still read missed orders through the webservice (see Order Processing).
- The in-back-office updater and its GitHub token are gone. Update by uploading the latest ZIP.
- Sample-quote (dummy payload) mode, analytics settings and the old badge design are removed.
Orders placed with 1.x are not sent again.
Create the Insurance Product
The module uses a hidden virtual product (reference loxa-insurance) as the line item for insurance in the cart. Create it once after installation.
- On the module's configuration page, click Create insurance product (at the top of the page).
- The module creates a virtual, untaxed product with reference
loxa-insurance, base price0.00, hidden from the catalogue, with the Loxa logo as its image.
Each insurance line in the cart is priced at the premium from its own quote, so several products with different premiums can be covered in the same basket.
Required step
Insurance cannot be added to the cart until this product exists. If the product is missing, customers will not see insurance options on product pages.
Catalogue artefacts you'll see
Once insurance starts being added to carts, the module creates a Loxa Plan attribute group and combinations of the insurance product, one per plan and insured product (for example "5 Year Product Protection for 3 Seater Sofa"). This is how each insured product gets its own insurance line with a readable name in the basket. The insurance product is hidden, so customers never see these in your catalogue. Don't delete them; the module manages them.
Configure the API
On the module's configuration page, fill in the API section:
| Field | Description |
|---|---|
| Enable Loxa Insurance | Switch to Yes once everything else is set |
| API key | Your API key provided by Loxa. Once saved it is never shown again; leave the field blank to keep it, or enter a new key to replace it |
| Environment | Test while you set up, Live to sell real cover. Selects the Loxa API used for quotes and orders — there are no URLs to enter |
Quote signing is automatic
Every quote the module receives is signed on your server and checked again when the customer adds to cart, so the premium charged is always the premium Loxa quoted. There is nothing to configure — the signing key is derived from your PrestaShop installation's own secret key.
How It Works
Once installed and configured, the module handles the full insurance lifecycle automatically:
┌─────────────────────────────────────────────────────────────────────┐
│ PRODUCT PAGE (browser) │
│ │
│ 1. Page loads → the module injects product data and settings │
│ 2. JS asks your server for a quote (/module/loxainsurance/price), │
│ sending only product identifiers — never a price │
│ 3. Your server looks up the product's price itself, adds the API │
│ key and asks the Loxa API for a quote │
│ 4. Your server signs each quoted plan to the product and │
│ combination it is for │
│ 5. JS renders the insurance badge and sidebar │
│ 6. Customer adds cover → clicks "Add to cart" │
│ │
├─────────────────────────────────────────────────────────────────────┤
│ SERVER (PrestaShop) │
│ │
│ 7. Cart hook checks the quote's signature against the product │
│ actually being added — a tampered, stale or out-of-date quote │
│ is refused and the product is added without cover │
│ 8. Insurance is added as its own line, linked to that product's │
│ line, at the quoted premium │
│ 9. Insurance quantity always follows its product line │
│ │
├─────────────────────────────────────────────────────────────────────┤
│ CHECKOUT → ORDER │
│ │
│ 10. actionValidateOrder records each protected line against the │
│ order (shown in the order's Loxa product protection panel) │
│ │
├─────────────────────────────────────────────────────────────────────┤
│ ORDER PROCESSING │
│ │
│ 11. Once the order is paid (or ships), the module sends it to │
│ Loxa in the background │
│ 12. Loxa creates the policies │
│ 13. Customer receives their welcome email and policy documents │
└─────────────────────────────────────────────────────────────────────┘
What the Module Handles Automatically
You do not need to build any of the following — the module takes care of it:
- Badge rendering — add-on, inclusive and hybrid badges in Loxa's standard design. The hybrid badge states the free cover and offers the paid extension in one card.
- Insurance sidebar — plan picker, terms, FAQ and legal disclaimers, with the decision kept in view while the details scroll. On mobile it opens as a bottom sheet. It is keyboard- and screen-reader-accessible.
- Combination re-pricing — when a customer selects a different combination (size, colour, etc.), the module quotes that combination at its own price.
- Price protection — premiums are signed server-side and verified on add-to-cart, so they can't be changed in the browser. Prices are always looked up on your server, never taken from the browser. A quote is refused if the product's price has since risen by more than 5%, so cover always matches what the customer pays.
- Cart line item management — each insured product gets its own insurance line at the correct premium, named after the plan and the product it protects. Removing an insured product removes its insurance.
- Quantity synchronisation — insurance quantity follows its product line and can't be changed on its own. Cover applies to the whole product line.
- Second-chance mechanism — optionally intercepts add-to-cart when the customer hasn't chosen cover and shows the sidebar as a reminder (configurable in settings). It only does so when there is cover to offer.
- Quote-to-order persistence — insurance data follows the order through checkout and is shown on the back-office order page.
- Compliance — opt-out flows for inclusive insurance are built in per Compliance Rules.
- Catalogue visibility — the insurance virtual product is hidden from the shop catalogue and search results.
- Quote caching and limits — a quote is reused for 5 minutes for the same product and price, so busy pages don't call Loxa on every view (clear it from the settings with Clear cached quotes), and calls to Loxa are rate limited per visitor and store-wide.
- Post-purchase offers (optional) — items too expensive to protect at checkout can be offered protection by email after purchase. See Items Above the Point-of-Sale Limit.
Order Processing
When a customer checks out with insurance, the module records the insurance against the order and sends the order to Loxa, which creates the policies.
Sending orders to Loxa
Set Send orders to Loxa (under Orders on the configuration page) to choose when each protected order is sent:
| Option | When it is sent | Cover starts |
|---|---|---|
| Off (default) | Never | — |
| When the order is paid | When the order reaches a paid status. Bank transfer and cheque orders are sent once you confirm payment | On the purchase date |
| When the order ships | When the order reaches a shipped status (Shipped or Delivered) | On the shipping date — use this for made-to-order or long-lead items, so cover doesn't start before the customer has the product |
Orders are sent in the background, so checkout is never slowed down. If Loxa can't be reached, the module retries automatically over several hours. Cancelled and refunded orders are not sent.
No real customer data in Test
While the Environment is Test, orders are sent with a placeholder customer in place of the real name, email, phone and address. Real customer details are only ever sent to the Live API.
The Loxa product protection panel
Every order with protection, or with an item the customer asked about after purchase, shows a Loxa product protection panel on its back-office order page:
- the protected items, with plan, plan code, premium and sum insured
- whether the order has been sent to Loxa
- an Activity log of every attempt — for example "Loxa: sent for policy creation (2 protected items)." The log holds order IDs and outcomes only, never customer details.
If an order couldn't be sent, Send to Loxa (create policy) in the panel sends it again.
Background tasks and the cron URL
Sending runs straight after checkout. Retries run whenever anyone opens the back office. To have retries run on time regardless, ask your host to call the cron URL shown in the module's Developer section every 5 minutes:
*/5 * * * * curl -fsS "https://store.example.com/module/loxainsurance/cron?token=…" > /dev/null
The URL carries a token unique to your store. Treat it like a password.
Webservice access for missed orders
As a back-up to sending, Loxa can collect any protected order it missed through your PrestaShop Webservice. Loxa will ask if you need to set this up. Because both routes identify an order by its PrestaShop order ID, an order Loxa has already received is never turned into a second policy.
- Go to Advanced Parameters > Webservice.
- Switch Enable PrestaShop's webservice to Yes and save.
- Click Add new webservice key.
- Generate a key, set Key description to "Loxa" and Status to Enabled.
- Under Permissions, grant GET (View) on only one resource:
loxa_insurance_orders. - Save, and share the key with Loxa through a secure channel.
| Credential | Description |
|---|---|
| Webservice Key | Used as the HTTP Basic Auth username with an empty password |
| Webservice URL | Your store base URL, e.g. https://store.example.com/api/ |
Single-resource access by design
Granting GET on loxa_insurance_orders is all Loxa needs. Do not also grant access to orders, customers, addresses or products — the resource exposes only the fields needed to issue a policy, and only for orders that include protection.
Keep the key secure
The webservice key grants read access to protected orders. Never send it over plain email or commit it to version control. Always serve the Webservice over HTTPS.
Example webservice record (GET /api/loxa_insurance_orders/{id})
{
"loxa_insurance_order": {
"id": 1024,
"id_order": 4521,
"id_order_detail": 12053,
"id_order_detail_parent": 12052,
"date_add": "2026-11-02 11:42:18",
"order_reference": "XXKVDPZNB",
"order_status_id": 2,
"order_status": "Payment accepted",
"order_total_paid": 1401.98,
"order_currency": "GBP",
"order_date": "2026-11-02 11:41:55",
"customer_email": "j***@example.com",
"customer_firstname": "Jane",
"customer_lastname": "Doe",
"delivery_address1": "12 Example Street",
"delivery_address2": "",
"delivery_city": "London",
"delivery_postcode": "EC1A 1BB",
"delivery_country": "GB",
"delivery_phone": "07000 000000",
"insurance_line": "{\"id_order_detail\":12053,\"sku\":\"loxa-insurance\",\"name\":\"5 Year Product Protection for 3 Seater Sofa\",\"quantity\":1,\"unit_price\":101.99,\"line_total\":101.99}",
"parent_line": "{\"id_order_detail\":12052,\"sku\":\"sofa-3-seater\",\"name\":\"3 Seater Sofa\",\"quantity\":1,\"unit_price\":1299.99,\"line_total\":1299.99}",
"insurance_plan": "{\"code\":\"LDF5-20260119-23\",\"premium_raw\":\"101.99\",\"name\":\"Product Protection\",\"term\":\"5\",\"sum_insured\":\"1299.99\",\"inclusive_code\":\"\",\"category\":\"\",\"parent_sku\":\"sofa-3-seater\",\"parent_name\":\"3 Seater Sofa\"}"
}
}
| Field group | Fields | Notes |
|---|---|---|
| Order context | order_reference, order_status_id, order_status, order_total_paid, order_currency, order_date |
Read live from the order — always reflects its current state |
| Customer | customer_email, customer_firstname, customer_lastname |
Personal data, minimised — no date of birth, marketing preferences or customer ID |
| Delivery | delivery_address1, delivery_address2, delivery_city, delivery_postcode, delivery_country, delivery_phone |
Personal data. The invoice address is not exposed |
| Line items | insurance_line, parent_line |
JSON-encoded strings ({id_order_detail, sku, name, quantity, unit_price, line_total}) |
| Plan | insurance_plan |
JSON-encoded string — see Insurance data |
id_order_detail_parent links the insurance line to the product line it protects, so each plan matches its product even when an order has several insured items.
Insurance data
Each protected line carries this plan data, shown in the order panel and returned by the webservice:
| Field | Description |
|---|---|
code |
The insurance plan code (used by Loxa to identify the policy) |
premium_raw |
Premium charged to the customer, per unit |
name |
Plan display name |
term |
Coverage term in years |
sum_insured |
The insured product's price at the time of purchase |
inclusive_code |
For a hybrid order, the code of the free cover the paid extension builds on; empty otherwise |
category |
The Loxa category from Category Override, if used; empty otherwise |
parent_sku |
Reference of the product being insured (the combination's, if it has one) |
parent_name |
Name of the product being insured |
Every value is set on your server from the verified quote and the cart — nothing is taken from the browser unchecked.
Cancellations
The module does not send cancellations or refunds to Loxa. If you need to notify Loxa of a cancellation, use the Cancellations endpoint or contact Loxa.
Items Above the Point-of-Sale Limit
Some plans have a point-of-sale limit: above a set price they can't be bought at the checkout. Those items can still be protected after purchase, up to the plan's limit of indemnity, if post-purchase is enabled for your store by Loxa.
This is optional. Turn it on with Post-purchase protection offers under Orders on the configuration page (off by default).
For those items the product page shows, in place of the badge:
☐ Click here if you're interested in product protection This item can't be protected at checkout. Tick the box and we'll email you your protection options after your order. Learn more →
Learn more opens the sidebar with the plan's description — no plans, prices or terms, as nothing is on sale yet.
When the customer ticks the box and checks out:
- The item is marked in the basket: "Product protection: We'll email you your options after your order".
- Once the order is paid, the module asks Loxa for a post-purchase offer for the ticked items — the order number, product reference, name and price only. No customer details are sent to Loxa.
- If anything can be protected, your store emails the customer a link to choose and buy cover from Loxa. The link lasts 30 days.
This happens whatever Send orders to Loxa is set to.
The order's Loxa product protection panel lists the items the customer asked about and records what happened. Send post-purchase offer there sends it again — the customer gets the same link while it's still valid.
The offer email
The email is sent with PrestaShop's own mail system, the same way as your order confirmations, with the subject "Protect your purchase". It lists the items, a button to view the protection options, the date the link expires, a note that there's no obligation to buy, and Loxa's regulatory disclaimer.
To change its layout or wording, copy the templates into your theme — module updates never overwrite your copy:
modules/loxainsurance/mails/en/loxa_post_purchase_offer.html → themes/<your-theme>/modules/loxainsurance/mails/en/
modules/loxainsurance/mails/en/loxa_post_purchase_offer.txt → themes/<your-theme>/modules/loxainsurance/mails/en/
The module ships English templates. For a store in another language, add a copy under that language's folder (e.g. mails/fr/).
Keep the required wording
If you change the template, keep the no-obligation line and Loxa's legal disclaimer, and don't describe the cover yourself: what's covered, the price and the documents are shown on Loxa's offer page.
Your store must be able to send email
If your store can't send email (common on staging and test sites), the order's activity log says the email could not be sent. Check Advanced Parameters > E-mail, then use Send post-purchase offer.
Post-purchase must be enabled
The tickbox only appears when Post-purchase protection offers is on and Loxa has enabled post-purchase for your store. Turning the setting off removes the tickbox; orders already placed with the box ticked still receive their offer. See the Post-Purchase Integration Guide for how post-purchase cover works.
Data Protection (GDPR)
| Party | Role |
|---|---|
| Retailer (you) | Data controller for your customer data |
| Loxa | Data processor for the personal data it receives — used solely to issue, administer and pay claims on the policy the customer bought |
The lawful basis is performance of contract (Art. 6(1)(b) UK GDPR / EU GDPR): the customer has bought an insurance policy and the data is needed to provide it.
- Minimum data. Orders sent to Loxa, and the webservice resource, carry only what a policy needs: the customer's name and email, the delivery address and phone, and the protected items.
- Nothing in Test. In the Test environment orders carry a placeholder customer.
- Post-purchase offers carry no customer data. Your store emails the customer itself.
- Not stored twice. The webservice reads customer details live from your PrestaShop database on each request, so an erasure or correction you make in PrestaShop applies straight away.
- Audited. Every read of
loxa_insurance_ordersis recorded in theps_loxa_insurance_access_logtable: the webservice key that made it, the connecting IP address, how many records were returned and when. No personal data is stored in the log, and uninstalling the module keeps it.
Theme Compatibility
The module is designed to work with standard PrestaShop themes. It places its anchor elements on the product page through PrestaShop's displayProductAdditionalInfo hook and renders the sidebar at the end of the page.
| Theme | Status | Notes |
|---|---|---|
| Classic (PrestaShop 1.7 and 8) | The badge sits above Quantity / Add to cart | |
| Custom themes | See below |
The badge and sidebar are protected from your theme's own styles, so a theme's button or link styling won't restyle them. To match your brand, use the Custom CSS setting.
For custom themes that restructure the product page or use non-standard selectors for the add-to-cart button, quantity input or combination pickers, set the matching selectors under Product page. To place the badges somewhere specific, set the Add-on anchor selector / Inclusive anchor selector — the badge is inserted after the element they match.
If your theme does not render the displayProductAdditionalInfo hook, add the anchor elements to your templates/catalog/product.tpl manually:
<span id="loxa-prestashop-inclusive-anchor" data-loxa-prestashop-anchor="inclusive"></span>
<span id="loxa-prestashop-addon-anchor" data-loxa-prestashop-anchor="addon"></span>
Coming from 1.x
1.x used loxa-shopify-* anchor IDs. If you added anchors to your theme by hand, rename them to the ones above.
Admin Configuration Reference
All settings live on the module's configuration page: Modules > Module Manager > Loxa Insurance > Configure. The buttons at the top of the page create (or recreate) the insurance product and clear cached quotes.
API
| Field | Default | Notes |
|---|---|---|
| Enable Loxa Insurance | No | Activates the module |
| API key | (empty) | Provided by Loxa. Never shown once saved; blank keeps the saved key |
| Environment | Test |
Test or Live; selects the Loxa API for quotes and orders |
Orders
| Field | Default | Notes |
|---|---|---|
| Send orders to Loxa | Off |
Off, When the order is paid or When the order ships — see Sending orders to Loxa |
| Post-purchase protection offers | No | Offers protection after purchase for items too expensive to protect at checkout — see Items Above the Point-of-Sale Limit |
Product page
| Field | Default | Notes |
|---|---|---|
| Add to cart selector | (empty) | Blank uses the Classic theme's add-to-cart button |
| Variant selector | (empty) | Optional; extra elements that change the combination, for themes that don't use PrestaShop's own |
| Quantity selector | (empty) | Blank uses #quantity_wanted |
| Buy now selector | (empty) | Optional; a "buy now" button that should carry the chosen cover too |
| Add-on anchor selector | (empty) | Optional; the add-on / hybrid badge is inserted after this element. Blank places it above the add-to-cart section |
| Inclusive anchor selector | (empty) | Optional; the inclusive badge is inserted after this element |
Behaviour
| Field | Default | Notes |
|---|---|---|
| Sidebar position | Right |
Left or Right (desktop; on mobile the sidebar opens from the bottom) |
| Second chance | No | Shows the sidebar if the customer clicks add-to-cart without choosing cover |
| Variant delay (ms) | 0 |
Wait this long after a combination changes before fetching a new quote |
| Exclusion tags | (empty) | Comma-separated tags or category names; products with any of them show no protection |
| Catalogue prices exclude VAT | No | Turn on only if your product prices have no tax rule; products are insured at the price plus 20% |
| Category override | No | Prices products in the Loxa category named by their tag or category prefixed with loxa- (e.g. loxa-furniture). Worked out on your server, never in the browser. Must be agreed with Loxa before use — Loxa also enables category override for your store, otherwise the category is ignored |
Appearance
| Field | Default | Notes |
|---|---|---|
| Show sidebar on add | No | The badge's Add / Extend button opens the sidebar instead of adding cover straight away |
| Show FAQ in sidebar | Yes | Shows Loxa's standard frequently-asked-questions in the sidebar |
| Font | Loxa (Neulis Sans) |
Or System font to use your theme's font |
| Custom CSS | (empty) | Additional CSS for the badge and sidebar. Always takes priority over the module's own styles, so !important isn't needed |
The quickest way to restyle is to override the module's colour and shape settings in Custom CSS:
:root {
--loxa-v3-accent: #0a5c36; /* buttons and selected plan */
--loxa-v3-badge-bg: #f4f8f5; /* badge background */
--loxa-v3-radius-scale: 0; /* 0 = square corners, 1 = default, 3 = pill */
}
Developer
| Field | Default | Notes |
|---|---|---|
| Debug logging | No | Writes Loxa events to the PrestaShop log (Advanced Parameters > Logs), and [Loxa] messages to the browser console for signed-in employees only |
| Disable product page | No | Stops the badge loading on product pages, e.g. while a custom integration is built. Orders and offers still run |
| Cron URL | — | Shown under the section. See Background tasks and the cron URL |
Troubleshooting
Insurance badges are not appearing on product pages
Check the following:
- Module is enabled — on the configuration page, Enable Loxa Insurance is Yes.
- API key and environment are set — the API key must be valid for the selected Environment (Test or Live).
- The insurance product exists — if not, click Create insurance product at the top of the configuration page.
- Product is insurable — the Loxa API must return
insurable: trueandactive: truefor the product. Turn on Debug logging to see[Loxa]console messages. - Anchor elements exist — if your theme doesn't render
displayProductAdditionalInfo, set the anchor selectors or add the anchors manually (see Theme Compatibility). - Product is not excluded — check that the product's tags or categories don't match Exclusion tags.
- Caches are fresh — Advanced Parameters > Performance > Clear cache, then reload the product page.
- Recent changes in Loxa — a quote is reused for 5 minutes, so a change made in Loxa (for example a product's category) can take up to 5 minutes to show. To see it straight away, click Clear cached quotes at the top of the configuration page.
The product was added without its cover
The quote couldn't be verified, so the product went into the basket on its own. This happens if the page was left open for more than 24 hours (quotes expire), if the product's price rose by more than 5% after the quote, or if the quote was changed in the browser. Reloading the product page fetches a new quote — add the product with cover again.
If it happens on every attempt, turn on Debug logging and look for Loxa entries in Advanced Parameters > Logs.
Orders aren't reaching Loxa
Open the order and check the Activity log in its Loxa product protection panel — every attempt is recorded there.
- No activity at all — check that Send orders to Loxa is not Off, that the order contains protection, and that the order has reached the chosen trigger (paid, or shipped).
- "Retrying in N min" — Loxa couldn't be reached; the module will try again. If retries seem slow, set up the cron URL.
- "NOT sent" — the order was rejected or ran out of retries. Fix the cause if the log gives one (e.g. no API key configured), then click Send to Loxa (create policy), or contact Loxa support.
A customer ticked \"interested in product protection\" but wasn't emailed
Check the order's Activity log:
- Nothing about the offer — the order hasn't been paid yet (bank transfer and cheque orders are processed once you confirm payment).
- "none of the items … can be protected after purchase" — Loxa couldn't cover the item after purchase, so no email was sent.
- "not switched on for this store" — ask Loxa to enable post-purchase.
- "the email to the customer could not be sent" — your store couldn't send email (see Your store must be able to send email). Fix your mail setup, then click Send post-purchase offer.
- "its link was not a secure (https) address" — contact Loxa support.
The tickbox doesn't appear on an item above the point-of-sale limit
- Post-purchase protection offers is on (under Orders on the configuration page).
- Loxa has enabled post-purchase for your store, and the item is within the plan's limit of indemnity.
- For a product with combinations, the expensive combination is selected — each combination is quoted at its own price.
Express checkout buttons (PayPal, Klarna, Apple Pay) bypass insurance
Express checkout buttons on the product page start their own payment flow with the payment provider, bypassing the standard add-to-cart form. Insurance is never added through these flows.
Options:
- Disable express checkout buttons on product pages — customers who add to cart normally will always be offered insurance
- Use the Buy now selector setting if the button submits through the product form
- Express checkout on the cart and checkout pages is unaffected since insurance is already in the cart
Insurance prices don't update when selecting a combination
- Check the Variant selector — if your theme uses custom dropdowns or swatches, you may need to set a CSS selector in settings.
- Adjust the Variant delay — if prices flash or re-fetch too quickly, increase it (e.g.
300).
How do I roll back to a previous version?
Contact Loxa for the release you need. Versioned ZIPs are kept for each release (for example /downloads/loxa-prestashop-insurance-2.0.0.zip). Going back from 2.0.0 to 1.x needs an uninstall first; talk to Loxa before you do.