=== Scanandpay Payments via PayID for WooCommerce ===
Contributors: scanandpay
Donate link: https://scanandpay.com.au/
Tags: woocommerce, payment gateway, payid, qr code, australia
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 9.5
Stable tag: 1.0.8
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Accept PayID payments in your WooCommerce store. Customers scan a QR code and pay instantly via their banking app.

== Description ==

**Scan & Pay** enables Australian WooCommerce stores to accept PayID payments directly. Customers simply scan a QR code at checkout and pay with PayID using their mobile banking app - no card details required.

= How It Works =

1. Customer selects "Scan & Pay (PayID)" at checkout
2. A unique QR code is displayed for their order
3. Customer scans the QR code and pays with PayID using their banking app
4. Payment is verified in real-time by Scan & Pay API via Global Payments Oceania
5. Order is automatically marked as paid when payment is confirmed

= Features =

* **Instant PayID Payments** - Real-time payment confirmation via webhooks
* **QR Code Checkout** - Mobile-friendly payment experience
* **WooCommerce Blocks Support** - Works with classic and block-based checkout
* **Secure** - HMAC-signed webhooks, encrypted API communication
* **Fallback Polling** - Automatic status checks if webhooks are delayed

= Requirements =

* WooCommerce 7.0 or higher
* PHP 7.4 or higher
* A Scan & Pay merchant account ([Sign up here](https://id.scanandpay.com.au/))
* Australian PayID configured with your bank

= External Services =

This plugin connects to the **Scan & Pay API** to:

* Create payment sessions when customers checkout
* Generate QR codes for PayID payments
* Receive payment confirmation webhooks via Global Payments Oceania API
* Verify payments in real-time
* Check payment status

**Service Provider:** Scan & Pay by SENAX Enterprises Pty Ltd
**Payment Verification:** Global Payments Oceania API
**Terms of Service:** [https://scanandpay.com.au/terms](https://scanandpay.com.au/terms)
**Privacy Policy:** [https://scanandpay.com.au/privacy](https://scanandpay.com.au/privacy)

Data transmitted to the service includes: order amount, currency, order reference, and merchant credentials. No customer personal data is sent to the external service.

This plugin also uses **QRServer API** (https://goqr.me/) to generate QR code images:

* QR codes are generated when displaying payment information to customers
* Only the payment data string (PayID and amount) is sent to api.qrserver.com
* No personal user data is transmitted to this service

**Service Provider:** QRServer / goQR.me
**Terms of Service:** [https://goqr.me/terms/](https://goqr.me/terms/)
**Privacy Policy:** [https://goqr.me/privacy/](https://goqr.me/privacy/)

== Installation ==

= Video Tutorial =

Watch our complete installation and setup guide:

[youtube https://www.youtube.com/watch?v=ddcoqiNsv6U&vq=hd720]

= Automatic Installation =

1. Log in to your WordPress admin dashboard
2. Go to **Plugins → Add New**
3. Search for "Scan & Pay Gateway"
4. Click **Install Now**, then **Activate**

= Manual Installation =

1. Download the plugin ZIP file
2. Go to **Plugins → Add New → Upload Plugin**
3. Upload the ZIP file and click **Install Now**
4. Activate the plugin

= Configuration =

1. Go to **WooCommerce → Settings → Payments**
2. Click **Scan & Pay** to configure
3. Log in to your [Scan & Pay Merchant Dashboard](https://id.scanandpay.com.au/) and navigate to the **Settings** page to find your credentials
4. Enter your credentials from the settings dashboard:
   * **API Base URL** - Your API endpoint (e.g., https://api.scanandpay.com.au)
   * **Merchant ID** - Your unique merchant identifier
   * **PayID** - Your registered PayID (email or phone)
   * **API Secret** - For authenticating API calls
   * **Webhook Secret** - For verifying payment confirmations
5. Click **Test Connection** to verify setup
6. Enable the gateway and save

== Frequently Asked Questions ==

= Do I need a Scan & Pay merchant account? =

Yes. You need to [register as a merchant](https://id.scanandpay.com.au/) to get your API credentials. This is free to set up.

= What is PayID? =

PayID is an Australian payment system that lets you receive instant bank transfers using an easy-to-remember identifier (like your email or phone number) instead of BSB and account numbers.

= How do I get a PayID? =

Contact your bank to register a PayID linked to your business bank account. Most Australian banks support PayID through their mobile banking apps.

= Is this plugin free? =

The plugin is free. Scan & Pay charges a small transaction fee per payment - see [pricing](https://scanandpay.com.au/pricing) for details.

= Does this work with WooCommerce Blocks checkout? =

Yes! The plugin fully supports both classic checkout and the new WooCommerce Blocks-based checkout.

= What happens if the webhook fails? =

The plugin includes automatic fallback polling that checks payment status every 5 minutes for pending orders.

= Is my data secure? =

Yes. All API communication uses HTTPS encryption. Webhooks are verified using HMAC signatures. No sensitive customer data is stored or transmitted.

== Screenshots ==

1. Payment method selection at checkout
2. QR code payment page
3. Admin settings configuration
4. Order details with payment status

== Changelog ==

= 1.0.8 =
* New: Added installation video tutorial (720p HD) to Installation section
* Enhancement: Added video guide to admin settings page
* Documentation: Updated changelog to remove backend implementation details

= 1.0.7 =
* Security: Enhanced admin interface security and privacy
* Improvement: Cleaner payment method descriptions without technical details
* Documentation: Updated webhook configuration text to reference merchant dashboard
* Fix: Removed HTML entity encoding issues with ampersands in admin display
* Enhancement: Improved admin settings clarity and consistency

= 1.0.6 =
* Compatibility: Declared HPOS (High-Performance Order Storage) support for WooCommerce
* Documentation: Updated API endpoint reference to id.scanandpay.com.au
* Technical: Added FeaturesUtil compatibility declaration for custom_order_tables

= 1.0.5 =
* Performance: Removed 5-second QR code loading delay on payment page
* Improvement: QR code now appears instantly (< 1 second) after checkout
* Technical: QR code loads immediately from cached session data instead of waiting for status poll

= 1.0.4 =
* Added distribution build scripts for cleaner plugin packaging
* Improved development workflow with automated build tools
* Enhanced documentation for plugin distribution and deployment

= 1.0.3 =
* Updated plugin name to "Scanandpay Payments via PayID for WooCommerce" to comply with WordPress.org naming guidelines
* Updated text domain to "scanandpay-payments-via-payid-for-woocommerce"
* Improved plugin naming to clearly distinguish from other plugins and show integration relationship with PayID

= 1.0.2 =
* Updated plugin name to "Scan & Pay PayID Gateway for WooCommerce" for WordPress.org compliance
* Added "Requires Plugins" header for WooCommerce dependency
* Updated text domain to match new plugin slug
* Enhanced external services documentation for QRServer API
* Renamed main plugin file to match directory slug

= 1.0.1 =
* Improved QR code display on payment page
* Added connection test button in admin
* Enhanced error logging

= 1.0.0 =
* Initial release
* PayID payment support via QR codes
* WooCommerce Blocks integration
* Webhook payment confirmations
* Cron fallback for missed webhooks

== Upgrade Notice ==

= 1.0.8 =
Added installation video tutorial for easier setup. Watch the step-by-step guide directly from the Installation tab.

= 1.0.7 =
Security and UI cleanup update. Enhanced admin interface for better security and cleaner professional appearance.

= 1.0.6 =
HPOS compatibility update. Removes WooCommerce incompatibility warning for stores using High-Performance Order Storage.

= 1.0.5 =
Performance improvement: QR code loads 85-95% faster on payment page. Highly recommended update for better customer experience.

= 1.0.4 =
Maintenance update with improved build tooling and distribution workflow.

= 1.0.3 =
WordPress.org naming compliance update. Plugin name updated to meet directory guidelines and clearly show PayID integration.

= 1.0.2 =
WordPress.org compliance update. Includes updated plugin name and slug for official directory listing.

= 1.0.1 =
Recommended update with improved QR code handling and admin tools.

= 1.0.0 =
Initial release. Configure your Scan & Pay credentials to start accepting PayID payments.
