# Connect Authorize.net and accept payments on a form

> Copy three credentials from your Authorize.net Merchant Interface, connect the account to your workspace, and take card payments on any form.

Connect your own Authorize.net merchant account to your workspace, then add a **Payment** field to your form. Every payment a respondent makes is processed on your Authorize.net account, so the money goes to you and Maxforms never holds it.

## Get your credentials from Authorize.net

You need three values from the [Authorize.net Merchant Interface](https://account.authorize.net). Log in as an account administrator, open **Account** in the sidebar, and select **Account and API Settings**:

![The Authorize.net sidebar with Account expanded and Account and API Settings highlighted](/docs-assets/payments/connect-authorize-net-1.png)

Under **Security Settings**, select **API Credentials and Keys**:

![The API Credentials and Keys card under Security Settings](/docs-assets/payments/connect-authorize-net-2.png)

On that page you collect all three values:

1. **API Login ID**, shown at the top of the page.
2. **Transaction Key**, under **Create New Key(s)** select **New Transaction Key** and submit.
3. **Signature Key**, on the same page select **New Signature Key** and submit.

If your account still shows the classic interface, the same page lives under **Account > Settings > Security Settings > General Security Settings > API Credentials & Keys**.

Authorize.net shows the Transaction Key and Signature Key **only once**, right after you generate them, so copy each one immediately. If you lose a key, generate a new one and reconnect.

Two things to know before generating keys:

- Generating a new Transaction Key or Signature Key expires the old one within 24 hours (immediately if you tick **Disable Old Transaction Key Immediately**). If another system already uses your current keys, update it too.
- You do **not** need the Public Client Key. Maxforms fetches it from Authorize.net automatically when you connect.

## Connect the account to your workspace

1. In the sidebar, select **Integrations**.
2. Under **Available integrations**, find the **Authorize.net** card and select **Connect**.
3. Paste the **API Login ID**, **Transaction Key**, and **Signature Key**, then select **Connect**.

Maxforms verifies the credentials with Authorize.net and registers a webhook on your account so payment statuses (settlements, refunds, voids, and fraud holds) stay in sync automatically. When it succeeds, the account appears in your connected accounts list.

If the connection is rejected:

- **"Authorize.net rejected these credentials"**: one of the values has a typo, or the API Login ID belongs to an inactive account. Re-copy the values and try again.
- **"This Authorize.net account has no Public Client Key yet"**: generate one in the Merchant Interface under **Account > Settings > Security Settings > Manage Public Client Key**, then connect again.

## Add a Payment field to your form

1. Open your form in the builder and select **Add field**, then **Payment**.
2. In the field settings, set **Payment provider** to **Authorize.net**.
3. Enter a **Payment Description**, pick a **Payment Type**, and set your amount or options.

Respondents pay by card directly on your form. Card details are tokenized in the respondent's browser by Authorize.net's Accept.js and never pass through Maxforms.

As with every payment provider, you are the merchant of record: tax, refunds, and disputes for money collected through your forms are yours to handle. You can refund a payment from the submission in Maxforms or from your Authorize.net account.

Once connected, take a few minutes to harden your account against card testing: see [Recommended Authorize.net fraud settings](/payments/authorize-net-fraud-settings).

