Merchants
Pricing
Sign in Get Verified

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 Read permission, approved on your store's WooCommerce authorization screen while logged in to WordPress, or created by you
Orders & refunds
Webhooksorder.created order.updated plus 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
The connection

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.

  1. 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/authorize and asks for Read access.

  2. 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.

  3. 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.

  4. 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.created and order.updated webhooks 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.

Data

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, and how each item stays current
What WeRefund readsFrom WooCommerceHow it stays current
Orders — line items, dates, status/wc/v3/orders · Read keyThe 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 keyThe 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 itCaptured 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.

On your storefront

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.

Placement in a WooCommerce store
Product page Classic themesShown

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.

Product page Block themesDepends on template

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.

Cart Cart blockShown

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.

Cart Classic cartShown

Through the cart page hooks, for stores that still use the [woocommerce_cart] shortcode.

CheckoutNot shown

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.

Set up

Three steps on WooCommerce

  1. 01

    Create your WeRefund account

    $0 setup, $0 monthly fee, $0 processing surcharge.

  2. 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.

  3. 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.

FAQs

WooCommerce questions

All integrations

Five payment providers and seven store platforms.

Integrations
WeRefund API

Endpoints, fields and examples, in preview.

API reference

No 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

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.