OpenCart review requests

Ask once, and mark what came back

Review Requests emails a customer a link after their order arrives, opens a page with a card for each product they bought (no login, no password, no captcha), and writes what they type back through OpenCart's own review model, so it moderates the same way as a review typed on the product page. What it adds is the marking: a Verified purchase badge beside the reviewer's name, and a disclosure line above the list saying what that mark means.

Get it on the marketplace Read the documentation

A product page's review list. Above it a paragraph headed “How we handle reviews” explains that every review is checked before publication, that all reviews passing the check are published and none is removed for being critical, that a review marked Verified purchase was written by a customer invited by email after buying that product and matched to the order it came from, that reviews without the mark came through the form on the page, that the star average is calculated from published reviews, and that reviews are neither paid for nor accepted from anyone with a commercial relationship. Below it one review: “Noor W.” with a green Verified purchase badge beside the name, the date, the review text and five stars. Under that, OpenCart's own Write a review form.
The output the whole extension exists to produce: the mark beside the name, and the paragraph above the list that says what the mark means and how the store handles reviews, both spliced into the theme already running, and both yours to reword per language.

One email per order, and one reminder at most

An order reaches the status you chose, the delay you set goes by, and one message goes out listing every product on that order still worth reviewing. A single reminder if you want one, never a second, and any review landing for that order cancels it. A customer who orders three times in a week is asked once: a cooldown leaves one address alone between requests, under a limit per rolling 24 hours that you set.

The link is the proof, so nobody needs an account

No login, no password and no captcha: the page opens from the link itself, with a card per product, and each card submits on its own. That is what makes guest orders first-class rather than an exception, and what makes the badge honest, because the person writing the review was matched to an order before they were ever emailed.

A verified-purchase mark, and a disclosure line saying what it means

Both are spliced into the review list your theme already renders, with no template to edit, and both are yours to reword, per language. The badge means verified at the time of writing, not still a valid sale: a refund does not strip it, the request grows an Order refunded since flag and joins the Needs a look count, and you decide.

No review gating, in any form, ever

There is no setting that asks a customer how they feel first and only invites the happy ones onwards, and there will not be one. Google’s review policies and the FTC’s rule on review suppression both put it out of bounds. Choosing a trigger status only some customers reach is the same thing by the back door, which is why the field on the settings screen says so.

Your own systems can read what happened

Review Requests answers an HTTP API (v1 today), so the system that holds your numbers can read what became of every request: one order at a time, or the whole set walked page by page, narrowed to a state, a store, an order or a date range, each with a line per product and the OpenCart review id it collected. A second resource answers whether the sending machinery is running. It only ever reads: nothing sends a request through it, nothing writes a review through it and nothing unsubscribes anybody. It authenticates as an OpenCart API user you create yourself, answers only over HTTPS, and is off until you switch it on. What will not change about it, and for how long, is written down.

Translation published, not claimed

Which of our strings a named native speaker has actually read is published per extension and per language, and anything unreviewed ships as English rather than as a blank or a raw identifier.

Limits and guarantees is the page to read before paying. It says that a heavily customised theme may carry no badge at all (it is spliced at one anchor in your store's own review template, and a template the anchor does not fit exactly once is left as OpenCart drew it, with no error anywhere), that nothing is ever promised as delivered, only as asked, and a failed send is never retried on its own, that nothing reads a mailbox so a dead address is asked again the next time it qualifies, and that there are no photo or video reviews, no merchant replies and no syndication to Google or Trustpilot.

Questions people ask before buying

Do customers need an account to leave a review?

No. The email carries a link that opens a page with a card for each product they bought, with no login, password or captcha. What they type is written back through OpenCart's own review model, so it is moderated the same way as a review typed on the product page.

Does it hide bad reviews, or ask the happy customers first?

No, in any form. There is no review gating: everybody who bought is asked the same way, and what comes back goes to the same moderation queue whatever it says.

Does it work with OpenCart 4?

Every Kyvero extension is built for OpenCart 4.x. Each one declares the lowest release it will install on and refuses to install below it, and its documentation lists the releases a full install-and-upgrade pass was run against.

Do I get the source code?

Yes. An extension is PHP on your own server: readable, not obfuscated, and with no remote licence check to fail. Your copy is yours to modify and to keep backed up.

Who answers when something goes wrong?

A developer, usually the one who wrote the extension. There are two official routes, the support portal and the support address, and both arrive in the same place.