=== VERIFIED Crypto Checkout - Card to USDC WooCommerce Payment Gateway ===
Contributors: verifiedcreditcard
Tags: woocommerce, crypto, payment-gateway, usdc, payment-links
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.56.46
WC requires at least: 5.8
WC tested up to: 10.9.4
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

WooCommerce card-to-crypto checkout with provider routing, payment links, QR payments, subscriptions, and USDC settlement.

== Description ==

VERIFIED Crypto Checkout is WooCommerce-native card-to-crypto routing and settlement infrastructure. It connects WooCommerce orders to independent provider-hosted checkout pages and is designed to deliver settlement to a merchant-controlled wallet, with USDC on Polygon as the intended settlement route.

WooCommerce remains the system of record for the order. The hosted provider controls customer verification, payment-method availability, risk checks, transaction approval, conversion, and settlement execution. VERIFIED creates and tracks the checkout session, coordinates the order status, and provides reconciliation tools. VERIFIED does not process card data or custody merchant funds.

This model can provide a checkout continuity layer when traditional merchant-account underwriting is unavailable or unreliable. It is not a bypass, a guarantee of approval, or a way to avoid provider rules. Customer and transaction eligibility remain subject to each provider's terms, KYC/AML controls, regional support, and applicable law.

[Read the canonical product overview](https://verifiedcryptocheckout.com/what-is-verified-crypto-checkout/) or visit the [documentation hub](https://verifiedcryptocheckout.com/documentation/).

= Key Features =

* WooCommerce Classic Checkout, Blocks Checkout, Store API fee handling, and HPOS compatibility
* Card, debit card, Apple Pay, Google Pay, and selected regional payment methods where supported by the routed provider
* Auto-Routing across available hosted providers, plus merchant-selectable single-provider gateways
* Intended USDC settlement to a merchant-controlled Polygon wallet; no VERIFIED custodial balance
* Settlement guard that holds orders when on-chain proof or the expected value cannot be verified
* Coin-aware verification for supported stablecoin and native-asset settlement outcomes
* Branded hosted waiting room and thank-you page, enabled by default, with minimal, standard, and optional full-receipt views
* Order Payment Requests with expiring, no-login Pay Now links and per-order request history
* Standalone payment links and branded invoice emails from WooCommerce admin
* In-person QR payments for counter sales, events, pop-ups, phone orders, and manual orders
* Automated abandoned-checkout recovery for eligible first-time customers
* Optional recovery incentives: fixed discount, percentage discount, or shipping credit
* Smart Recovery with up to two backup provider links and configurable large-order guidance
* Recovery reporting for emails sent, recovered orders, recovered revenue, and suppression reasons
* Email-based subscription renewals without stored-card rebilling
* Customer provider preference controls for supported subscription workflows
* Checkout notices explaining hosted redirection, possible identity verification, payment guidance, privacy boundaries, and confirmation behavior
* VERIFIED Ledger with filters, retry visibility, transaction hashes, and block-explorer links
* CSV and Excel ledger exports that respect status, event-type, and date-range filters
* Missed Payment Protection for pending and recently cancelled orders when a webhook is late or missing
* Merchant-absorbed or customer-paid 4% VERIFIED infrastructure fee configuration
* Customizable gateway titles, descriptions, icons, recovery email design, and checkout-notice colors

= How Card-to-Crypto Checkout Works =

1. A customer selects VERIFIED at WooCommerce checkout or opens a payment link, invoice, renewal link, recovery link, or QR payment request.
2. WooCommerce creates or identifies the order and remains the merchant's operational record.
3. VERIFIED creates a session and routes the customer to an independent hosted provider.
4. The provider handles any required identity verification, payment authentication, eligibility checks, and payment execution.
5. If approved, the provider converts the payment and sends settlement toward the wallet configured by the merchant.
6. VERIFIED validates the returned amount and available on-chain evidence. An order without sufficient settlement proof is held for review rather than made shippable.
7. Confirmed transaction details are written back to WooCommerce for order management and reconciliation.

Learn more about the [hosted checkout architecture](https://verifiedcryptocheckout.com/hosted-checkout-explained/).

= Routing and Provider Availability =

Auto-Routing selects from available provider options based on the upstream route. Merchants can also expose individual gateways. The codebase includes integrations for providers and payment methods such as Coinbase, Ramp Network, Transak, Revolut, Stripe, Banxa, Simplex, Robinhood, Binance, PayPal, Crypto.com, Klarna, iDEAL, Blockchain.com, Particle, Interac, and UPI.

Provider availability is dynamic. Supported countries, payment methods, minimums, KYC requirements, fees, limits, and approval decisions vary by provider and may change. The plugin identifies discontinued or impaired routes in wp-admin; merchants should keep at least one active route enabled and review provider notices before accepting live orders.

= Operational Workflows =

Use existing orders to send expiring Pay Now links or display in-person QR codes. Use WooCommerce > Request Payment for standalone links and branded invoices. Automated Recovery follows up on eligible first-time abandoned sessions with merchant-controlled timing, incentives, backup providers, and reporting. Supported subscription plugins use scheduled, customer-authorized renewal links instead of silent stored-card rebilling.

Read about [payment links](https://verifiedcryptocheckout.com/send-payment-links/), [QR payments](https://verifiedcryptocheckout.com/woocommerce-qr-code-payments/), [Smart Recovery](https://verifiedcryptocheckout.com/abandoned-crypto-checkout-recovery/), and [subscription workflows](https://verifiedcryptocheckout.com/subscription-payments-without-chargebacks/).

= Settlement, Fees, and Risk =

The intended settlement route is USDC on Polygon to the merchant's configured wallet. Some upstream flows may return another supported asset or network outcome; the plugin's settlement verifier evaluates the actual on-chain result and either completes the order when adequately proven or holds it for merchant review. Merchants must verify wallet compatibility and protect their private keys.

VERIFIED charges a 4% infrastructure fee on successfully confirmed transactions. The merchant can absorb it or add it as a customer-paid WooCommerce fee. Hosted providers charge separate provider-side conversion, payment, and possible network fees. Fees, net settlement, and timing vary by route; VERIFIED does not control provider pricing or guarantee settlement time. See the [fees transparency guide](https://verifiedcryptocheckout.com/verified-crypto-checkout-fees-transparency-guide/) and [risk disclosure](https://verifiedcryptocheckout.com/risk/).

On-chain settlement does not create a traditional card-acquiring chargeback process against a WooCommerce merchant account. It does not eliminate customer disputes, fraud, provider action before settlement, blockchain risk, stablecoin risk, wallet risk, or legal obligations.

= When This Model Fits =

VERIFIED may fit merchants that want WooCommerce order control, hosted card-to-crypto execution, wallet settlement, multiple provider routes, or a continuity option when conventional acquiring is unavailable. It may not fit businesses that require fiat bank settlement, embedded card fields, silent stored-card rebilling, guaranteed approval, fixed provider availability, or freedom from customer identity verification.

== Installation ==

1. Install and activate the plugin, then open WooCommerce > Settings > Payments.
2. Review the terms and enable Auto-Routing or one or more available VERIFIED gateways.
3. Enter a merchant-controlled wallet compatible with the intended Polygon USDC route.
4. Configure fee handling, notices, recovery, receipt, and payment-request options.
5. Run a controlled test and verify the wallet, order status, email, and reconciliation workflow before launch.

Setup guide: https://verified-crypto-checkout.gitbook.io/verified-crypto-checkout

== Frequently Asked Questions ==

= What is VERIFIED Crypto Checkout? =

It is a WooCommerce checkout-layer plugin that creates, routes, tracks, and reconciles provider-hosted card-to-crypto payment sessions. It is infrastructure, not a bank, acquirer, exchange, or custodian.

= Does VERIFIED approve the customer or transaction? =

No. The hosted provider controls KYC, risk checks, payment availability, transaction approval, limits, and regional eligibility.

= Where does settlement go? =

The intended route sends USDC on Polygon to the merchant-configured wallet. Provider execution can vary, so merchants must review actual settlement records and use a compatible wallet.

= How are unverified or underpaid orders handled? =

The settlement guard checks the returned amount and on-chain evidence. If settlement cannot be sufficiently verified, the order is held for review instead of being marked ready to ship.

= Can I send payment links or accept QR payments? =

Yes. Generate payment links and invoice requests from WooCommerce admin, send Pay Now links from orders, or display an in-person QR code for an unpaid order.

= What does the plugin cost? =

VERIFIED charges a 4% infrastructure fee on successfully confirmed transactions. The merchant may absorb it or configure it as customer-paid. Provider and network costs are separate.

= Can underwriting-restricted merchants use it? =

The plugin does not require a traditional merchant-account application to install, which can make it useful as continuity infrastructure. Use is still subject to lawful products, provider terms, customer eligibility, KYC/AML controls, regional availability, and transaction approval.

== Screenshots ==

1. VERIFIED gateways in WooCommerce payment settings.
2. Gateway settings for fees, recovery, Smart Recovery, checkout notices, and branding.
3. Customer checkout with hosted-flow guidance.
4. VERIFIED Ledger with filters, delivery state, retries, and transaction hashes.
5. Order Payment Request with tokenized Pay Now link and history.
6. In-person QR payment controls on a WooCommerce order.
7. Full-screen customer scan-to-pay view.
8. Branded hosted waiting room and thank-you receipt.

== Third-Party Services ==

This plugin depends on external services. These services are contacted when a merchant configures the plugin, creates a checkout or payment request, generates a QR code, checks settlement, or synchronizes transaction records.

= VERIFIED Checkout Infrastructure =

The plugin uses https://pay.verifiedcryptocheckout.com to create and route hosted checkout sessions and the VERIFIED service endpoint to synchronize limited financial and reconciliation metadata. Depending on the feature and privacy setting, transmitted data can include merchant site URL, order amount and currency, customer billing email, merchant wallet address, callback/status URLs, gateway/provider choice, fee values, transaction hash, and technical reconciliation identifiers. Optional Full Receipt mode also makes the selected order and billing details available to the hosted thank-you page.

Service: https://pay.verifiedcryptocheckout.com
Terms: https://verifiedcryptocheckout.com/terms/
Privacy: https://verifiedcryptocheckout.com/privacy/
Fees: https://verifiedcryptocheckout.com/fees/
Risk: https://verifiedcryptocheckout.com/risk/

= QR Code Generation =

Payment Request and In-Person QR features use QuickChart to render the QR image. The tokenized payment-link URL is sent to QuickChart only when the QR code is generated.

Service: https://quickchart.io
Privacy: https://quickchart.io/privacy/

= Blockchain Verification and Pricing =

Settlement Guard and Missed Payment Protection query public Polygon or Ethereum RPC endpoints to verify public on-chain records. Requests can include public wallet addresses, transaction hashes, token-contract addresses, block ranges, and JSON-RPC method data. Endpoints used by the current code include Polygon RPC (https://polygon-rpc.com), PublicNode (https://www.publicnode.com), Cloudflare Ethereum Gateway (https://cloudflare-eth.com), and LlamaRPC (https://llamarpc.com). An optional PolygonScan API key enables higher-volume Polygon lookups. CoinGecko is queried for the public market price of supported native assets when a non-stablecoin settlement must be valued; no WooCommerce customer record is sent in that pricing request.

Policies: Polygon (https://polygon.technology/privacy-policy), PublicNode (https://www.publicnode.com/privacy), Cloudflare (https://www.cloudflare.com/privacypolicy/), and CoinGecko (https://www.coingecko.com/en/privacy). Transaction links open PolygonScan or Etherscan only when an administrator or customer follows the displayed block-explorer link.

= Hosted Payment Providers =

The selected or routed provider receives the information entered on its hosted page and may collect payment credentials, identity documents, biometric/liveness data, contact information, device data, and other compliance information under its own terms. Provider identity is shown during the hosted flow. Providers are independent; references do not imply affiliation or endorsement. Availability and the provider roster change over time.

Provider privacy resources include Coinbase (https://www.coinbase.com/legal/privacy), Crypto.com (https://crypto.com/privacy/en), Stripe (https://stripe.com/privacy), PayPal (https://www.paypal.com/us/legalhub/paypal/privacy-full), Revolut (https://www.revolut.com/legal/privacy/), Transak (https://transak.com/privacy-policy), Ramp Network (https://rampnetwork.com/privacy-policy), Banxa (https://banxa.com/privacy-policy), Simplex (https://www.simplex.com/privacy-policy), Binance (https://www.binance.com/en/privacy), Robinhood (https://robinhood.com/us/en/about/legal/), Sardine (https://www.sardine.ai/legal/privacy-policy), Topper (https://topperpay.com/privacy), TransFi (https://www.transfi.com/privacy-policy), Unlimit (https://www.unlimit.com/privacy-policy/), Klarna (https://www.klarna.com/us/privacy/), iDEAL (https://www.ideal.nl/en/security-privacy/privacy-statement/), Blockchain.com (https://www.blockchain.com/legal/privacy), Guardarian (https://guardarian.com/privacy-policy), Particle (https://particle.network/privacy), Interac (https://www.interac.ca/en/privacy-policy/), and UPI/NPCI (https://www.npci.org.in/privacy-policy/). Review the provider named on the hosted page before submitting data.

== Privacy and Data Handling ==

The plugin does not store card numbers or CVV values in WordPress. WooCommerce continues to store the order and customer information required by the merchant's normal ecommerce workflow. VERIFIED stores local order metadata, tokens, gateway settings, recovery history, and ledger/reconciliation records needed for enabled features. Merchants are responsible for their site privacy notice, data-retention choices, wallet security, and applicable law.


== Changelog ==

= 1.56.46 =
* Payment traceability: the order screen now shows the actual on-chain settlement transaction with a link to the correct block explorer - Etherscan for payments that settle in ETH on Ethereum, Polygonscan for USDC on Polygon - instead of always linking to Polygonscan. Previously an ETH-settled order only showed a Polygon routing address and a Polygonscan link, so the payment appeared untraceable even though the funds had arrived. When the settlement network is not recorded, both explorer links are offered so a payment can always be found. The Polygon routing address is now labelled as such, and the on-chain USD value is shown when available.
* The VERIFIED Ledger admin page and its CSV/Excel export now link each transaction to the correct network's explorer per row (Etherscan or Polygonscan), so reconciliation of ETH-settled orders works the same as USDC orders.
* Compatibility: tested with WordPress 7.1. Continues to support WordPress 5.8 and above.

= 1.56.45 =
* Double-charge prevention on the hosted waiting/thank-you page: the moment a payment is detected for the order, the page removes the "continue to pay" and "try a different provider" buttons and the return-to-checkout link, and shows "Payment received — confirming; please do not pay again." A slow confirmation can no longer lead a customer to pay a second time. The "try a different provider" option is also withheld for the first 90 seconds. This works even if the store briefly can't reach the blockchain or price service, because the "payment received" signal is read from the order itself.
* Payment address stability: payment links, in-person QR codes, automated recovery, and customer retries now reuse the order's original payment address and confirmation token instead of generating a new one each time. Previously a re-used order could be issued a fresh address, and a completed payment on the original address could then be rejected as an "invalid" confirmation and left unconfirmed. Applied consistently across all VERIFIED payment methods.
* Self-healing confirmation: when a non-USDC settlement (for example ETH or POL) cannot be priced, or the blockchain/price service is briefly unreachable, the plugin now retries the on-chain confirmation automatically with a bounded backoff instead of leaving the order held — so genuinely paid orders complete on their own once connectivity returns, rather than sitting in Pending.

= 1.56.43 =
* Settlement fix: payments that settle in ETH (or other non-USDC coins) are now automatically confirmed by reading the actual on-chain settlement at your payout wallet, instead of being held for manual review. Orders that arrive in a different coin than expected no longer get stuck in "Pending — review" when the full value has provably landed. The review note now links the correct block explorer for the settlement's network.
* The branded thank-you / receipt page is now on by default. New installs have it enabled out of the box; existing stores are turned on and shown a notice with a one-click way to turn it off if they prefer the previous direct redirect. It can always be changed under WooCommerce → VERIFIED Thank-You Page.

= 1.56.41 =
* Thank-you page: the Full receipt now shows a complete order summary — product images, item quantities and line totals, order subtotal/shipping/tax/total, the billing name and address, and the crypto payment details (method, on-chain verified amount, and the settlement transaction linked to the block explorer). Choose "Full receipt" under WooCommerce → VERIFIED Thank-You Page. No change when the thank-you page is off.

= 1.56.40 =
* Settlement safety: every payment gateway now verifies the settled amount before an order is marked paid. Previously some gateways completed an order on the provider's reported amount alone; they now apply the same amount check the other gateways already used, and a shortfall is confirmed on-chain before the order is completed or held for your review.
* Native-coin settlements (POL / ETH) are now recognised correctly. A payment that settles in a native coin instead of a stablecoin is valued on-chain rather than being mistaken for an underpayment.
* Discontinued providers Bitnovo, Guardarian and Utorg have been deactivated (the upstream provider no longer processes them), matching how MoonPay was handled: they are labelled deactivated, hidden from stores that do not use them, and any store that still has one switched on gets a clear warning. Your other gateways are unaffected.
* Missed-payment recovery now compares against the correct US-dollar amount on non-USD stores.

= 1.56.39 =
* Coinbase gateway: corrected the settled-amount check so it compares like-for-like in USD on stores that use a non-USD currency. Previously a Coinbase payment on a non-USD store could be compared against the wrong currency figure, which could either hold a good payment for review or let an underpaid one through. USD stores were unaffected and are unchanged.
* Coinbase gateway: the temporary payment wallet is now recorded so the plugin's on-chain verification and missed-payment recovery can see it. Previously a genuinely paid Coinbase order could be reported as "no payment found" and its wallet was invisible on the order screen. New orders only; existing orders are not altered.

= 1.56.38 =
* MoonPay deactivated by the provider: the gateway is now labelled DEACTIVATED, and merchants who still have it switched on get an explicit admin warning that customers cannot complete checkout with it.
* MoonPay is now hidden from the payment-methods list for merchants who do not already have it enabled, so no new store can adopt a provider that has stopped processing. Merchants who currently use it keep full control - it is not switched off for them.
* In-flight MoonPay payments are unaffected: the confirmation endpoint still runs, so any payment already in progress can still settle.

= 1.56.37 =
* CRITICAL money-safety fix: orders are no longer marked paid/shippable unless the payment is proven settled on-chain. If the provider reports a payment without a blockchain transaction hash, the order is now placed On Hold instead of Completed, with a clear note telling you not to ship until funds are confirmed in your wallet.
* Orders held this way are released automatically when the provider sends the settlement hash (previously that follow-up confirmation was discarded, so the hash was never recorded).
* Updated the reconciliation admin notice to reflect the new On Hold behaviour.
* MoonPay marked as discontinued: the upstream provider has permanently stopped processing MoonPay payments. The gateway settings screen now warns merchants to switch to an active payment method.

= 1.56.36 =
* Fixed: Resolved a checkout slowdown and flicker on stores using the WooCommerce Blocks checkout (most noticeable on newer WooCommerce versions). The plugin was unnecessarily loading the WordPress editor bundle onto the customer-facing checkout, which could delay payment options from appearing and briefly disrupt the order summary. The checkout script now loads only the small amount of code it actually needs, so payment methods appear immediately and the checkout renders cleanly. No changes to payment processing or settlement.

= 1.56.35 =
* Fixed: The Coinbase payment gateway now applies the same amount-verification check as every other payment method. Previously, a Coinbase callback would complete an order regardless of the amount received. It now compares the settled amount against the expected order total and, if it falls below the threshold, routes the order to the same review queue (with an audit note) used by all other gateways. Valid full payments complete automatically as before.

= 1.56.34 =
* Improved: A confirmed payment that settles in a non-USDC coin (for example ETH or POL) is now verified against the actual on-chain settlement transaction instead of a raw callback figure. The plugin reads what really arrived at the order's wallet — stablecoins counted at par, ETH/POL priced live — and when that confirms the payment (using the same threshold already applied to USDC, which allows for normal provider fees) the order is completed automatically. When it cannot confirm (a genuine shortfall, an un-priceable coin, or an unreachable network) the order is held for your review with a clear note of exactly what arrived, instead of a misleading "underpaid" message. This removes false "stuck pending" cases for real payments that settle in another coin, while still holding genuine underpayments for review.

= 1.56.33 =
* Improved: Missed Payment Protection now also re-checks recently-cancelled VERIFIED orders for on-chain settlement, not just pending ones. If a customer pays after WooCommerce auto-cancels their unpaid order, the matching USDC transfer is detected and flagged for your review. Orders are never reopened or completed automatically — you decide. Adds a "Cancelled-order lookback" window (default 3 days) and tightens the default scan timing (first check after 30 minutes, hourly) for faster detection. On-chain cost stays flat — each order is checked only once.

= 1.56.32 =
* Improved: Ledger and transaction views now show the friendly name "Auto-Routing" for the smart auto-routing gateway instead of its internal identifier. Display-only change — no impact on existing or in-flight orders, and historical rows are relabeled automatically.

= 1.56.31 =
* Fixed: A confirmed payment that settled in a non-USDC coin (for example ETH) could be incorrectly marked Failed by an internal amount check. Such orders now stay in Pending for merchant review instead of being marked Failed, an audit note (transaction ID + amounts) is added, and the store admin is always notified by email so they can confirm and complete the order. Applied consistently across all affected payment methods. No valid payment is auto-completed without review, and the provider remains the source of truth for confirmation.
* Updated: Crypto.com gateway now shows an upstream-availability notice (the provider is temporarily unavailable upstream); checkout auto-routes to an alternate provider so payments still complete.

= 1.56.30 =
* Added: Merchant Ledger CSV and Excel export — export the local transaction queue from the VERIFIED Ledger admin page with optional sync-status, event-type, and date-range filters. Each row includes a Polygonscan URL for transaction audit. Useful for accounting, reconciliation, and compliance review.
* Updated: Simplex gateway restored to standard status — removed the temporary upstream-issue notice now that the provider is operating normally again.

= 1.56.29 =
* Updated: Ramp Network gateway restored to standard status — removed the temporary upstream-issue notice now that the provider is active again.

= 1.56.28 =
* Compatibility: Tested with WordPress 7.0.
* Compatibility: PHP 8.1–8.3 hardening — defensive string handling for gateway settings and REST-context guards on admin includes.
* Maintenance: Minor code-quality and robustness improvements.

= 1.56.27 =
* Fixed: Auto-Routing checkout icon now correctly shows the 2x2 card brand grid on sites that upgraded from an older build (self-heal for stale stored icon URL).

= 1.56.26 =
* Added: Five new payment gateway options — Klarna (EU Buy Now Pay Later, €20 min), iDEAL (Netherlands bank transfer, €46 min), Blockchain.com (global card, $20 min), Guardarian (European card, $20 min), and Particle (global Web3 onramp, $30 min). Each gateway follows the same checkout flow as existing single-provider gateways. Merchants can enable any combination in WooCommerce → Settings → Payments. Auto-Routing already presents these providers automatically based on customer region; these standalone gateways give merchants the option to expose them as separate, branded checkout buttons.
* Added: New "EU Focused" group in the Smart Recovery backup-providers selector containing Klarna, iDEAL, Guardarian, Bitnovo, and Revolut — complements the existing Recommended, US Focused, and Global groups.
* Improved: Backup provider selector "US Focused" group now includes Blockchain.com. "Global" group now includes Particle.
* Note: Bundled icons for the five new gateways are placeholders (generic card visuals). Merchants can override each via the gateway settings "Replace Default Logo URL" field.

= 1.56.25 =
* Improved: Ramp Network gateway description — removed the "currently experiencing upstream provider issues" warning. Ramp Network is active again (back to normal routing after a temporary removal in April).
* Improved: Utorg gateway description now flags an upstream issue. Utorg has been removed from the current active-provider roster, so customers selecting this gateway may be auto-routed to an alternate provider. Same pattern previously applied to Ramp/Simplex/TransFi.
* Improved: Simplex gateway description softened to reflect an "unstable" status for this provider (between active and removed). Payments still complete via auto-routing; merchants and customers are unaffected.

= 1.56.24 =
* Improved: Custom Provider gateway settings now list all supported provider tag values with a note on which are officially documented vs extended, and a reminder that unrecognised values return a 400 error.
* Improved: Binance added to gateway title map and backup provider options group.
* Improved: Backup provider selector now includes a Global group (Binance, Revolut, Topper, Bitnovo, Utorg, Simplex, TransFi) alongside Recommended and US Focused groups.

= 1.56.23 =
* Added: In-Person QR Payment subsection inside the Order Payment Request meta box. Merchant selects a gateway and clicks "Display QR Code for Customer" to open a full-screen lightbox showing a scannable QR code linked to the existing tokenized Pay Now URL. Intended for counter, in-person, phone, manual order, and event payments — customer scans on their own device and completes payment on the hosted provider checkout. Cancelled orders are automatically moved to Pending Payment before token generation so the link can be redeemed. Customer-paid service fee (4%) is applied before QR generation, matching the email payment-request flow exactly. Auto-Routing gateway is preferred by default when active.

= 1.56.20 =
* Improved: Coinbase gateway description updated to inform customers that a Coinbase account is required and a payment method must be added. Continues to recommend debit over credit card to avoid cash advance fees and improve approval rates.

= 1.56.19 =
* Changed: All gateway titles updated from "Credit Card to USDC" to "Card to USDC" for accuracy — customers can pay with debit cards, not just credit cards. Coinbase title is "Card to USDC via Coinbase". Bank-transfer gateways (Interac, UPI) retain their existing "Bank Transfer to USDC" wording.

= 1.56.18 =
* Added: Coinbase Commerce gateway — customers pay with card via Coinbase; funds settle as USDC to your wallet. $1 minimum.
* Improved: Auto-Routing gateway now includes an automatic fallback to itself when a specific provider returns an error, ensuring customers are never left on a dead-end payment page.
* Improved: Auto-recovery emails now always include the Auto-Routing gateway as the first backup link, regardless of which gateway originally failed.

= 1.56.17 =
* Fixed: Interac and UPI gateway descriptions incorrectly read "Secure Card Checkout" — corrected to "Secure Bank Transfer Checkout" to accurately reflect that these are bank-transfer methods, not card payments. Fix applies to existing installs automatically without requiring merchants to reset the description field.

= 1.56.16 =
* Improved: All card-based gateway descriptions now recommend using a debit card to avoid cash advance fees and improve approval rates. Interac and UPI (bank-transfer gateways) unchanged.

= 1.56.15 =
* Improved: Checkout KYC notice now mentions government ID or SSN with an explicit "never shared with our store" clarification, addresses cash-advance fee risk on credit cards with a debit-card recommendation, and firms up the redirect behavior language ("will not" instead of "may not" be redirected back).

= 1.56.14 =
* Fixed: PayPal US-only note now always renders at checkout, even on sites that had a saved custom description from an earlier version. The gateway's get_description() override force-appends the warning if it's not already present, so merchants upgrading from 1.56.12 or earlier get the customer-facing clarification immediately without needing to reset the description field.

= 1.56.13 =
* Improved: PayPal gateway now clearly flagged as US-only at checkout and in admin settings — the upstream PayPal provider only supports US customers. Customers outside the US will see an inline note on the checkout description and a warning banner in the gateway settings. This matches the visual pattern used on Ramp/Simplex/TransFi gateways with upstream constraints.

= 1.56.12 =
* Added: Crypto.com standalone gateway (order min $5) — now available as a direct checkout option alongside Auto-Routing
* Added: Crypto.com + PayPal gateway IDs to uninstall cleanup list

= 1.56.11 =
* Improved: Simplex and TransFi gateway settings pages now show the same top-of-page warning banner as Ramp, for visual consistency across all gateways flagged with upstream-provider issues. Description notes are unchanged.

= 1.56.10 =
* Fixed: Ramp Network gateway restored at checkout — v1.56.9 hid it entirely, which left some merchants without any checkout option. Now it stays visible (respects the Enable/Disable toggle) with an upstream-issue note appended to the gateway description. Customers selecting Ramp may be auto-routed to an alternate provider; payments still complete.
* Added: Upstream-issue note appended to Simplex and TransFi gateway descriptions — both have been removed from the provider roster and may auto-route customers to alternates. Gateways remain visible; merchants can disable if they prefer to hide.
* Fixed: PayPal gateway class name registration case consistency

= 1.56.9 =
* Changed: Ramp Network gateway hidden from checkout — provider has temporarily deactivated the integration upstream. Existing settings preserved; gateway returns automatically when the provider re-enables it. No merchant action required.
* Added: Inline notice on the Ramp Network gateway settings page explaining the temporary unavailability

= 1.56.8 =
* Fixed: Ledger "paid" events now require a blockchain transaction hash — orders completed without a tx hash are held for manual wallet reconciliation instead of being logged, preventing agent commission disputes
* Added: Admin warning banner on ledger/orders pages when orders are waiting on manual tx-hash reconciliation
* Added: Order note is written when a paid event is skipped so the merchant knows to verify against Polygonscan

= 1.56.7 =
* Added: Smart Recovery — backup payment options in recovery emails (up to 2 alternate gateways per provider)
* Added: Large-order guidance messaging with configurable per-gateway threshold
* Added: Section-based copy controls — copy timing, incentives, design, or Smart Recovery settings independently across gateways
* Added: Recovery performance panel showing emails sent, recovered orders, and recovered revenue per gateway
* Improved: Safer backup-link token handling — failed backup attempts no longer corrupt the order payment method
* Improved: Token generator guards against invalid order IDs
* Improved: Ledger action handler capability hardening
* Fixed: Plugin details modal showing “No plugin found” on merchant update screen

= 1.55.14 =
* Moved the Apply to All auto recovery action into the recovery email settings section
* Apply to All now copies all recovery and checkout notice styling details without enabling disabled gateways
* Added immediate visual reset behavior for the one-time Apply to All and Restore Notice Defaults checkboxes
* Changed the default recovery incentive label to “Finish Checkout and Save”


= 1.55.12 =
* Fixed checkout notice color reset option so the Restore to Default control appears in gateway settings and resets the correct notice color fields


= 1.55.11 =
* Added one-click "Restore checkout notice colors to default" action in gateway settings
* Checkout notice color customization continues to support Apply to All across VERIFIED gateways


= 1.55.10 =
* Added Missed Payment Protection (webhook fallback system)
* Detects on-chain payments if webhook fails and alerts merchant

= 1.54 =
* Automated abandoned checkout recovery system — sends tokenized Pay Now emails to first-time customers who reached the provider but did not complete payment
* Incentive engine — supports fixed discount, percentage discount, or shipping credit on recovery emails, applied before the 4% infrastructure fee
* Recovered revenue tracking — total recovered orders and revenue displayed in gateway settings
* Per-order audit log — recovery email status, suppression reason, gateway used, incentive applied, and final amount shown in WooCommerce order sidebar
* Checkout notices — at-checkout callout on Classic and Blocks checkout explaining redirect flow, KYC, debit card guidance, and privacy
* Admin onboarding modal on first install and What's New banner for returning merchants
* WooCommerce → VERIFIED Support submenu added
* Pricing snapshot stored at recovery email send time to prevent amount mismatch on edited orders

= 1.51 =
* Added Order Payment Request feature — send Pay Now links directly from any WooCommerce order screen with full audit log, gateway selector, status warnings, and automatic order update after payment
* Payment request email with branded WooCommerce template, order summary table, KYC guidance, and Pay Now — No Login Required button
* Customizable email via WooCommerce → Settings → Emails → VERIFIED — Order Payment Request
* Fees applied automatically to manual orders when gateway is set to Customer pays fees

= 1.50 =
* Fixed Blocks checkout fee not showing due to WooCommerce Store API nonce change
* Switched fee sync script to use wp.apiFetch for cross-version WooCommerce compatibility

= 1.49 =
* Updated gateway descriptions with improved checkout instructions for all providers
* Fixed duplicate service fee safety-net to match cart fee calculation
* One-time migration to decode HTML entities in stored gateway descriptions
* Fixed UPI and Interac gateway titles to Bank Transfer to USDC

= 1.45 =
* Added Request Payment and Invoice tool for generating standalone payment links from WooCommerce admin
* Minimum order amounts displayed to customers at checkout for all gateways
* Updated plugin page content for WordPress.org listing
* Fixed Terms of Service banner persisting after acceptance on version updates

= 1.4.2 =
* Updated gateway titles to show order minimum amounts per provider
* Replaced gateway descriptions with compliant wording
* Removed Classic/Block checkout compatibility warning from gateway settings

= 1.4.1 =
* Added Terms of Service acceptance gating for payment gateways
* Merchant and central admin ledger dashboards
* Fixed wallet address sanitization for payment flow reliability

= 1.4.0 =
* Added transaction ledger logging for financial reconciliation
* Local queue table with automatic retry and exponential backoff

= 1.3 =
* Classic Checkout stable release
* 4% configurable infrastructure service fee
* Blocks checkout beta support

== Upgrade Notice ==

= 1.56.46 =
Traceability fix: orders and the Ledger now link to the correct block explorer for the settlement network (Etherscan for ETH, Polygonscan for USDC/Polygon) and show the actual settlement transaction, so ETH-settled payments are no longer hard to trace. Recommended for any merchant that receives ETH settlements.

= 1.56.45 =
Important money-safety update: prevents a customer from paying twice when confirmation is slow (the hosted waiting page now hides the pay/retry buttons the instant a payment is detected), keeps each order's payment address stable across payment links / QR / recovery / retries, and auto-retries on-chain confirmation for ETH/POL settlements so paid orders complete on their own. Strongly recommended for all merchants, especially any using the hosted thank-you page, payment links, QR, or abandoned-checkout recovery.

= 1.56.40 =
Settlement safety: all gateways now verify the settled amount (and native POL/ETH on-chain) before completing an order. Discontinued providers Bitnovo, Guardarian and Utorg are deactivated like MoonPay. Recommended for all stores.

= 1.56.39 =
Coinbase gateway reliability fix: corrects the settled-amount check on non-USD stores and makes paid Coinbase orders visible to on-chain verification and recovery. Recommended for any store accepting Coinbase, especially on a non-USD currency.

= 1.56.38 =
MoonPay has been deactivated by the provider. If you have it enabled, switch to another payment method (Auto-Routing recommended) - customers cannot complete checkout with MoonPay.

= 1.56.37 =
Important: prevents orders from being completed before the payment is confirmed on-chain. Update immediately if you ship physical goods.

= 1.56.36 =
Performance fix: removes an unnecessary editor bundle from the Blocks checkout, eliminating a load-time delay and flicker on newer WooCommerce. Recommended for stores using the Blocks checkout.

= 1.56.35 =
Security fix: Coinbase gateway now verifies the settled amount matches the order total before completing, consistent with all other payment methods. Recommended update.

= 1.56.34 =
Confirmed payments that settle in a non-USDC coin (e.g. ETH/POL) are now verified against the real on-chain transaction and completed automatically when confirmed — removing false "stuck pending" cases. Anything that can't be confirmed is held for your review. Recommended for all merchants.

= 1.56.33 =
Missed Payment Protection now also catches late payments on cancelled orders (a customer paying after auto-cancel), flagging them for review. Orders are never reopened automatically. Recommended update for any store.

= 1.56.32 =
Cosmetic: ledger views now display "Auto-Routing" instead of the internal gateway name. Display-only, no functional change.

= 1.56.31 =
Important fix: confirmed payments that settle in a non-USDC coin (e.g. ETH) are no longer wrongly marked Failed — they stay in Pending for merchant review with an admin email alert. Recommended for all merchants.

= 1.56.30 =
Adds CSV and Excel export to the VERIFIED Ledger admin page (with filters + Polygonscan URLs for audit). Simplex gateway restored to normal status.

= 1.56.29 =
Ramp Network gateway restored to normal status. Recommended for all merchants.

= 1.56.28 =
WordPress 7.0 compatibility and PHP 8.3 hardening. Recommended for all merchants.

= 1.56.27 =
Minor fix: Auto-Routing gateway icon now displays correctly on sites upgraded from older builds. No functional changes.

= 1.56.26 =
Adds five new standalone gateway options: Klarna, iDEAL, Blockchain.com, Guardarian, and Particle. Each can be enabled independently in WooCommerce → Settings → Payments. Auto-Routing already includes these providers automatically.

= 1.56.23 =
Adds In-Person QR Payments from WooCommerce order screens. Merchants can display a scan-to-pay QR code for unpaid orders using the existing secure Pay Now token flow. Recommended for stores using manual orders, counter payments, phone orders, events, or virtual terminal workflows.

= 1.56.11 =
Minor: adds the same top-of-page warning banner to Simplex and TransFi gateway settings that Ramp already has.

= 1.56.10 =
Ramp Network restored at checkout with a warning note instead of being hidden. Upstream-issue notes added to Simplex and TransFi. Recommended for all merchants.

= 1.56.9 =
Ramp Network is hidden from checkout — the upstream provider deactivated it. Other gateways unaffected. Update recommended so customers don't see the broken Ramp option fall through to auto-routing.

= 1.56.8 =
Ledger accuracy fix: paid events now require a blockchain tx hash, preventing agent commission disputes. Orders without a tx hash are held for manual wallet reconciliation and surfaced in a new admin warning.

= 1.56.7 =
Smart Recovery: backup payment options in recovery emails, large-order guidance, section-based copy controls, and recovery performance tracking. Recommended update for all merchants using Auto Recovery.

= 1.55.10 =
* Added Missed Payment Protection (webhook fallback system)
* Detects on-chain payments if webhook fails and alerts merchant

= 1.54 =
* Automated abandoned checkout recovery system — sends tokenized Pay Now emails to first-time customers who reached the provider but did not complete payment
* Incentive engine — supports fixed discount, percentage discount, or shipping credit on recovery emails, applied before the 4% infrastructure fee
* Recovered revenue tracking — total recovered orders and revenue displayed in gateway settings
* Per-order audit log — recovery email status, suppression reason, gateway used, incentive applied, and final amount shown in WooCommerce order sidebar
* Checkout notices — at-checkout callout on Classic and Blocks checkout explaining redirect flow, KYC, debit card guidance, and privacy
* Admin onboarding modal on first install and What's New banner for returning merchants
* WooCommerce → VERIFIED Support submenu added
* Pricing snapshot stored at recovery email send time to prevent amount mismatch on edited orders

= 1.55.10 =
* Added Missed Payment Protection (webhook fallback system)
* Detects on-chain payments if webhook fails and alerts merchant

= 1.54 =
Major release. Adds automated abandoned checkout recovery with optional discount incentives, recovered revenue tracking, at-checkout flow notices, and admin onboarding. Recommended update for all merchants.

= 1.51 =
Adds Order Payment Request — send Pay Now links from any WooCommerce order for virtual terminal and abandoned checkout recovery. Recommended update for all merchants.
