Description
Gyta BuyBack turns your WooCommerce store into a professional trade-in and buyback operation. Instead of selling products to customers, you purchase products from them — with automated payments, prepaid shipping labels, and a fully streamlined workflow built right into the WordPress admin.
📖 Full Documentation | 🌐 Official Website | 🛒 Upgrade to Premium
🔄 How It Works
WooCommerce is built for traditional ecommerce — the customer pays you. Gyta BuyBack flips the script. It adds reversed payment gateways so you pay the customer, automatically generates prepaid return shipping labels, and gives you every tool you need to run a professional buyback or trade-in business.
- Customer submits a trade-in — They add their item to your WooCommerce cart and check out as normal.
- You generate a shipping label — A prepaid EasyPost label is created automatically (or in batch) and emailed to the customer.
- Customer ships the item — Real-time tracking events keep both sides informed via webhooks.
- You inspect and pay — Once the item arrives, you pay the customer through one of the reversed payment methods (Check, PayPal, Zelle, Venmo, and more).
🏢 Who Is This For?
Gyta BuyBack is purpose-built for businesses that buy products from consumers:
- Used Phone & Electronics Buyers — Run a phone or electronics trade-in program directly from your WordPress site.
- Recommerce & Refurbishment Companies — Streamline the intake of used goods for refurbishment and resale.
- Gold, Jewelry & Precious Metal Buyers — Accept mail-in shipments with prepaid labels and pay sellers on approval.
- Textbook & Media Buyback — Operate a textbook buyback program with automated shipping and payouts.
- Sneaker & Fashion Resellers — Purchase authenticated items from sellers with a professional storefront.
- Trade-In Programs for Any Retailer — Add a trade-in program alongside your existing WooCommerce shop.
- Recycling & E-Waste Programs — Accept items for recycling with automated logistics.
✅ Free Features
- Reversed Payment Gateways — WooCommerce-native payment methods (Check, PayPal, Amazon Gift Card) that pay the customer instead of charging them.
- EasyPost Shipping Integration — Automatically generate USPS, UPS, and FedEx prepaid return shipping labels from within WooCommerce orders.
- Customer Shipping Labels — Customers can print or download their prepaid return label from the order confirmation page and order emails.
- Buyback Button Labels — Product and checkout buttons read as a sale to you (“Trade in / Sell to us”, “Get my offer”) instead of “Add to cart” — fully customizable.
- Real-Time Tracking Webhooks — Receive EasyPost tracking event updates via a secure REST API webhook endpoint. Tracking events are stored on the order.
- Custom Order Statuses — Optional “Waiting for Customer Approval”, “Customer Approved”, and “Customer Disapproved” statuses for a complete approval workflow.
- WP-CLI Commands — Manage labels, verify addresses, and debug orders from the command line for advanced users and automation.
- WooCommerce HPOS Compatible — Fully compatible with WooCommerce High-Performance Order Storage (Custom Order Tables).
- Cart & Checkout Block Support — Works with the modern WooCommerce block-based cart and checkout.
- Admin Dashboard — A dedicated Gyta BuyBack menu in wp-admin with quick links, settings, and order tools.
- Privacy & GDPR Ready — Built-in privacy policy content suggestions for your site’s privacy page.
- Multisite Compatible — Works on WordPress multisite installations with network or local activation.
- Design Templates — Pick a look for everything your customers see (Classic, Card, or Minimal) and set an accent colour to match your brand.
- Getting-Started Checklist — A guided first-run checklist with a one-click sample trade-in product, so you can see the whole flow before configuring anything.
📖 View full feature documentation
⭐ Premium Features
Upgrade to unlock powerful tools for scaling your buyback business:
- Store Modes — Run your store as Dual (buy + trade-in side by side) or Net settlement (trade in toward a purchase and pay the difference), instead of buyback-only.
- More Payout Methods — Pay customers via Zelle, Venmo, Interac eTransfer, ACH, UK Bank Transfer, Crypto / Stablecoin, or Store Credit (with an optional bonus %).
- Trade-In Device Details — Capture each item’s condition, IMEI / serial number, and notes on the product page, cart, or checkout.
- Re-Quote & Counter-Offer — Revise the payout after inspection and send the customer a new offer to approve or decline.
- Customer Status Timeline — A live progress tracker on the customer’s order page, from label sent to payment sent.
- Buyback Reports — Total paid out, pending payouts, and devices awaiting action at a glance.
- Batch Labels & Scan Forms — Generate shipping labels for many orders at once from a dedicated admin page.
- Shipping Label & Tracking in Admin — View label PDFs, tracking numbers, and delivery status directly from the WooCommerce order edit screen.
- Hide Variation Fields — Declutter WooCommerce product variation panels by hiding fields you don’t use (image, SKU, stock status, description).
- Automatic Payouts — Send real money to customers via PayPal Payouts or Wise in one click, with batch sending, status tracking, safe retries, and a QuickBooks-friendly accounting CSV export.
- Condition Quiz — Apple-style instant quotes. The customer answers a few questions and the offer adjusts automatically, in every store mode.
- Quote Expiry — Offers lock for a set number of days, with a clear countdown for the customer.
- Apple-Style Trade-In Picker — In Net mode, customers choose their old device while viewing the new one, and the credit follows them to cart and checkout.
- My Trade-Ins Account Tab — Customers get live status, labels, tracking, and one-click offer approval in their WooCommerce account; re-quotes can include inspection photos.
- Shipping Kits & QR Drop-Off — Mail a prepaid empty box first, with the return label printed inside or emailed when the kit ships. QR drop-off codes mean no printer at the carrier counter.
- Catalog CSV Import — Load your whole device price list (models, conditions, prices, categories) in one upload, with a dry-run preview.
- Net Reconciliation — Record the inspected value and let the difference settle itself: a pay-link invoice when a device grades lower, extra store credit when it grades higher.
- Resale Loop & Margin Reports — Turn received devices into sellable stock with cost tracking, margin reporting, and VAT margin-scheme flags for EU/UK second-hand dealers.
- SMS & Reminder Notifications — Twilio SMS updates (label ready, device received, payment sent), a shipping-kit reminder email, and one-time abandoned-quote recovery.
- Priority Support — Get faster, dedicated support for your buyback operation.
🚀 Upgrade to Premium | 🆓 Start with a 30-day free trial
💡 Example Workflows
Example 1: Used Phone Buyback
You list phone models as WooCommerce variable products (e.g., iPhone 15, 128GB, Good Condition = $320). A customer selects their phone, checks out, and receives a prepaid USPS label via email. They ship the phone. You inspect it, optionally use the customer approval flow, and pay them via PayPal or Zelle.
Example 2: Textbook Trade-In Program
A university bookstore lists textbooks with buyback prices. Students check out with their books, get a prepaid FedEx label, and ship the books in. The store generates labels in batch at the end of each day and pays students by check.
Example 3: Gold & Jewelry Mail-In
A precious metals dealer lists buyback categories. Sellers check out, receive a shipping label, and mail their items in an insured package. The dealer inspects, sets the order to “Waiting for Customer Approval” with a final offer, and pays upon approval.
🔌 EasyPost Integration
Gyta BuyBack uses the EasyPost shipping API to power its label generation. With EasyPost you get access to discounted rates from all major carriers:
- USPS — First Class, Priority, Priority Express
- UPS — Ground, 2nd Day Air, Next Day Air
- FedEx — Ground, Express Saver, 2Day, Overnight
Labels are generated right from the WooCommerce order screen, attached to the order as metadata, and automatically included in customer notification emails — no copy-pasting required.
🧑💻 WP-CLI Support
For developers and power users, Gyta BuyBack includes a full set of WP-CLI commands:
wp gyta diagnose — Run plugin diagnostics
wp gyta status — Show EasyPost connection status
wp gyta settings — List all settings (also `wp gyta get <key>` and `wp gyta set <key> <value>`)
wp gyta test-address — Validate an address against EasyPost
wp gyta test-label <order_id> — Create a shipping label for an order (this buys a real label)
wp gyta refund <order_id> — Request a refund for an order's shipping label
Creating labels for many orders at once is done from the Batch Labels admin tab rather than WP-CLI.
🆘 Support: WordPress.org support forum (free) | gytabuyback.com (premium)
GAUCHO PLUGINS PORTFOLIO
Payment Page: Start accepting payments in a beautiful payment form in less than 60 seconds
Split Pay Plugin: Split WooCommerce payments across multiple connected Stripe accounts.
Login for Stripe Customer Portal: Create an Account login area for your Stripe customers.
Gyta Buyback: Create a trade-in / buyback business using WooCommerce.
Version Info: Show WP, PHP, MySQL & Web Server Versions in the WP-Admin Dashboard.
China Payments Plugin: Accept WeChat Pay and Alipay payments from Chinese customers.
Blocked in China: Check if your website is available in the Chinese mainland.
Speed in China: Check your website’s speed in the Chinese mainland.
External Services
This plugin connects to the following external services when you enable the related features.
EasyPost (api.easypost.com)
When you configure an EasyPost API key, this plugin connects to EasyPost to generate prepaid shipping labels, verify addresses, and receive tracking webhook events for buyback orders. Order and address data required for label creation is sent to EasyPost.
Freemius (api.freemius.com, freemius.com)
This plugin includes the Freemius SDK for premium licensing and updates. Data is sent to Freemius when you opt in through the Freemius connect screen.
Twilio (api.twilio.com)
Used only if you enable SMS notifications and enter your own Twilio credentials. When a status SMS is sent, the customer’s phone number and the message text are sent to Twilio.
PayPal Payouts (api-m.paypal.com, api-m.sandbox.paypal.com)
Used only if you enable automatic payouts via PayPal and enter your own PayPal credentials. When a payout is issued, the payee’s PayPal address, the payout amount and an order reference are sent to PayPal. The sandbox host is used only while Sandbox mode is switched on.
Wise (api.transferwise.com, api.sandbox.transferwise.tech)
Used only if you enable automatic payouts via Wise and enter your own Wise API token. When a payout is issued, the recipient’s name and bank account details, the payout amount and an order reference are sent to Wise. The sandbox host is used only while Sandbox mode is switched on.
Screenshots





