=== Charge Anywhere Payment Gateway for WooCommerce ===
Contributors: Charge Anywhere
Tags: woocommerce, charge anywhere, payment gateway, credit cards, ach payments, woocommerce blocks, react, PCI compliant
Requires at least: 5.0
Tested up to: 6.6
Requires PHP: 7.4
Stable tag: 4.2
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Charge Anywhere payment gateway integration for WooCommerce to accept credit cards directly on WordPress e-commerce websites.

== Description ==

[Charge Anywhere](https://www.chargeanywhere.com/) Payment Gateway for [WooCommerce](https://woocommerce.com/) provides a secure, modern payment solution that accepts credit cards and ACH payments directly on your WordPress e-commerce website.

This plugin features a completely modern architecture with React-based payment forms and full compatibility with both traditional WooCommerce checkout and the new WooCommerce Blocks checkout experience.

#### Key Features
* **Modern React Interface**: Built with React 18 for a smooth, responsive payment experience
* **WooCommerce Blocks Support**: Full compatibility with the new block-based checkout
* **Traditional Checkout Support**: Works seamlessly with classic WooCommerce checkout
* **Secure Processing**: PCI-compliant payment processing without storing sensitive data
* **Easy Installation**: Simple setup with minimal configuration required
* **Refund Management**: Process full or partial refunds directly from WordPress dashboard
* **Authorize & Capture**: Option to authorize now and capture payments later
* **Gateway Receipts**: Send receipts directly from your Charge Anywhere merchant account
* **Credit & ACH Support**: Accept both credit cards and ACH payments
* **Service Fees**: Configurable convenience charges and service fees
* **No PCI Compliance Required**: Secure tokenization handles all sensitive data

#### Payment Methods Supported
* Credit Cards (Visa, MasterCard, American Express, Discover)
* ACH/Bank Transfer payments
* Configurable convenience fees for different payment types

#### Requirements
* WordPress 5.0 or higher
* WooCommerce 3.5 or higher
* PHP 7.4 or higher
* SSL Certificate (required for secure payment processing)
* Active [Charge Anywhere](https://www.chargeanywhere.com/) merchant account
* Request sandbox account [here](https://corporate.chargeanywhere.com/contact-us/?Reason=SIPBasic) for testing

== Installation ==

### Automatic Installation (Recommended)
1. Go to WordPress Admin → Plugins → Add New
2. Search for "Charge Anywhere Payment Gateway"
3. Click "Install Now" and then "Activate"
4. Configure the plugin in WooCommerce → Settings → Payments

### Manual Installation
1. Download the plugin zip file
2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
3. Choose the zip file and click "Install Now"
4. Activate the plugin after installation
5. Configure in WooCommerce → Settings → Payments

### FTP Installation
1. Extract the plugin files from the zip
2. Upload the entire plugin folder to `/wp-content/plugins/`
3. Go to WordPress Admin → Plugins and activate the plugin
4. Configure in WooCommerce → Settings → Payments

== Configuration ==

After installation, configure the plugin:

1. **Navigate to Payment Settings**
   - Go to WooCommerce → Settings → Payments
   - Click on "Charge Anywhere" to open settings

2. **Enter API Credentials**
   - Add your Charge Anywhere Login ID
   - Add your Transaction Key
   - Select Sandbox or Live mode

3. **Configure Payment Options**
   - Enable/disable credit card payments
   - Enable/disable ACH payments
   - Set payment method titles and descriptions
   - Configure service fees if needed

4. **Test the Integration**
   - Use sandbox mode for testing
   - Process test transactions to verify setup
   - Switch to live mode when ready for production

== Frequently Asked Questions ==

= Do I need to be PCI Compliant to use this plugin? =
No. This plugin uses secure tokenization and does not store or transmit sensitive card data through your website. All payment data is handled directly by Charge Anywhere, a Level 1 PCI compliant payment processor.

= Is SSL required? =
Yes, SSL is required for secure payment processing. Most hosting providers offer free SSL certificates.

= Does this work with WooCommerce Blocks? =
Yes! This plugin fully supports both traditional WooCommerce checkout and the new WooCommerce Blocks checkout experience.

= Can I process refunds from WordPress? =
Yes, you can process full or partial refunds directly from your WordPress dashboard without logging into your Charge Anywhere account.

= What payment methods are supported? =
The plugin supports credit cards (Visa, MasterCard, American Express, Discover) and ACH/bank transfer payments.

= Can I add service fees or convenience charges? =
Yes, the plugin supports configurable service fees and convenience charges for different payment methods.

= How do I test the plugin before going live? =
Use the sandbox mode with test credentials provided by Charge Anywhere. You can process test transactions without real money changing hands.

= What if I need support? =
Contact Charge Anywhere support through their website or your account representative for assistance with setup and configuration.

== Screenshots ==

1. Plugin configuration screen in WooCommerce settings
2. Modern payment form on checkout page
3. WooCommerce Blocks checkout integration
4. Refund processing from WordPress dashboard

== Changelog ==

= 4.2 =
* Complete refund system overhaul with enhanced fee handling
* Implemented pro-rata fee refund calculations for partial refunds
* Added double-refund prevention and race condition protection
* Enhanced refund validation with item-level tracking
* Improved admin UI with real-time refund amount validation
* Added settings validation and default value handling for upgrades
* Tax-aware fee refund processing for accurate calculations
* Better error handling and logging throughout refund process

= 4.1 =
* Enhanced order completion workflow for successful transactions
* Improved transaction status handling
* Updated payment processing reliability
* Minor bug fixes and improvements

= 4.0 =
* Complete rewrite with modern React architecture
* Added full WooCommerce Blocks checkout support
* Improved payment form UI/UX with React components
* Enhanced security with updated tokenization
* Unified build system for better performance
* Improved mobile responsiveness
* Added comprehensive error handling
* Updated for WordPress 6.6 compatibility
= 3.3 =
* Added compatibility with WooCommerce High-Performance Order Storage (HPOS)

= 3.2 =
* Discount coupon bug fix
* Spaces in credit card entry fixed

= 3.1 =
* Added Amex support

= 3.0 =
* Updated payment flow

= 2.0 =
* Added support to WooCommerce Blocks

= 1.13 =
* Removed additional fees sort. Convenience Fee will always come after Service Fee

= 1.12 =
* Added conditions for transaction capture & return, service fee label made dynamic

= 1.11 =
* Fixed refund service fee issue

= 1.10 =
* Fixed issues in tax & shipping amount at refund stage

= 1.9 =
* Fixed some validation issues

= 1.8 =
* Enabled Request & Response log

= 1.7 =
* Enabled CREDIT & ACH service and convenience charges

= 1.6 =
* Charge Anywhere live URL changed, text field labels updated

= 1.5 =
* Additional data sanitization, escaping, and validation

= 1.4 =
* Added validation for data sanitization, escaping, and validation

= 1.2 =
* Plugin text improvements

= 1.1 =
* Added email customer & email merchant options, fixed spelling errors

= 1.0 =
* Initial release

== Upgrade Notice ==

= 4.2 =
Major refund system improvements with enhanced fee handling and validation. Existing settings are preserved. Recommended for all users processing refunds with service fees.


For technical support and setup assistance:
* Visit [Charge Anywhere Support](https://www.chargeanywhere.com/support)
* Contact your Charge Anywhere account representative
* Review the plugin documentation in WooCommerce → Settings → Payments → Charge Anywhere

**Important**: You must have a live Charge Anywhere merchant account before processing real transactions. Sandbox credentials cannot be used for live payments.