=== Thenameda Form Payments with Authorize.Net for WPForms ===

Contributors: thenameda123
Tags: authorize.net, wpforms, payments, credit card, accept.js
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.2
Requires Plugins: wpforms-lite
Stable tag: 1.0.0
License: GPLv3 or later
License URI: https://spdx.org/licenses/GPL-3.0-or-later.html

Collect Authorize.Net payments with WPForms using secure Accept.js tokenization, per-form settings, transactions, refunds, and CSV export.

== Description ==

Thenameda Form Payments with Authorize.Net for WPForms lets you accept credit card payments directly on WPForms.

Unlike older integrations that post raw card data to WordPress, this addon uses Authorize.Net Accept.js so card details are tokenized in the browser. Only a one-time payment nonce reaches your server.

= Features =

* Secure Accept.js card tokenization (card data never touches WordPress)
* Per-form Authorize.Net settings in the WPForms builder
* Sandbox and Live API credentials (Login ID, Transaction Key, Public Client Key)
* Charge amount from WPForms payment total, a mapped field, or a fixed amount
* Optional quantity, email, description, and billing address field mapping
* Modern on-form payment UI with card formatting and status messaging
* Transaction records in wp-admin with status badges
* Refund / void from the transaction detail screen
* CSV export of recent transactions
* `[tfpa-authorize-details]` shortcode for thank-you pages
* Works with WPForms Lite and Pro

= How it works =

1. Enable Authorize.Net on a form under Settings → Authorize.Net
2. Enter Sandbox or Live credentials including the Public Client Key
3. Map amount / email fields (or use WPForms payment fields)
4. Publish the form — card fields appear automatically before the submit button
5. On submit, Accept.js tokenizes the card and Authorize.Net captures the payment
6. Successful payments are stored under Authorize.Net → All Transactions

= Shortcode =

Use `[tfpa-authorize-details]` on your success page to show the transaction ID, amount, and status after payment.

== External services ==

This plugin connects to Authorize.Net to process credit card payments. Authorize.Net is required for payment tokenization and charging.

= Authorize.Net Accept.js =

* What it is used for: securely tokenizes card details in the shopper's browser before payment.
* What data is sent and when: card number, expiry, CVV, and cardholder name are sent from the browser to Authorize.Net when the form is submitted (before the WordPress form request completes). Raw card data is not sent to your WordPress server.
* Service provider: Authorize.Net (Visa / CyberSource).
* Terms of service: https://www.authorize.net/about-us/terms.html
* Privacy policy: https://www.authorize.net/about-us/privacy/

= Authorize.Net Payment API =

* What it is used for: creates (charges), voids, and refunds transactions for form submissions and admin refund actions.
* What data is sent and when:
  * On successful form tokenization: opaque payment nonce, payment amount, currency, optional customer email, optional billing address mapped from form fields, invoice/description, and customer IP.
  * On admin refund/void: original transaction ID, amount, currency, and card last-4 when required by Authorize.Net.
* Service provider: Authorize.Net (Visa / CyberSource).
* Terms of service: https://www.authorize.net/about-us/terms.html
* Privacy policy: https://www.authorize.net/about-us/privacy/

This plugin does not track visitors for analytics and does not send data to any service other than Authorize.Net for payment processing.

== Installation ==

1. Install and activate WPForms Lite (or WPForms Pro).
2. Upload this plugin folder to `/wp-content/plugins/` or install the ZIP via Plugins → Add New → Upload.
3. Activate **Thenameda Form Payments with Authorize.Net for WPForms**.
4. Edit a WPForms form → Settings → Authorize.Net and configure your credentials.

== Frequently Asked Questions ==

= Do I need a Public Client Key? =

Yes. Accept.js requires a Public Client Key from Authorize.Net → Account → Security Settings → Manage Public Client Key.

= Does card data touch my WordPress server? =

No. Card number and CVV are sent to Authorize.Net via Accept.js. WordPress only receives opaque payment data.

= Can I refund payments? =

Yes. Open a transaction under Authorize.Net and use Refund / Void Payment. Unsettled transactions are voided; settled ones are refunded.

== Changelog ==

= 1.0.0 =
* Initial release for WPForms with Accept.js tokenization, transactions, refunds, and CSV export.
