Descrição
OfferDragon adds price negotiation (“make an offer”, “name your price”, “best offer”) to your WooCommerce store, so shoppers can negotiate instead of abandoning your product pages. Every offer arrives with the shopper’s card already authorized — accept it to get paid instantly, decline to release the hold, or send a counter-offer.
How it works
- A “Make an Offer” button is added to your single product pages (on all products, or only the ones you choose).
- When a shopper clicks it, a modal (served by the Make an Offer app) lets them enter the price they are willing to pay along with their contact and shipping details.
- The shopper’s card is authorized via Stripe at that moment — it is only charged if you accept the offer (or the shopper accepts your counter offer) in your Make an Offer dashboard.
- When an offer is accepted and the card is captured, the Make an Offer service sends a cryptographically signed webhook to your site. This plugin verifies the signature and creates a paid WooCommerce order (status: Processing) at the agreed price, with the customer’s details, so your fulfillment and inventory workflows stay entirely inside WooCommerce. Stock levels are reduced automatically.
What this plugin does on your site
- Adds a settings page (Settings Make an Offer) for your App URL, Site Key, and Webhook Secret.
- Adds an “Enable Make an Offer” checkbox to each product’s General settings, plus a global “enable on all products” option.
- Injects the widget script and a hidden offer button on eligible single product pages.
- Registers a REST endpoint (
/wp-json/offerdragon/v1/order) that receives accepted-offer webhooks, verifies their HMAC-SHA256 signature and timestamp, and creates the corresponding order idempotently (the same offer is never turned into two orders).
External service disclosure
This plugin depends on the hosted Make an Offer service (the “App URL” you configure, e.g. https://makeanofferpro.com), a third-party external service. You must create an account there to obtain a Site Key and Webhook Secret; offer management, counter offers, and payment processing (via Stripe) all happen on that service, not on your WordPress site.
Data flow:
- Your visitors’ browsers load the widget script (
offer.js) directly from the App URL you configure. When a visitor opens the offer modal and submits an offer, their browser sends the offer details — product ID, product name, product price, product URL and image URL (provided by this plugin as button attributes), plus the name, email, shipping address, offer amount, and payment card details they type in — directly to the Make an Offer service and to Stripe (for card authorization). This happens from the visitor’s browser; this plugin’s PHP code makes no outbound requests to any external service. - The Make an Offer service sends signed webhooks to your site when offers are accepted, containing the offer and customer details needed to create the order.
Please review the terms of service and privacy policy of the Make an Offer service you connect to, and of Stripe (https://stripe.com/privacy), and disclose this data flow in your own privacy policy as required.
This plugin requires WooCommerce and is compatible with WooCommerce High-Performance Order Storage (HPOS).
Instalação
- Install and activate WooCommerce (required).
- Upload the
offerdragon-price-negotiationfolder to/wp-content/plugins/, or install via Plugins Add New, then activate the plugin. - Sign up at your Make an Offer app and copy your Site Key (
mao_pk_...) and Webhook Secret (mao_whsec_...) from its dashboard. - Go to Settings Make an Offer in WordPress, enter the App URL, Site Key, and Webhook Secret, and choose where the button appears.
- Copy the webhook callback URL shown at the bottom of the settings page (
https://your-site.com/wp-json/offerdragon/v1/order) and paste it into your Make an Offer dashboard’s webhook settings. - Enable the button on all products, or edit individual products and tick “Enable Make an Offer” in the General settings tab.
FAQ
-
Where do I get a site key?
-
Sign up at the Make an Offer app (the App URL configured in the plugin settings, e.g.
https://makeanofferpro.com). Your Site Key and Webhook Secret are shown in that dashboard’s settings after you register your store. -
Check that (1) an App URL and Site Key are saved in Settings Make an Offer, and (2) either “Enable on all products” is checked or the specific product has “Enable Make an Offer” ticked in its General settings. The button is rendered hidden and only revealed once the widget script loads its configuration, so an unreachable App URL or invalid Site Key will also keep it hidden.
-
When is the shopper’s card charged?
-
Never at submission time. The card is only authorized when the offer is made. It is charged (captured) by the Make an Offer service via Stripe when you accept the offer — or when the shopper accepts your counter offer — and only then is the WooCommerce order created.
-
Are orders taxed or is shipping added?
-
The order is created at exactly the amount charged to the customer’s card by the Make an Offer service. The plugin does not recalculate taxes or add shipping charges on top; the agreed price is treated as the final total. If you need tax breakdowns, handle pricing accordingly when accepting offers.
-
What happens with variable products?
-
The button is shown with the product’s minimum variation price as the reference price. The accepted-offer order line references the parent product.
-
Is the webhook endpoint secure?
-
Yes. Every webhook must carry an
X-MAO-Signatureheader containing a timestamp and an HMAC-SHA256 signature computed with your Webhook Secret. Requests with a missing or invalid signature, or a timestamp more than 5 minutes old, are rejected with a 401. Duplicate deliveries of the same offer are detected and never create a second order. -
Does this plugin work with HPOS (High-Performance Order Storage)?
-
Yes, compatibility is declared and only CRUD APIs are used for orders.
Avaliações
There are no reviews for this plugin.
Contribuidores e desenvolvedores
“OfferDragon – Price Negotiation for WooCommerce” é um software com código aberto. As seguintes pessoas contribuíram para este plugin.
ContribuidoresTraduzir “OfferDragon – Price Negotiation for WooCommerce” para o seu idioma.
Interessado no desenvolvimento?
Navegue pelo código, dê uma olhada no repositório SVN ou assine o registro de desenvolvimento via RSS.
Registro de alterações
1.0.0
- Initial release.
- Settings page with App URL, Site Key, Webhook Secret, global enable, and button position.
- Per-product “Enable Make an Offer” toggle.
- Widget script injection and offer button on single product pages.
- Signed webhook receiver that creates paid WooCommerce orders (with idempotency and stock reduction).
- WooCommerce HPOS compatibility.
