With FormAssembly's Authorize.Net integration, you can accept credit card and eCheck.Net payments with your form.
That means secure transactions in just one step the credit card information gets sent directly to Authorize.Net, and only the transaction receipt is stored on FormAssembly.
We also recommend reading more about how you can use reCAPTCHA to prevent spam submissions.
You'll need a FormAssembly Premier Plan or Enterprise Plan and an Authorize.Net merchant account.
Authorize.Net eCheck Requirements
- Approval to use eCheck.Net (Apply at Authorize.Net and read the eCheck.NetÂ® User Guide)
- A bank account in the United States
As you build your form, make sure you collect the following information:
- Billing first and last name
- Billing organization name
- Billing email address
- Billing phone number
- Billing postal address
- Shipping name, company, and postal address
If collecting credit card payments:
- Credit card number
- Credit card expiration date (month and year)
If collecting eCheck payments:
- Routing/ABA number
- Account Number
- Account Type (Checking, Savings, or Business Checking)
- Bank Name
- Account Holder
Typically, your form should also list billable items and allow quantities to be defined.
To begin, drag the Authorize.net connector into your connector timeline and click on "configure." Then, follow the steps below.
Please note, it is currently only possible to enable a single Authorize.net connector on each form's connector timeline. Enabling more than one Authorize.net connector will likely cause errors.
1. Account Settings
Enter the API Login ID and Transaction Key, which you can find under Settings in your Authorize.Net account.
Enter the MD5 Hash value, which you can find under Security Settings in your Authorize.Net account.
2. Payment Options
Select the payment options you would like to offer on your form.
Match your form's fields to the payment information required by Authorize.Net. In most cases, all fields will be defined in the form, so you'll be able to select the corresponding fields in the drop-down menu.
If accepting both methods of payment from Authorize.Net, in the Form Builder, create a section dedicated to each payment type. Make each section conditional on a payment method radio field as seen below.
Mark the credit card option as the default choice in the field's Default Value settings.
3-5. Customer Details
You will need to collect the customer's personal information and the billing/shipping address.
If certain information isn't collected in the form, you can choose to provide that information here, by choosing the defined here option in the drop-down menu and entering the value in the text input.
Check the checkbox if the billing address will be the same as the shipping address.
6. Item(s) for Sale
With Recurring Billing, you can create either one-time (Non-recursive) or recurring payments.
You can then list your billable items. The setup depends on how you've built your form.
To set a payment as recurring, choose Schedule defined here in the "Recurring Billing" box (unless you have set your schedule within your form). When defining the recurring interval on your form, you would specify this as a number from 1-12, with 1 being every 1 month, 3 being every 3 months, and so on until 12 which would be the same as an annual payment.
For the "Duration of subscription, you will be asked to enter a number between 1 and 9999 payments. Use 9999 if you would like the recurring payment to have no end date.
If you have chosen to define either the schedule or duration of the payments within the form, you will be asked to select the particular field in your form where those aspects are defined.
If you run into errors setting a subscription date, you will need to make sure that the subscription date is greater than or equal to the current date and time. Authorize.net's validation checks against Mountain Time (GMT-6) so an error might occur if you try to submit a subscription from a time zone in which the resulting date is different.
Finally, if the start date for your subscription is the 31st, and the interval in monthly, the billing date will be the last day of every month, even if that month does not have 31 days.
If you are working with repeated fields in your form, you can read more about how those can be used when processing payments.
7. Sandbox Mode
When Sandbox Mode is enabled, Authorize.Net will record transactions without processing credit card charges. That means you can test your form without charging a credit card.
To do so, choose a method below:
- Test with your account at sandbox.authorize.net in Live Mode with the Sandbox Mode check box checked in FormAssembly. (If this does not work, please try again but without the Sandbox Mode box checked).
- Test against your live Authorize.Net account in Test Mode and the Sandbox Mode in FormAssembly. The option for Test Mode in Authorize.Net is in the Settings page.
Time to try it out! Make sure the Run Mode is set to Enabled at the top of the connector setup page, and click Apply at the bottom right. You're good to go!
FormAssembly will not trigger Authorize.net's email receipt to be sent out to the customer. To send out a receipt, you will have to setup the Autoresponder for your form.
In order to send your users a copy of their response, you can use FormAssembly's Autoresponder feature to automatically send a copy of every submission. You can customize the autoresponder to include details from the entire form, or only information related to the transaction.
For more information on sending transaction information through the HTTP connector to services like WebMerge, please see this article.
This Form Was Not Submitted over an Encrypted Connection
If you are seeing this error it means your form needs the SSL option enabled. You may do this through the Display Options tab.
The Merchant Login ID or Password is Invalid
If you are seeing this error It means that you are not properly logged into the Authorize.net connector or the account is suspended or in test mode. The info you are sending to Authorize.net is not able to make it there for one of the above reasons.
You should log back into the connector and then try testing your configuration again. Also, if you are running in Sandbox mode, make sure that option is checked.
No Transaction ID or Credit Card Number Available
If you are seeing this error it means that the credit card field has been left blank and needs to be filled in.
Line Item 1 Invalid Error
If you are seeing this error it is due to empty fields in the connector where a value is needed. To resolve this issue, change those value fields from null to 0.00, save your connector, and test again.
If you are seeing this error it is due to a mismatch between the zip code entered by the respondent and the zip code associated with the credit card.
Authorize.Net Fraud Filters
If you have enabled fraud filters on your authorize.net account, then you may see error messages that read, "Your order has been received. Thank you for your business!"
In these cases, the payment has either been rejected or held as a result of authorize.net's fraud filters. In cases where the payments have been held, you may need to verify the status of those payments within authorize.net to see if they have been flagged or approved.
Set Up One-time and Recurring Payments in a Single Form
With the Authorize.net connector, you can enable a single FormAssembly form to collect both one-time and recurring payments, within a single connector, depending on a user's response. Please note it is not currently possible to configure 2 separate Authorize.net connectors within a single form's timeline.
To enable this type of payment processing, follow the steps outlined in the video below. If you would like to view the form that is referenced throughout the video, it can be found here.
Please note: When using this setup, your one-time charge will mimic a subscription charge. This means it will show up under your Automated Recurring Billing (ARB) section of Authorize.net. As with all Authorize.net transactions, you will still see an authorization amount of $0.05 for the charge authorization, but it will not show a settlement date (meaning that the $0.05 charge will not be captured).
Set Up Future Payments
In order to set a payment for the future, you will need to mark it is a recurring payment. You can then set the payment date as a specific date, or as a set number of days in the future (for example "+31 days")
If you choose to set the number of recurring payments to "1" then this charge will only occur once, on the date you specify. However, you can also set recurring payments to occur at regular intervals, starting at a future data, if you would like to.
Sending Authorize.net Data to Salesforce
If you would like to send your Authorize.net Subscription ID or Transaction ID to Salesforce, you can map the following aliases in your connector:
However, if you attempt to map the Subscription ID or Transaction ID form fields directly in the connector, they will not go through. You must use the above aliases. This is because the values are added to the formula context from the Authorize.net connector but the actual field values are not yet filled by the time that the Salesforce connector runs.
When the Authorize.net connector is run, an initial $0.05 temporary hold will be sent to ensure that the card used is a valid one. This hold is placed on the card by Authorize.net and there is no way to turn this feature off.
When setting up recurring transactions, there is no actual charge coming from FormAssembly, so there is no transaction ID available other than the one that is used to create the $0.05 temporary hold. However, there is a different alias for the subscription ID, which is the value that can be sent over to Salesforce for tracking your record.
Finally, if there are cases in your Salesforce connector where you would like certain steps to be skipped if an Authorize.net transaction is not executed, you can use the following skip-if formula: