=== KristinaPay Gateway for Authorize.Net ===
Contributors: kristina863
Donate link: https://paypal.me/KristinaAnderson178
Tags: authorize.net, woocommerce, payment-gateway, authnet, merchant-account
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 1.1.1
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 10.6
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A clean Authorize.net gateway for WooCommerce with a persistent transaction log. Upgrade to Pro for vaulting and auth-only checkout.

== Description ==

**KristinaPay Gateway** connects your WooCommerce store to Authorize.net so you can accept credit card payments. The free version charges the customer's card immediately at checkout, just like any standard payment gateway — with one advantage most free plugins don't offer: a persistent, always-on transaction log so you can see exactly what happened on every checkout attempt.

If you sell custom, made-to-order, or high-value products where you don't want to charge the customer until you're ready to ship, see the Pro version below — it adds a verify-now, charge-later workflow with a secure card vault.

= Core Features (Free) =

* **Full Authorize.net gateway** — registers as a WooCommerce payment method, supports all standard card types
* **Immediate charge at checkout** — customer's card is charged right away, standard e-commerce flow
* **Persistent transaction log** — every checkout event and API response logged and viewable in WooCommerce admin, with one-click JSON download. Makes it far easier to diagnose declined transactions or get support from Authorize.net.
* **Sandbox / live toggle** — full sandbox support for testing
* **HPOS compatible** — fully supports WooCommerce High Performance Order Storage
* **Blocks compatible** — works with the WooCommerce checkout block

= Pro Features =

* **CIM card vault** — stores cards securely in Authorize.net's Customer Information Manager, never on your server
* **Auth-only checkout** — validate the card with a $1 authorization at checkout; no charge until you decide to capture
* **Manual capture button** — one-click capture from the order admin sidebar, whenever you're ready to ship
* **Automatic void on cancel** — cancelling an on-hold order automatically voids the authorization in Authorize.net
* **Refund support** — process refunds directly from the WooCommerce order screen
* **WooCommerce Subscriptions support** — automatic recurring payments charged to the stored CIM profile on each billing date
* **Multi-card vault** — customers can save multiple cards and choose which to use at checkout
* **My Account card management** — customers can view and delete saved cards from their account
* **Priority support** — direct email support with 24-hour response

[Upgrade to Pro →](https://kristina504.gumroad.com/l/obghxl)

= Perfect For =

* Any WooCommerce store that needs a reliable Authorize.net gateway with real diagnostic logging
* Custom furniture, art, clothing, or jewelry makers wanting the Pro capture-later workflow
* Print-on-demand and made-to-order shops
* Merchants running recurring billing via WooCommerce Subscriptions (Pro)

= Requirements =

* WordPress 6.0+
* WooCommerce 7.0+
* PHP 7.4+
* An Authorize.net merchant account (API Login ID, Transaction Key, and Public Client Key)
* SSL certificate on your checkout page

= Getting Your Authorize.net Credentials =

1. Log into your Authorize.net account
2. **API Login ID & Transaction Key** — Account → Security Settings → API Credentials & Keys
3. **Public Client Key** — Account → Security Settings → Manage Public Client Key

The Public Client Key is required for the Accept.js tokenization that keeps card data off your server.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install via the WordPress Plugin Directory
2. Activate the plugin through the Plugins menu
3. Go to WooCommerce → Settings → Payments → Authorize.net
4. Enter your API Login ID, Transaction Key, and Public Client Key
5. Enable Sandbox Mode for testing, disable for live transactions
6. Enable the gateway and save

== Frequently Asked Questions ==

= How do I get support? =

Email kristina.anderson504@gmail.com, or use the Support tab on this plugin's WordPress.org page.

= Does this plugin store card data on my server? =

No. Card data is never stored on your WordPress site. The Accept.js library tokenizes the card in the customer's browser and sends a one-time nonce directly to Authorize.net.

= Does the free version support delayed capture / charge-when-you-ship? =

No — the free version charges immediately at checkout, the same as most payment gateways. The verify-now, charge-later workflow with card vaulting is a Pro feature.

= Can I see what happened on a failed or declined transaction? =

Yes, even in the free version. Go to WooCommerce → Auth.net Logs to see every checkout event and API response, with a one-click JSON download you can send to Authorize.net support if needed.

= Does this work with WooCommerce Subscriptions? =

Subscription support is available in the Pro version. Each renewal billing date automatically charges the stored CIM profile — no customer action required.

= Does this work with HPOS (High Performance Order Storage)? =

Yes. The plugin declares full HPOS compatibility and uses the WooCommerce order API throughout.

= I see a "Public Client Key required" notice. Where do I find it? =

Log into Authorize.net → Account → Security Settings → Manage Public Client Key. This is a separate key from your API Login ID and Transaction Key. It is required for Accept.js to tokenize cards in the browser.

= Can I use this in sandbox/test mode? =

Yes. Enable Sandbox Mode in the gateway settings. Use test card 4111111111111111 with any future expiry and any 3-digit CVV. See the [Authorize.net Testing Guide](https://developer.authorize.net/hello_world/testing_guide/) for more test card numbers.

= Does this work alongside other payment gateways? =

Yes. WooCommerce supports multiple active payment gateways. This plugin registers as the `authnet` payment method and does not conflict with PayPal, Stripe, or other gateways.

== Screenshots ==

1. Checkout payment form with Authorize.net card fields
2. Authorize.net Checkout Logs admin page with Download JSON button
3. Gateway settings page

== Privacy ==

This plugin logs checkout events and API responses (order data, IP addresses, transaction status) to your WordPress database for debugging purposes. Logs are stored for 30 days and are visible only to site administrators via WooCommerce → Auth.net Logs. This plugin does not store credit card numbers; card data is tokenized directly in the customer's browser via Authorize.net's Accept.js and sent to Authorize.net, not to your server. Payment processing itself is handled by Authorize.net, a service of CyberSource Corporation (a Visa Inc. company) — see their privacy policy at https://www.authorize.net/company/privacy/ for how they handle payment data.

== External services ==

This plugin connects to the Authorize.net payment API to process credit card transactions. This is required for the plugin's core function — accepting credit card payments through WooCommerce.

Card details are tokenized in the customer's browser via Authorize.net's Accept.js library before submission, so raw card numbers never pass through your server. What is sent from your server to Authorize.net's API: the payment token/nonce generated by Accept.js, the order total, and order metadata needed to process the transaction (such as an invoice/order number). This happens whenever a customer completes checkout using this gateway.

This service is provided by Authorize.net, a service of CyberSource Corporation (a Visa Inc. company): [Terms of Use](https://www.authorize.net/about-us/terms.html), [Privacy Policy](https://www.authorize.net/company/privacy/).

== Trademark Notice ==

Authorize.net is a registered trademark of CyberSource Corporation, a Visa Inc. company. WooCommerce is a trademark of Automattic Inc. This plugin is an independent, third-party integration and is not affiliated with, sponsored by, or endorsed by CyberSource, Visa Inc., or Automattic Inc.

== Changelog ==

= 1.1.1 =
* Initial release.
