WPForms Authorize.Net - WordPress Plugin
WPForms Authorize.Net is a payment collection plugin designed specifically for WordPress websites. This powerful plugin seamlessly integrates with WPForms, one of the leading form builder plugins, to provide a secure and efficient solution for collecting payments online. With this plugin, website owners can easily create payment forms and accept payments through Authorize.Net, a widely trusted payment gateway.

Plugin Features
By installing and activating this plugin, website owners unlock a range of features that streamline the payment collection process. This plugin allows users to create customized payment forms without the need for coding knowledge. It provides a user-friendly interface that makes it easy to add fields, configure payment options, and customize the appearance of the form to match the websites branding.
One of the key features of this plugin is its integration with Authorize.Net. Authorize.Net is a leading payment gateway known for its security and reliability. With this integration, the plugin ensures that all payment transactions are processed securely and efficiently. It supports various payment methods, including credit cards and e-checks, allowing customers to choose their preferred payment option.
This plugin also offers advanced features that enhance the payment collection process. It provides options for setting up recurring payments, making it ideal for subscription-based services. Additionally, it allows users to set up conditional logic, which enables them to show or hide certain form fields based on user inputs. This helps to create dynamic and personalized forms tailored to specific customer needs.
Furthermore, this plugin provides detailed payment reports and analytics, giving website owners valuable insights into their payment activities. It allows users to track their earnings, view transaction details, and generate customized reports for better analysis and decision-making.
The WPForms Authorize.Net plugin is designed to be user-friendly and accessible to users of all levels of experience. Its intuitive interface and comprehensive documentation make it easy to install, set up, and customize the payment forms according to specific requirements. The plugin also offers excellent customer support, with a dedicated team ready to assist users whenever needed.
In conclusion, this plugin is a valuable tool for WordPress website owners who need a seamless solution for payment collection. With its integration with Authorize.Net, easy-to-use interface, and advanced features, this plugin provides a secure and efficient way to accept payments online. By utilizing this plugin, website owners can enhance their customer experience, streamline their payment processes, and ultimately grow their online business.
Specifications:
| Release date: | 20-06-2022 | |
| Last updated: | 19-08-2024 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | e-Commerce for WPForms | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | WPForms | |
| Rating: | ||
Share with your friends!
A Practical Guide to Setting Up WPForms Authorize.Net for WordPress Payment Forms
WPForms Authorize.Net is not just about dropping a card field into a form. In a reliable production setup, it connects your WPForms form, Authorize.Net account, payment fields, notifications, form entries, and transaction verification into one working chain. In this guide, we will walk through how to prepare your site, connect your keys, build a payment form, configure one-time payments and subscriptions, test the result, and determine where to look when something goes wrong.
This guide is intended for site owners, WordPress administrators, and webmasters who already know why they need Authorize.Net but want to implement payments properly. It does not cover buying the product itself or bypassing licensing. The focus here is on configuring a plugin you already have access to, safely testing a payment form, and working through a practical scenario you can adapt for service bookings, event registration, donations, or invoice payments.
The core idea is simple: a payment form should be verifiable. The user sees clear fields and the final amount, the site owner receives a form entry and payment confirmation, and the administrator can tell the difference between a key mismatch, a missing required field, or an issue caused by test mode. If that chain is not in place, even a correctly installed addon can produce unpredictable results.
Where This Integration Is Actually Useful
WPForms Authorize.Net works best in scenarios where payment is part of a form, not a full ecommerce store. That distinction matters. If you need to accept payment for a consultation, event request, one-time invoice, donation, membership fee, or a small set of services, a WPForms form is often more practical than a heavy storefront setup. The user answers questions, chooses a payment option, enters their card details, and submits everything in a single flow.
According to the official WPForms documentation, the addon supports both one-time payments and recurring payments. That means you can use it not only for one-off sales, but also for recurring contributions or subscriptions, if that fits your business model and is supported by your Authorize.Net account settings. At the same time, the form remains a form: you can include name, email, address, service selection, additional questions, consent checkboxes, and hidden fields.
The best use case for WPForms Authorize.Net is a payment form with context. For example, a paid consultation request might include the topic of the request, preferred time, amount, contact details, and payment. In that kind of process, the value is not just the money, but also the information your team receives along with the payment.
When the Plugin May Be Unnecessary
If your use case looks more like a traditional store with a cart, inventory, shipping, coupons, taxes, customer accounts, and order statuses, it makes more sense to consider WooCommerce with a dedicated Authorize.Net gateway for WooCommerce. WPForms should not replace a store where you need stock tracking, complex logistics, and a full order history.
If you want to offer multiple payment gateways, Apple Pay, saved cards, flexible subscription logic, or multi-step management of customer payments, compare WPForms with alternatives before you commit. WPForms is convenient for a simple payment form, but a payment form and a store checkout solve different problems.
Who This Format Works For
- A service-based website that needs to collect payment along with a request and contact details.
- A nonprofit project that needs a donation form with one-time and recurring options.
- An educational project collecting payment for course or event registration.
- A small business that already uses Authorize.Net and does not want to move payments to a different service.
- A WordPress administrator who needs to keep request context in WPForms Entries and see payments in the WPForms Payments section.
What to Check Before Installing and Connecting Payments
A payment integration should not start with the card field. It should start by verifying the prerequisites. WPForms documentation states that Authorize.Net requires an Elite license level, an installed copy of WPForms, and an active Authorize.Net addon. For live payments, the form page must also use SSL, which means a working HTTPS connection. Without that, you will not have a proper payment page and you create unnecessary risk for the user.
Before setup, check four groups of conditions: WordPress access, Authorize.Net access, the site's technical readiness, and the form scenario itself. These may sound obvious, but they are exactly what usually saves hours of troubleshooting.
Access and Roles
To configure the integration, you need WordPress administrator permissions or a role that can manage plugins and WPForms settings. In Authorize.Net, you need access to the section where you can retrieve the API Login ID and Transaction Key. These values are not the same as the login for the merchant account. They are used to connect the site to the payment gateway and should be handled carefully.
Do not send your keys in chat, share them with a contractor unless necessary, or paste them into a draft article. The API Login ID and Transaction Key are used to authenticate payment requests. If a key is compromised, generate a new Transaction Key and review every connected site.
Test Mode and Live Mode
Authorize.Net separates its sandbox and live environments. You need separate test keys for testing and live keys for real payments. Mixing them is a common cause of connection errors. In WPForms, testing is enabled with Test Mode, which then reveals the Test API Login ID and Test Transaction Key fields. Once testing is complete, you need to disable that mode and save your live settings.
Do not ask a client to make a real payment "just to test it" before the sandbox workflow has been completed. Start with the sandbox, then verify the entry in WPForms, then verify the transaction in Authorize.Net, and only after that move the live form to a public page.
The Minimum Form Setup
For Authorize.Net in WPForms, you need at minimum a name field, an email field, one payment field with an amount, and the Authorize.Net field for card details. A Total field is not technically required for payment processing itself, but in most cases it is very useful because it shows the final amount and reduces the chance of payment disputes.
If your Authorize.Net payment form settings require additional data, such as an address or phone number, those fields must be present in the WPForms form, marked as required, and correctly mapped. Otherwise, the user may hit an error only after filling out the entire form.
Connecting WPForms to Authorize.Net: Keys, Currency, and Mode
After installing the addon, the main path starts in the WordPress admin area: WPForms -> Settings -> Payments. This is where you choose the currency and fill in the Authorize.Net section. It is worth slowing down here: global payment settings affect your forms, and payments in WPForms are displayed based on the selected currency.
How to Retrieve the Keys Without Confusion
In the Authorize.Net Merchant Interface, the keys are usually located under Account or Settings, then API Credentials & Keys. The API Login ID can be copied from that section. The Transaction Key can be generated again if the current key is unknown or needs to be replaced. When you generate a new key, Authorize.Net may require PIN confirmation.
The API Login ID and Transaction Key do not replace your Authorize.Net administrator password. They are technical gateway credentials. The site uses them to submit transactions, not a person to log in to the account.
What to Enter in WPForms
In WPForms, paste the API Login ID and Transaction Key into the matching fields in the Authorize.Net section and click Save Settings. If you are configuring testing, enable Test Mode first and fill in the test fields. If you are setting up live payments, make sure test mode is off and the keys come from the live account.
After saving, check the WPForms message at the top of the settings page. If the keys are not accepted, do not move on to the form yet. Fix the global connection first. A good practice is to keep a short technical checklist: where the key came from, which mode is enabled, which currency is selected, and on which page the form will be published.
Currency and Future Payment Reporting
In WPForms, payments are displayed in the current settings currency. If you change the currency later, older payments in a different currency may no longer appear the way you expect in the payment section. That is why the currency should be selected before the form is published, not after the first transactions have already gone through. If the site works with multiple currencies, confirm in advance whether that workflow is supported by both Authorize.Net and WPForms.
Building the Form: Fields, Amount, and Customer Data
Once the global connection is in place, open the form in the WPForms builder. This is where the practical work begins. You are not simply adding a card field - you are building a form that makes the amount clear to the user and sends the data Authorize.Net needs.
Required Elements of a Payment Form
- Name field. Used for contact purposes and can be passed to Authorize.Net as the customer name.
- Email field. Needed for user communication, notifications, and payment receipts.
-
Payment field with an amount. This can be
Single Item,Multiple Items,Checkbox Items, orDropdown Items. -
Authorize.Netfield. This collects card details in the form and links submission to the payment gateway. -
Totalfield. Not always technically required, but very useful for showing the final amount clearly.
If the form collects an address, phone number, or invoice number, add those fields before you configure payments. That makes it easier to map the data in the Payments -> Authorize.Net section inside the form builder.
Enabling Payments Inside a Specific Form
The global connection does not automatically mean every form can accept payments. In the specific form, open the Payments tab, choose Authorize.Net, and enable Enable Authorize.Net payments. Then configure the payment description, receipt, customer name, and address if your workflow requires them.
The payment description should be short and recognizable. It helps the user understand the charge, especially if the website name differs from the company's legal name. Do not use internal codes that only an administrator would understand.
Sending Receipts and Notifications
In the payment settings, you can choose the email field for the Authorize.Net Payment Receipt. This is useful when the user needs a direct payment record. Configure WPForms notifications separately. For a payment form, it is especially important that the internal team notification does not look like payment confirmation if the payment has not actually gone through yet.
WPForms lets you send a notification only for completed Authorize.Net payments. Use that if your team should receive an email only after a successful payment. This helps you avoid the situation where a request is already in a manager's inbox even though the payment was declined or never completed.
One-Time Payment, Subscription, and Conditional Logic in a Single Form
One of the addon's strongest features is that it can handle not only one-time payments, but recurring subscriptions as well. That is useful for donations, memberships, clubs, service packages, and ongoing support payments. But subscriptions should not be enabled mechanically: the user needs to understand that they are opting into recurring billing, and the form needs to send the right fields.
When a One-Time Payment Is Enough
A one-time payment works well for a fixed service, a consultation booking, request payment, event registration, or a donation without auto-renewal. In that case, configure the payment field, description, receipt, and any required mapping for name or address.
For one-time payments, amount verification is especially important. The user should be able to see why the final total is exactly what it is. If the form offers multiple options, include the Total field and make sure the total updates immediately when the selection changes.
How Subscriptions Work
In Payments -> Authorize.Net, enable Enable recurring subscription payments. This will reveal the plan settings: plan name, recurring interval, and customer data mapping. According to WPForms documentation, the first payment is processed immediately, and future payments are handled according to the selected schedule.
The plan name should not be random. It may appear in payment-related context, so it is better to use something clear like "Monthly support plan" in the interface, and explain it in plain language on the public form as a monthly support package.
Conditional Logic for Payment Type Selection
If the user needs to choose between a one-time payment and a subscription, add a selection field such as Multiple Choice or Dropdown. Then enable conditional logic in the appropriate place: either for overall payment processing or inside the subscription settings block. In the official example, the rule effectively means: process the payment as recurring if the user selected auto-renewal.
Do not enable conditional logic in two different places without a clear plan. WPForms specifically warns that you need to enable the correct conditional logic toggle. If the rule is enabled in the wrong place, the form may behave differently from what the administrator expects.
Quick Rule Check
- Selecting "one-time payment" should not create a subscription.
- Selecting "recurring payment" should display a clear explanation of the condition.
- Test payments should show the correct operation type.
- The team notification should arrive only after a successful payment if you enabled that logic.
Practical Example: A Paid Consultation Request
Let us look at a real-world scenario: a website accepts payment for an initial consultation. The client chooses a format, leaves contact details, describes the issue, and pays for the request through Authorize.Net. The team receives an email only after successful payment, and the administrator can verify the transaction in WPForms Payments.
Scenario Goal
The goal is to create a form where the user sees the consultation cost, enters contact details, pays by card, and receives confirmation. The site owner should be able to see the form entry, payment status, and the information needed for follow-up.
Preparation
- WPForms and the Authorize.Net addon are installed and activated.
- Test keys have been entered in
WPForms->Settings->Payments, andTest Modeis enabled. - The page where the form will appear loads over HTTPS.
- The Authorize.Net sandbox account has access to view test transactions.
Setup Steps
- Create a new form in WPForms or use the billing/order form template as a starting point.
- Add the
Name,Email, andPhonefields, a text field labeled "Consultation topic," and a field to choose the consultation format. - Add a
Single ItemorDropdown Itemspayment field with clear pricing options. - Add the
Totalfield so the user can see the final amount before submitting. - Add the
Authorize.Netfield near the end of the form, after the amount and before the submit button. - Open
Payments->Authorize.Netand enableEnable Authorize.Net payments. - Select the email field for the receipt, the customer name field, and the address field if your Authorize.Net account requires an address.
- In
Settings->Notifications, enable internal notifications only for completed Authorize.Net payments if the team should not receive unpaid requests. - Save the form, open the preview, and run a test submission.
What You Should See
The user sees a form with the amount, enters card details, submits the request, and gets a clear confirmation. In WPForms, both a form entry and a payment appear. In the Authorize.Net payment section, the successful operation appears as processed. In the Authorize.Net sandbox, you should see the matching test transaction.
A Detail That Often Causes Problems
If Authorize.Net requires a field that is missing from the form or left unfilled, the payment may fail. That is why after the first unsuccessful test submission, you should not change every setting at once. First check the list of required fields in Authorize.Net, then confirm those fields exist and are required in WPForms, and then verify the mapping in Payments -> Authorize.Net.
Verifying the Result Before Publishing the Form
Checking a payment form has several layers. It is not enough to see that the form submitted. You need to confirm that the payment gateway accepted the transaction, WPForms recorded the payment, notifications triggered at the right moment, and the user saw a clear message.
Testing in WPForms
Enable Test Mode, fill in the test keys, and run a test payment. Then go to WPForms -> Payments and enable Test Data. You should see the test payments there. If a payment does not appear, verify that the form was actually submitted in test mode and that you are looking at the correct date range.
Testing in Authorize.Net
In the Authorize.Net sandbox, check the list of recent operations, for example through unsettled transactions. Compare the amount, payment type, and email address. If the transaction appears in WPForms but cannot be found in Authorize.Net, make sure you are not viewing a different account or the live environment instead of the sandbox.
Moving to Live Mode
After successful testing, disable Test Mode in WPForms, paste in the live keys, save the settings, and check the form page one more time without making a real payment. Confirm that the page loads over HTTPS, the card field appears correctly, the amount is accurate, and the form is not being cached in a way that breaks payment scripts.
Checking the Actual Page Where the Form Will Be Published
Do not test only the preview inside the builder. Check the real WordPress page where users will actually see the form. The preview is useful for an initial field check, but the public page may load different theme styles, script optimization, builder blocks, lazy loading, and caching. That matters for a payment form: the card field should load consistently, the submit button should not be covered by sticky elements, and error messages should remain visible instead of forcing the user to scroll to unexpected places.
If the site uses caching, minification, or deferred JavaScript loading, test again after clearing the cache and while viewing the page as a normal visitor, not only as an administrator. If problems appear, do not immediately disable every plugin. First test the page without script combining, then exclude the specific form page from aggressive optimization if your cache plugin supports that. A payment form needs to be more stable than the rest of the page's visual optimization.
Post-Launch Routine
After publishing, assign someone to review the first payments daily. During the first few days, it is helpful to compare three places: the form entry, the payment in WPForms Payments, and the transaction in Authorize.Net. If the team receives notifications, the email should clearly show what was paid for, which email address the user provided, and where to open the entry. That simple routine helps prevent situations where the form technically works but the team cannot tell which payment belongs to which request.
Before publishing, check more than just the form itself. What does the user see after payment? What email does the team receive? Where will the administrator see the payment? Who handles refunds and disputed transactions?
Usability, Notifications, and Lightweight Safe Styling
A payment form should look calm and predictable. The user should not have to guess which amount will be charged, which fields are required, or why an error appears after submission. WPForms includes form styling options, and the Authorize.Net payment field documentation lists CSS selectors you can use for light visual adjustments.
What Is Best Configured Without Code
Start with WPForms' visual settings: field size, borders, colors, container style, labels, and the submit button. That is safer than jumping straight into custom CSS. If the form is embedded through the block editor or Elementor, check whether styles are being overridden at the embed level.
When CSS Makes Sense
CSS is appropriate if the Authorize.Net field looks visually out of place inside the form - for example, the label is too small, the card field is too narrow, spacing is off, or the error contrast is weak. Below is a small example that does not interfere with payment processing or alter the scripts. You can add it in Appearance -> Customize -> Additional CSS or in a safe CSS area provided by your theme.
.wpforms-form .wpforms-field.wpforms-field-authorize_net {
padding: 14px 0;
}
.wpforms-form .wpforms-field.wpforms-field-authorize_net .wpforms-field-label {
font-size: 16px;
font-weight: 700;
margin-bottom: 6px;
}
.wpforms-form .wpforms-field.wpforms-field-authorize_net .wpforms-field-authorize_net-cardnumber,
.wpforms-form .wpforms-field.wpforms-field-authorize_net .wpforms-field-authorize_net-code .wpforms-field-authorize_net-cardcvc {
min-height: 42px;
border: 1px solid #b8c2cc;
border-radius: 4px;
padding: 8px 10px;
}
After adding the CSS, open the form on the public site and check both desktop and mobile. If the card field looks worse, remove the snippet entirely. Do not modify the payment field JavaScript or try to intercept form submission unless that is specifically documented by the developer.
Extending Payment Data
WPForms publishes developer documentation for sending an invoice number and phone number to Authorize.Net through the wpforms_authorize_net_process_payment_single_args and wpforms_authorize_net_process_transaction filters. This is a developer task: you need to identify the correct field ID, test the code on a copy of the site, and make sure the data appears in the transaction. If name, email, and address are enough for your use case, use the built-in mapping in the form settings.
Common WPForms Authorize.Net Errors and How to Diagnose Them
Payment form issues almost always belong to one of four layers: keys and mode, required Authorize.Net fields, the WPForms form structure, or result verification. Good troubleshooting moves through those layers methodically instead of changing every setting at random.
Error API: (E00027) The transaction was unsuccessful
Symptom: the user submits the form, but the payment fails, and the error includes E00027. WPForms documentation links this error to required fields in Authorize.Net that the user did not fill in or that were not mapped to the form.
What to check: log in to Authorize.Net, open the payment form settings and the list of form fields, and see which fields are marked as required. Then check whether those fields exist in WPForms, whether they are required in Field Options, and whether they are mapped in Payments -> Authorize.Net.
How to fix it: add the missing field to WPForms or remove the required status in Authorize.Net if the field is not actually needed. Then repeat the test submission. If the error remains, contact Authorize.Net support and provide the specific error code and transaction time.
The Payment Does Not Appear in WPForms Payments
Symptom: the form submitted, but the payment is not visible where you expect it. One possible reason is that you are looking at live data instead of test data, a different date range is selected, or the settings currency does not match the payment currency.
What to check: open WPForms -> Payments, enable Test Data if the payment was a test, and verify the date. If you recently changed the currency, remember that the payment section displays data based on the currently selected currency.
How to fix it: switch back to the correct view mode, confirm which form processed the payment, and compare the result against the Authorize.Net sandbox or live account.
A Test Payment Fails Because of the Keys
Symptom: the form cannot process a test transaction even though the fields are filled out correctly. A common reason is that live keys were pasted into the test fields, or sandbox keys are being used in live mode. Authorize.Net clearly separates sandbox and production credentials.
What to check: whether Test Mode is enabled in WPForms, where the keys came from, and which account you are checking for the transaction. The sandbox and live environments do not share the same data.
How to fix it: retrieve separate sandbox credentials, paste them into the test fields, save the settings, and run the test again. For live payments, disable Test Mode and use the live keys.
The Team Receives the Request Before Payment Succeeds
Symptom: a manager sees the request and starts work, but the payment later turns out to be unsuccessful or incomplete. This usually means the WPForms notification is sent immediately after form submission instead of after the payment is completed.
What to check: in Settings -> Notifications, find the internal notification and check whether the option is enabled to send it only for completed Authorize.Net payments.
How to fix it: delay the notification until the payment succeeds. If you still need to keep every request, create a separate internal notification with a clear note that it does not confirm payment.
The Card Field Looks Bad or Conflicts With the Theme
Symptom: the card field is too narrow, labels are misaligned, or there is horizontal scrolling on mobile. The cause is often the theme CSS or the page builder.
What to check: open the form on a clean page without complex sections, temporarily disable aggressive block styling, and compare the result. Check for custom CSS affecting all form inputs or selects.
How to fix it: use WPForms styling settings or targeted CSS selectors for the payment field. If the change breaks other forms, roll it back and limit the CSS to the specific form container.
Questions to Resolve Before Launching the Form
Do You Need a Paid WPForms License for Authorize.Net?
Yes. WPForms documentation states that Authorize.Net is an Elite-level feature. If the addon is unavailable in your installation, first check your license tier and whether the addon is available in the WPForms panel.
Can You Test the Form Without Charging a Real Card?
Yes. To do that, enable Test Mode in WPForms -> Settings -> Payments, use sandbox credentials, and use the test cards from the Authorize.Net guide. After testing, the test mode should be turned off.
Why Does a Successful Payment Show as Processed Instead of Completed?
WPForms documentation explains that payments through Stripe, Square, Authorize.Net, and PayPal Commerce use the status Processed for successful payments. It means roughly the same thing, but the label differs from Completed, which is used in other scenarios.
Can You Accept Subscriptions Through This Integration?
Yes. WPForms documents recurring subscription payments for Authorize.Net. In the form, you enable the subscriptions block, set the plan name and recurring period, and map the customer data. Before launching, make sure your business scenario supports that type of payment in Authorize.Net.
Do You Need to Add the Total Field?
Not always from a technical standpoint, but it is highly useful in practice. The user should be able to see the final amount before submitting the form, especially when the price depends on the selected option, quantity, or an add-on service.
Can You Send an Invoice Number or Phone Number to Authorize.Net?
Yes. WPForms publishes developer documentation for invoice number and phone number via PHP filters. But this is not a beginner setting: the code must be adapted to your form field IDs and tested on a copy of the site.
Does This Kind of Form Affect SEO?
The payment integration itself does not create SEO growth. For search visibility, what matters more is a useful service page, clear structure, a fast site, and a form that works without errors. The payment form should be convenient, but it does not replace page content.
When Is It Better Not to Use WPForms Authorize.Net?
If you need a full store, order management, shipping, tax rules, a cart, and complex subscriptions, it is better to look at WooCommerce or a dedicated payment system. WPForms Authorize.Net is strongest when payment supports the form workflow rather than replacing a store checkout.
When WPForms Authorize.Net Is the Right Choice
WPForms Authorize.Net is a good fit if you already use Authorize.Net, need payment inside a form, and care about the request data just as much as the fact that payment was made. In that type of workflow, the plugin helps you combine contact fields, amount, payment, form entry, notifications, and transaction verification without building a separate store.
Before launch, run through a short final checklist: SSL is enabled, test credentials have been verified, live credentials are stored separately, the form contains all required fields, the amount is visible to the user, notifications depend on successful payment, payments are checked in WPForms -> Payments, and the E00027 error is diagnosed through the required Authorize.Net fields.
If that matches your workflow, you can move on to the local installation and download WPForms Authorize.Net, then first deploy a test form on a private page and only open it to users after verification.


