Keep Magento. Add WeRefund.
WeRefund reads your Magento orders, the refunded totals recorded on them and your return policy page, read‑only, and once you're verified, the WeRefund module shows WeRefund Verified ✓ on the product page and in the cart, in themes that keep Luma's layout containers.
$0 for the merchant; store access is approved in your Magento Admin when you connect your store.
- Access
- Read-onlyTwo view-only API resources you tick in an integration you create (Orders › Actions › View and Pages, with Save Page and Delete Page unticked)
- Orders & refunds
- Scheduled reads
/V1/ordersfiltered on dates, with the refunded total on each order - Policy changes
- Scheduled readsYour return policy CMS page, captured for each order WeRefund records and its content compared at every read
- Badge
- Product page & cartA WeRefund module you install, adding a block to the product and cart layouts of Luma and themes that keep its containers
How the connection works
Magento's own integration flow: you create the integration in your Admin, choose what it can read, and approve it.
Magento_Sales::actions_viewSales › Operations › Orders › Actions › View. Your orders, with their items, dates, status, the total refunded on each, and the customer details recorded on them, such as name, email and addresses.Magento_Cms::pageContent › Elements › Pages. The CMS page that holds your return policy.Resource Access is set to Custom, not All; tick only these two, and leave Save Page (with Edit Page Design under it) and Delete Page unticked — untick them if the Admin ticks them with the parent. The access token doesn't expire until you revoke access; Reauthorize in the Admin issues a new access token and secret.
-
01
Start from WeRefund
When you connect your store, you choose Magento and WeRefund gives you two HTTPS addresses to paste into your Admin: a Callback URL and an Identity Link URL.
-
02
Create the integration
In System › Extensions › Integrations, click Add New Integration. Enter a name, your email, the two WeRefund addresses and your Admin password. On the API tab, set Resource Access to Custom and tick the two resources. Leave Save Page (with Edit Page Design under it) and Delete Page unticked — untick them if the Admin ticks them along with the parent — then save. The integration is listed as Inactive.
-
03
Activate and allow
Click Activate. Magento shows a pop-up with the API permissions requested, and you click Allow. Magento then sends WeRefund the integration's consumer key and secret, your store's base URL and a verifier, and a second pop-up links the integration to your WeRefund account. Nothing is read before that approval.
-
04
First read, then stay current
WeRefund completes Magento's OAuth 1.0a exchange for an access token and signs every call with HMAC-SHA256. In WeRefund, you then choose the CMS page that holds your return policy, written in the page's own content rather than in a CMS block or widget inserted into it. Through the REST API, WeRefund reads that page as it stands today — the version verification is based on — and your recent orders with the refunded total on each. From then on, both are read again on a schedule, and your policy page is captured again each time WeRefund records an order.
What WeRefund reads, and how it stays current
Three things, read-only, through Magento's REST API. Everything is read on a schedule.
| What WeRefund reads | From Magento | How it stays current |
|---|---|---|
| Orders — line items, dates, status | GET /V1/orders · Orders › Actions › View | Read on a schedule, filtered on updated_at so changed orders are picked up |
| Refunds recorded on those orders — the refunded total | total_refunded on each order · Orders › Actions › View | Read with the orders, on the same schedule; each refund itself is read from your payment provider when it is Stripe, PayPal, Adyen, Checkout.com or Airwallex |
| Your return policy — the CMS page you choose in WeRefund | GET /V1/cmsPage/:pageId · Pages | Captured for each order WeRefund records, and read on a schedule. On every read, WeRefund compares the page's content with the last version it recorded; a change to the content is recorded as a new version and verified again. WeRefund also reads whether the page is enabled: a disabled page isn't treated as your published policy. Write the policy text in the page's own content, not in a CMS block or widget inserted into it: WeRefund reads the page content as stored, so a block edited on its own is not seen as a change |
Adobe I/O Events for Adobe Commerce isn't supported on Magento Open Source, so WeRefund works the same way on Magento Open Source and on Adobe Commerce on cloud infrastructure or on-premises: scheduled reads with Magento's search filters. When a refund is issued from Magento, Magento records a credit memo and the refunded total on the order. WeRefund reads that total rather than the credit memos, because Magento's Credit Memos resource also allows creating them. When WeRefund records an order on its scheduled read, it captures your published policy page for that order, 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
On Magento, the WeRefund Verified ✓ badge is a module you install: it adds a block to the product page and cart layouts of Luma and of themes that keep its containers. The connection needs no installation; the badge does.
It shows no number: the exact terms stay in your policy, and each shopper sees the real deadline after the purchase.
On the catalog_product_view layout, in the product information column product.info.main of Luma and of themes that keep that container.
On the checkout_cart_index layout, the shopping cart page, in themes that keep Luma's cart containers.
Layout XML only applies to pages Magento renders itself, so the module doesn't reach a headless storefront.
The module adds nothing to the checkout page layout.
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, in your Magento Admin or with your payment provider. WeRefund reads the refunded total Magento records on the order and, if your store takes payments through Stripe, PayPal, Adyen, Checkout.com or Airwallex, the refund from that provider; it never creates a credit memo.
Change your checkout page
The badge lives on the product page and in the cart, in themes that keep Luma's containers; the module adds nothing to checkout.
Write to your store data
WeRefund asks you to tick two view-only resources and to leave Save Page and Delete Page unticked: with those settings, no order actions, no credit memos, no page saving or deleting.
Three steps on Magento
-
01
Create your WeRefund account
$0 setup, $0 monthly fee, $0 processing surcharge.
-
02
Connect your store & payment provider
Choose Magento, create the integration in your Admin, tick the two view-only resources (leaving Save Page and Delete Page unticked), click Activate and Allow, and choose the enabled CMS page that holds your return policy, with the policy text in the page's own content, not in a CMS block or widget. If your store takes payments through Stripe, PayPal, Adyen, Checkout.com or Airwallex, connect that provider too.
-
03
Get Verified
WeRefund reads the CMS page that holds your return policy and verifies it. Once it passes, install the WeRefund module to show the WeRefund Verified ✓ badge on the product page and in the cart, where your theme keeps Luma's containers.
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>
Magento questions
Five payment providers and seven store platforms.
IntegrationsEndpoints, fields and examples, in preview.
API referenceNot to connect it: the connection is an integration you create in your Admin. The badge is different: it is a module. On Magento Open Source or on-premises Adobe Commerce, it is installed with Composer and the bin/magento commands — module:enable setup:upgrade setup:di:compile cache:clean — and Adobe recommends a backup and maintenance mode first. On Adobe Commerce on cloud infrastructure, it is added with Composer in your local project and pushed with its composer.lock file; the deployment process enables it.
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
WooCommerce
woocommerce.comReads your orders through the WooCommerce REST API and webhooks, and your return policy page through the WordPress REST API. The badge renders on the product page and in the cart, where your theme's templates allow it.
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.