=== geatio Address Widget ===
Contributors: geatio
Tags: crypto, bitcoin, donations, tip jar, payment
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.1
Stable tag: 0.1.0
License: MIT
License URI: https://opensource.org/licenses/MIT

Display a Geat.io crypto payment address (BTC, ETH, USDT, more) anywhere on your site via a shortcode. Per-visitor, no checkout, no WooCommerce required.

== Description ==

geatio Address Widget gives you a simple shortcode that renders a payment address + QR code, backed by the Geat.io crypto payment processor.

It's built for the use cases the gateway plugins don't cover:

* Tip jars on a content site or creator profile
* Donation pages
* "Send me crypto" landing pages
* Bare crypto receipt without an invoice / amount / order

Each visitor gets their own address (per coin, per network), so you keep accurate per-visitor attribution without any checkout flow. Funds land in your Geat.io dashboard the same way invoice payments do.

= Use case fit =

If you sell products and want crypto at checkout, install **Geat.io for WooCommerce** instead. This plugin is for amount-free, "any incoming payment is welcome" surfaces.

= How it works =

1. Install + activate the plugin.
2. Go to **Settings → geatio Address** and paste your API key + profile UUID from the Geat.io dashboard.
3. Drop the shortcode on any page or post: `[geatio_address coin="BTC"]`
4. For coins available on multiple chains (USDT etc.) include the network: `[geatio_address coin="USDT" network="tron"]`

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install via the WordPress plugin browser.
2. Activate the plugin.
3. Go to **Settings → geatio Address** and configure API key + profile UUID.
4. Add the shortcode to your content.

== Frequently Asked Questions ==

= Does it work without WooCommerce? =

Yes. This plugin has zero WooCommerce dependency. It's pure WordPress.

= What about page caching plugins? =

The plugin sets `DONOTCACHEPAGE` on any page where the shortcode renders, so popular caches (W3 Total Cache, WP Rocket, LiteSpeed Cache) will not pin one visitor's address into HTML served to other visitors. This trades a bit of cache efficiency for accurate per-visitor attribution. If your site relies heavily on full-page caching, place the shortcode on a dedicated page so the rest of your cached pages are unaffected.

= How are visitors distinguished? =

A first-party session cookie (`geatio_addr_session`) carries an opaque UUID. It's not a tracking cookie - it has no PII, never crosses domains, and is used strictly to key the per-visitor address cache. The cookie expires after 30 days.

= What happens if Geat.io is unreachable? =

The shortcode renders a small inline error notice (`Could not generate a payment address right now`) instead of fatal-ing the page. Your other content stays online.

= Multiple coins on one page? =

Place multiple shortcodes - one per coin. v0.1 doesn't bundle a multi-coin tabs UI; this is on the roadmap.

== Changelog ==

= 0.1.0 =
* Initial release.
* `[geatio_address coin="..." network="..."]` shortcode.
* Per-visitor session cookie + per-(coin, network, profile) address caching.
* Settings page under Settings → geatio Address (API key, profile UUID, optional API base URL override).
* DONOTCACHEPAGE emission to play well with full-page caches.
* Friendly inline error markup on misconfiguration or SDK failure.
