Changelog#

The complete version history for Gyta Buyback β€” every new feature, fix, and improvement, by release.

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

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

Version 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).
  • 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.

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

Version 1.5.3

  • New: Full internationalization — every user-facing string is now translatable, with the text domain loaded on init for 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.pot template and enabled wp_set_script_translations() for the Blocks checkout. Wording can be customized with Loco Translate.

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

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

Version 1.5.0

  • Major improvements.

Version 1.4.2

  • Updated Freemius SDK.

Version 1.4.1

  • Updated Freemius SDK.

Version 1.4.0

  • Added WooCommerce HPOS compatibility.
  • Updated Freemius SDK.

View the complete version history at gytabuyback.com/version-history.