=== Brionic Payments for WooCommerce ===
Contributors: brionicsecurity
Tags: woocommerce, crypto, xrp, stellar, solana, sui, base, usdc, payment gateway
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.3.1
License: MIT
License URI: https://opensource.org/licenses/MIT

Accept XRP, RLUSD, XLM, SOL, SUI and USDC in WooCommerce. Customers pay from any wallet or exchange on a hosted, branded page; orders confirm automatically on-chain.

== Description ==

**Beta:** this plugin works but has not yet been proven with real payments. Please report anything unexpected to support@brionicsecurity.com.

Brionic Payments lets your WooCommerce store accept **XRP** and **RLUSD** (XRP Ledger), **XLM** and **USDC** (Stellar), and, in beta, **SOL**, **SUI** and **USDC** on Solana, Sui and Base, on simple flat-monthly plans (no percentage cut) with no chargebacks.

* Works with both the Checkout block (the default since WooCommerce 8.3) and the classic checkout.
* Customers pick a coin at checkout and pay on a hosted, branded page with a QR code and an amount short enough to type, from any wallet or exchange, with no account.
* Only coins your Brionic account has a receiving wallet for are offered.
* Each payment is matched to its order automatically: by XRP destination tag, Stellar memo, Solana Pay reference or Sui Payment Kit nonce, or by its exact amount.
* Orders are marked **paid the moment funds settle on-chain**, via HMAC-signed webhooks that are verified in your store.
* Works with WooCommerce High-Performance Order Storage (HPOS).

This plugin connects to a [Brionic Payments](https://pay.brionicsecurity.com) account. Funds settle to **your own** wallet — the platform is non-custodial.

== Installation ==

1. Upload the `brionic-crypto` folder to `/wp-content/plugins/`, or install the ZIP via **Plugins → Add New → Upload Plugin**.
2. Activate the plugin.
3. Go to **WooCommerce → Settings → Payments → Brionic Payments** and click **Manage**.
4. Enable the method and paste your **Secret API key** (from your Brionic dashboard under *Developers → API keys*).
5. In your Brionic dashboard, add a **webhook endpoint** pointing to:
   `https://your-store.com/wp-json/brionic/v1/webhook`
   subscribe it to all events (or at least `charge.completed`, `charge.underpaid`, `charge.expired`, `charge.paid_late` and `charge.overpaid`), then paste its **signing secret** (`whsec_…`) into the plugin settings.
6. Choose which coins to accept and save.

== Frequently Asked Questions ==

= Do I need a Brionic account? =
Yes. Create one free at https://pay.brionicsecurity.com — it holds your receive wallets and API keys.

= Is it custodial? =
No. Payments settle directly to the wallet you configure in Brionic. The plugin only creates charges and listens for confirmations.

= How are orders confirmed? =
When a customer pays, Brionic detects the on-chain transaction and POSTs a signed `charge.completed` webhook to your store, which marks the order paid. If your host blocks or delays webhooks, the order received page also asks Brionic directly and confirms the order there.

= Can I test before going live? =
Yes. Use an `sk_test_` API key and a test-mode webhook secret.

== Changelog ==

= 1.3.1 =
* An order paid from an address on the U.S. sanctions list is put on hold with a note, instead of waiting silently.

= 1.3.0 =
* USDC on Base (beta), Coinbase's network, offered once your Brionic account has a Base wallet.
* Stores that accepted every coin accept USDC on Base too; anything you chose yourself is left as it is.

= 1.2.0 =
* Works in the WooCommerce Checkout block. Stores using it (the default since WooCommerce 8.3) saw "There are no payment methods available" instead of Brionic.
* SOL, SUI, and USDC on Solana and Sui (beta), next to XRP, RLUSD, XLM and USDC on Stellar.
* A new coin picker with coin and network icons, in both checkouts, styled to sit in your theme.
* Coins your Brionic account has no receiving wallet for are no longer offered, so a shopper never picks one that would fail.
* The order received page says at the top whether the payment has landed, and confirms the order itself if the webhook has not arrived.
* Order notes when a customer pays late or pays twice, with what to refund.
* Stores still using the old default title, description or "all coins" are moved to the new ones; anything you wrote yourself is left as it is.

= 1.1.0 =
* USDC on Stellar is now USDC_XLM, ready for USDC on other chains. Stores that accepted USDC keep accepting it with no change in settings, and checkout pages loaded before the update still work.

= 1.0.0 =
* Initial release: XRP, XLM, USDC, RLUSD checkout, asset picker, signed webhook reconciliation, HPOS support.
