Keep WooCommerce. Add WeRefund.
WeRefund reads your WooCommerce orders, the refunds recorded on them and your Refund and Returns Policy page, read‑only, and shows WeRefund Verified ✓ on the product page and in the cart, where your theme's templates allow it.
$0 for the merchant; you approve read access on your store's WooCommerce authorization screen, or create a Read key yourself, when you connect.
- Access
- Read-onlyA WooCommerce REST API key with
Readpermission, approved on your store's WooCommerce authorization screen while logged in to WordPress, or created by you - Orders & refunds
- Webhooks
order.createdorder.updatedplus scheduled re-reads; with no refund topic in WooCommerce, refunds come through order.updated - Policy changes
- Scheduled readsCaptured again for each order WeRefund records; your policy is a WordPress page, and WooCommerce's webhook topics cover orders, products, customers and coupons
- Badge
- Product page & cartA WordPress plugin, no edits to your theme files; on block themes it depends on your Single Product template
How the connection works
WooCommerce's own app authorization: you see what is requested, you approve it, and the key WeRefund receives has Read permission.
Read permissionWhat WooCommerce lists on its approval screen: view orders and sales reports, products, customers and coupons. WooCommerce's Read permission can't be narrowed to orders alone.order.created · order.updated webhooksAdded by you under WooCommerce › Settings › Advanced › Webhooks, with the delivery URL and secret WeRefund gives you. A Read key can't create webhooks itself./wp/v2/pages published pageYour published Refund and Returns Policy page, read through WordPress's own REST API unless a security plugin or your host restricts it.The key is limited to Read, and to what the WordPress user it belongs to is allowed to see (the user who approves it, or the one you choose when you create it yourself); it stops working if that user is deleted. The customer names, email addresses, phone numbers and addresses recorded on your orders are readable with it. You can revoke it at any time under WooCommerce › Settings › Advanced › REST API.
-
01
Start from WeRefund
When you connect your store, you enter your store address. WeRefund sends your browser to your store's authorization page at
/wc-auth/v1/authorizeand asks for Read access. -
02
Approve in WooCommerce
You log in to WordPress if you aren't already. WooCommerce shows its own screen, “WeRefund would like to connect to your store”, with what Read access allows and the domain the key will be shared with. A user who can manage WooCommerce clicks Approve; Deny sends you back with nothing created.
-
03
Back to WeRefund
WooCommerce generates a consumer key and secret with Read permission, sends them to WeRefund over HTTPS and returns you to WeRefund. The key is listed under WooCommerce › Settings › Advanced › REST API, where you can revoke it. You can also create a key with Read permission there yourself and paste it into WeRefund instead.
-
04
First read, then stay current
Publish your Refund and Returns Policy page if it is still a draft, and confirm in WeRefund which page is your policy. WeRefund then reads that page through WordPress's REST API, as it stands today — the version verification is based on — and reads your recent orders and their refunds through the WooCommerce REST API with the Read key. You then add the
order.createdandorder.updatedwebhooks with the delivery URL and secret WeRefund shows you. From then on, webhooks signal new orders and refunds, and the orders modified since the last read are read again on a schedule to pick up an order or refund a delivery misses. Your policy page is captured again for each order WeRefund records, and read on a schedule.
What WeRefund reads, and how it stays current
Three things, read-only. Webhooks carry orders and refunds; the policy page is captured for each order and read on a schedule.
| What WeRefund reads | From WooCommerce | How it stays current |
|---|---|---|
| Orders — line items, dates, status | /wc/v3/orders · Read key | The order.created webhook, plus a scheduled read of the orders modified since the last one |
| Refunds recorded on those orders — amount, date, reason | /wc/v3/orders/<id>/refunds · Read key | The order.updated webhook, which WooCommerce sends when a refund is recorded, plus the same scheduled read. Deleting a refund sends no webhook |
| Your Refund and Returns Policy — a WordPress page | /wp/v2/pages/<id> · readable through WordPress's REST API unless a security plugin or your host restricts it | Captured for each order WeRefund records, and read on a schedule. On every read, WeRefund compares the page's rendered content with the last version it recorded, whatever its last-modified date says; a change is recorded as a new version and verified again. A page that is no longer published isn't treated as your published policy |
WooCommerce sends webhooks in the background and switches a webhook off after repeated failed deliveries. WeRefund checks each webhook's signature (HMAC-SHA256), ignores duplicates, and reads the orders modified since its last read to catch what a delivery missed. Since version 5.6, WooCommerce creates a Refund and Returns Policy page as a draft: it is public only once you publish it, and no WooCommerce setting marks it as your policy, so you confirm the page when you connect. Each time an order reaches WeRefund — when its order.created webhook is received, or when a scheduled read records an order a delivery missed — WeRefund captures your published policy page, on top of its regular scheduled check, and that order keeps the version captured for it. If your store takes payments through Stripe, PayPal, Adyen, Checkout.com or Airwallex, WeRefund also reads each order's payment and your refund events from that provider.
Where the badge appears
The WeRefund Verified ✓ badge comes as a WordPress plugin: upload it under Plugins › Add New › Upload Plugin, then activate it. It uses the places WooCommerce provides for extensions, so your theme files stay as they are.
It shows no number: the exact terms stay in your policy, and each shopper sees the real deadline after the purchase.
In the product summary, through the woocommerce_single_product_summary hook, on product pages only: where a [product_page] shortcode renders the same summary on another page, the plugin shows nothing. A theme or page builder that replaces WooCommerce's product template may not run it.
In the Single Product template, where WooCommerce runs the same hook just before its product summary or excerpt block. Shown when your template keeps one of those blocks.
Above Proceed to Checkout, in an extension area WooCommerce still marks experimental; the plugin renders there only on the cart, never in the Checkout block. The Cart block is the default cart for stores started since WooCommerce 8.3.
Through the cart page hooks, for stores that still use the [woocommerce_cart] shortcode.
The badge is limited to the product page and the cart; nothing is added to checkout pages.
What WeRefund never does
Hold your customers' payments
Shoppers pay through your checkout and your payment provider. WeRefund never holds your customers' payment funds.
Refund in your place
You refund as you do today, from the order screen in WooCommerce or with your payment provider. WeRefund reads the refunds recorded on your WooCommerce orders and, if your store takes payments through Stripe, PayPal, Adyen, Checkout.com or Airwallex, the refund events from that provider; it never creates one.
Change your checkout pages
The badge lives on the product page and in the cart, where your theme's templates allow it; nothing is added to checkout pages.
Write to your store data
WeRefund asks for a key with Read permission, and WooCommerce refuses any write made with a Read key. If you create the key yourself, choose Read.
Three steps on WooCommerce
-
01
Create your WeRefund account
$0 setup, $0 monthly fee, $0 processing surcharge.
-
02
Connect your store & payment provider
Choose WooCommerce, enter your store address, approve Read access on your store's WooCommerce authorization screen, add the two order webhooks and confirm which published page is your Refund and Returns Policy. If your store takes payments through Stripe, PayPal, Adyen, Checkout.com or Airwallex, connect that provider too.
-
03
Get Verified
WeRefund reads your published Refund and Returns Policy page and verifies it. Once it passes, activate the WeRefund plugin and the badge shows on your product page and in your cart, in the places listed under Where the badge appears.
Add the banner to your theme
Paste it once before the closing body tag: it reads your after-sales score from your WeRefund profile and turns itself off the day verification stops.
<script src="https://js.werefund.com/badge.js" data-store="your-store" data-format="strip" async></script>
WooCommerce questions
Five payment providers and seven store platforms.
IntegrationsEndpoints, fields and examples, in preview.
API referenceNo edits to your theme files. The badge comes as a WordPress plugin that uses WooCommerce's own hooks on product pages and the classic cart; where your theme or page builder doesn't run those hooks, it doesn't show, and where a [product_page] shortcode renders the same summary on another page it shows nothing. On block-based carts it uses an extension area WooCommerce still marks experimental, and renders there only on the cart, never in the Checkout block.
More store platforms
Shopify
shopify.comReads your orders, the refunds recorded on them and your Refund policy from your Shopify store. The badge renders on the product page and in the cart, as a theme app block or app embed.
Store platforms
Magento
magento.comReads your orders, their refunded totals and your return policy page from your Magento store. In Luma and themes that keep its layout containers, the badge renders on the product page and in the cart.
Store platforms
PrestaShop
prestashop.comReads your orders, credit slips and return policy page from your PrestaShop store. In themes that call its two display hooks, the badge renders on the product page and in the cart.
Store platforms
BigCommerce
bigcommerce.comReads your orders, their refunds and your returns policy page from your BigCommerce store. On Stencil themes, the badge renders on the product page and in the cart.
Store platforms
Wix
wix.comReads your orders, their refunds and the Return policy in your Wix checkout settings. The badge renders on the product page and, where your store uses it, in the side cart.
Store platforms
Custom / Headless
WeRefund APIFor a custom or headless store, your orders reach WeRefund through the API, in preview.
Store platforms
Verification, not a migration
Keep your PSP. Add trust.
$0 setup. $0 monthly fee. $0 processing surcharge. Your store, your provider and your merchant account stay as they are.