Installation
Minimum Requirements
- WordPress 5.9 or later
- WooCommerce 7.0 or later
- PHP 8.1 or later
Automatic Installation
- Log in to your WordPress admin dashboard.
- Navigate to Plugins Add New.
- Search for “Gyta BuyBack”.
- Click Install Now, then Activate.
- Go to WooCommerce Settings Gyta BuyBack to configure the plugin.
Manual Installation
- Download the plugin zip file from WordPress.org or gytabuyback.com.
- In your WordPress admin, go to Plugins Add New Upload Plugin.
- Upload the zip file and click Install Now.
- Activate the plugin and navigate to WooCommerce Settings Gyta BuyBack.
Quick Start
- Configure your business address under the Gyta BuyBack settings tab.
- Add your EasyPost API key to enable automatic shipping label generation.
- Enable the reversed payment gateways you’d like to offer (Check, PayPal, Zelle, etc.) under WooCommerce Settings Payments.
- Create your buyback products as normal WooCommerce products with the prices you’re willing to pay.
- Start accepting trade-ins!
FAQ
-
Does this plugin require WooCommerce?
-
Yes. Gyta BuyBack extends WooCommerce and requires it to be installed and activated. It is compatible with WooCommerce 7.0 and later.
-
How do the reversed payment methods work?
-
Instead of collecting money from the customer, Gyta BuyBack’s payment gateways record that you owe the customer. The order is placed and you fulfill payment to the customer offline through the selected method (Check, PayPal, Zelle, Venmo, etc.).
-
Do I need an EasyPost account?
-
An EasyPost account is recommended but not required. Without it, you can still use the reversed payment methods and manage orders — you just won’t get automated shipping label generation. EasyPost offers a free tier with pay-per-label pricing. Sign up at easypost.com.
-
What shipping carriers are supported?
-
Through EasyPost, you can generate labels for USPS, UPS, FedEx, and many other carriers. Gyta BuyBack automatically selects the cheapest rate or lets you choose.
-
Is this compatible with WooCommerce HPOS (High-Performance Order Storage)?
-
Yes. Gyta BuyBack fully supports WooCommerce HPOS / Custom Order Tables and the block-based cart and checkout.
-
Can I use this on a WordPress multisite?
-
Yes. The plugin supports both network-wide and per-site activation on WordPress multisite installations.
-
Yes! You can start a 30-day free trial of the premium version directly from within the plugin. Learn more
-
Where can I find documentation?
-
Full documentation, setup guides, and developer references are available at gytabuyback.com/docs.
-
Where can I get support?
-
Free users can post in the WordPress.org support forum. Premium users get access to priority support through gytabuyback.com.
-
Can I suggest a feature or report a bug?
-
Absolutely! Reach out via the support forum or contact us through gytabuyback.com.
Reviews
Contributors & Developers
“Gyta BuyBack | WooCommerce Product Trade-In and Buy Back System” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Gyta BuyBack | WooCommerce Product Trade-In and Buy Back System” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.6.2
- Security: Inspection photos taken during a re-quote are now private to store staff — they were previously listed in the site’s public media library.
- Fix: Coupons and store credit can no longer be applied to a trade-in payout cart, so a payout can’t be reduced by a coupon.
- Fix: An already-decided trade-in can no longer be flipped by re-opening or replaying the approval link after it was paid.
- Fix: Condition quiz — answers that share a grade (like A+ and A) are now priced correctly, “0” answers work, and percentages typed with a “%” are accepted.
- Fix: SMS notifications now reach customers who enter their number with a country code, and no longer send twice on a retry.
- Fix: Net settlement — leftover trade-in credit is calculated correctly when another coupon is on the order.
- Fix: Re-quote warns you when inspection photos are too large to upload instead of failing silently, and never shows an earlier offer’s photos with a new one.
- Fix: Reports and the accounting CSV no longer double-count or skip orders, exclude abandoned checkouts, and count refunds against resale margin; the payout CSV now filters by payout date.
- Fix: Setting “Quote lock” to 0 now fully turns the feature off, including for orders already in progress.
- Fix: Batch Labels leaves shipping-kit orders for their own step, and the Orders-screen “Create Shipping Labels” action now confirms what it queued.
- Fix: A clear warning now appears if EasyPost tracking stops because the webhook signing secret was never added.
1.6.1
- Fix: Saving a trade-in order — status changes, “mark complete”, order actions, and sending a revised offer — works again. A 1.6.0 re-quote panel placed a form inside the order screen that could block WooCommerce’s own Save on stores using the classic (non-HPOS) order storage.
- Fix: EasyPost shipping insurance now actually applies — it was never added to labels. If you have insurance enabled, labels now carry it (and EasyPost bills its premium).
- Fix: Dual mode — trade-in-only products can no longer be bought via a direct add-to-cart link.
- Fix: Block checkout now translates payout field labels; assorted PHP 8 checkout hardening; fuller uninstall cleanup.
- New (Premium): Apple-style trade-in picker on the product page (Net mode) — customers select their old device while viewing the new one, and the credit follows them to cart and checkout.
- New: Getting-started checklist with a one-click sample product, a payout-methods overview, and helpful first-run notices.
- New: The 30-day free trial is now offered directly from every upgrade prompt.
- New: Design tab — pick a style template (Classic, Card, or Minimal) and an accent color for everything your customers see: the trade-in picker, order actions, and status timeline.
- New: Settings now tag every flow-specific option with its flow (Buyback / Dual / Net), with the Store Mode select as the clearly-marked global switch.
- New (Premium): Automatic payouts — send real money via PayPal Payouts or Wise in one click, with batch sending, status tracking, safe retries, and a QuickBooks-friendly accounting CSV.
- New (Premium): Condition quiz — Apple-style instant quotes. Customers answer a few questions (screen condition, does it power on…) and the price adjusts automatically, in every store mode.
- New (Premium): Shipping kits — mail an empty prepaid box first; the return label is printed in the box or emailed when the kit ships. Plus QR drop-off codes: no printer needed at the carrier counter.
- New (Premium): Net reconciliation — record the inspected value and the difference settles itself: a pay-link invoice when the device grades lower, extra store credit when it grades higher.
- New (Premium): Catalog CSV import — load your whole device price list (models, conditions, prices, categories) in one upload, with a dry-run preview.
- New (Premium): SMS updates via Twilio (label ready, device received, payment sent), a kit-reminder email, and one-time abandoned-quote recovery.
- New (Premium): Resale loop — convert received devices to sellable stock with cost tracking, margin reports, and VAT margin-scheme flags for EU/UK second-hand dealers.
- New (Premium): “My Trade-ins” account tab — live status, labels, tracking, and one-click offer approval; re-quotes can now include inspection photos.
- New (Premium): Quote expiry — offers lock for a configurable number of days, with a clear countdown for the customer.
- Fix: The “Track Shipment” button now appears again on the order-received page (and in My Trade-ins). It had silently stopped rendering even when tracking was available.
- Fix: QR drop-off codes now work out of the box. EasyPost only issues QR codes for USPS, CanadaPost, Evri and UPS, so when you haven’t picked a specific carrier we now choose the cheapest QR-capable one. If a QR code still can’t be issued, the reason is written to the order notes instead of failing silently.
- Fix: Scan forms no longer fail when your selection spans several carriers — one scan form is created per carrier, and any carrier that doesn’t support them is called out by name.
- Improved: The Net selector supports multiple devices per order, the trade-in banner shows on the block checkout, and reports scale to large stores; translations drafted for all bundled languages.
- Improved: The Net selector no longer offers the item being purchased as its own trade-in, and simple devices show their name in the picker; clearer admin label/tracking notes on the free plan.
- Security: The EasyPost webhook now requires a signing secret and rejects unsigned requests. Previously a forged “delivered” notification could complete an order and, with automatic payouts on, send real money for a device that never arrived. Existing stores are not interrupted: a secret is generated for you, your current webhooks keep working for 14 more days, and an admin notice tells you where to paste it. Enforcement starts as soon as you do (or when the 14 days are up).
- Security: Trade-in credit in Net mode now verifies the selected condition really belongs to the selected device, so a tampered request can no longer claim a higher-priced device’s quote.
- Important: PHP 8.1 is now the minimum. The bundled shipping libraries already required it; on PHP 8.0 WordPress will now hold the update back instead of the site erroring after it.
- Fix: Automatic payouts no longer risk a double payment. Timeouts and provider 5xx/429 responses are treated as “unknown”, not “failed”, so a retry can never send twice; a new hourly check also releases payouts that got stuck mid-send.
- Fix: Shipping labels are no longer lost when EasyPost is slow at checkout — the purchase now times out quickly and retries in the background, so the customer’s order still completes.
- Fix: Gyta no longer replaces WooCommerce’s own order emails for every order on the store. Trade-in wording is applied only to trade-in orders, and your theme’s email templates now win as they should.
- Fix: Custom order statuses (Waiting for customer approval, Customer approved, Kit sent) stay registered even when the matching feature is switched off — previously those orders vanished from the order list and quietly reset to “Pending payment”.
- Fix: The payouts queue is properly paginated, so older payable orders can’t become unreachable once you have a page or more of completed payouts.
- Fix: IMEI/serial is now enforced on block checkout too, not just the classic one; device details are stored under stable keys so exports and reports keep working after a language change.
- Improved: Performance — buyback reports and the Net trade-in picker are cached, and bulk label creation runs in the background instead of timing out on large selections.
- Improved: Your per-email “Additional content” text now appears in the kit-reminder and abandoned-quote emails, and block scripts load their translations.
1.6.0
- New (Premium): Store Modes — run your store as Buyback (default), Dual (buy + trade-in), or Net settlement (trade in toward a purchase). https://docs.gytabuyback.com/features/store-modes/
- New (Premium): Net settlement with Apple- or Samsung-style prepaid return labels.
- New (Premium): Trade-in device details — condition, IMEI/serial, and notes.
- New (Premium): Store Credit payout with an optional bonus.
- New (Premium): Buyback Reports, post-inspection re-quotes, and a customer status timeline.
- New: Buyback buttons now read as a sale — “Trade in / Sell to us” and “Get my offer” (editable).
- New: Set your trade-in catalog by product category, with per-product overrides.
- Fix: Block checkout now saves payout destinations and device details; the Amazon Gift Card method appears.
- Fix: Settings save per tab; the Variable Product Fields section renders again.
1.5.4
- New (Premium): Crypto / Stablecoin payout method — customers enter their wallet address and network at checkout, and you pay them in USDC or any other crypto from your own wallet.
1.5.3
- New: Full internationalization — every user-facing string is now translatable, with the text domain loaded on
initfor WordPress 6.7+ compatibility. - New: Bundled translations for 10 languages that load automatically by site language — German (de_DE + Austrian de_AT), Spanish, French, Italian, Brazilian Portuguese, Dutch, Russian, Japanese, Simplified Chinese, and Polish.
- New: Checkout, the customer approve/decline flow, shipping-label buttons, order emails, payment methods, the admin dashboard, and the Batch Labels page are all localized.
- Fix: The checkout relabel (“Billing details” “Contact Information”) now applies on non-English sites; it previously only matched the English source text.
- Fix: Corrected admin and email strings that used the wrong text domain or passed variables to translation functions and therefore never translated.
- Dev: Added the
gyta-buyback.pottemplate and enabledwp_set_script_translations()for the Blocks checkout. Wording can be customized with Loco Translate.
1.5.2
- Fix: Customer Approve/Decline buttons now work. The approval form was submitting an empty order reference, so customer clicks were silently ignored.
1.5.1
- Added Download Shipping Label button on checkout.
- Compat: WP 7.0 readiness (Tested up to 7.0).
- Fix: Customer approval links (approve/decline buttons in trade-in offer emails) no longer silently expire after 24 hours. The approval nonce now lives 30 days, matching realistic customer-response windows. If a customer clicks a link past its expiry, they see a clear error message and can retry directly from the page instead of getting no feedback.
- Freemius updated.
View the complete version history here:
https://gytabuyback.com/version-history/
