Collect payments via Authorize.net and your Formstack Form, here's how!
Connect integration
Step 1: Add the integration. Navigate to your Form > Settings > Integration > Payments > and select Add next to the Authorize.net icon.
Step 2: Enter credentials. Under Account Information, enter the API Login ID and API Transaction Key. To find these, log into your Authorize.Net account, click on Support and then click on Account > Settings > Security Settings > API Login ID and Transaction Key. If you do not have an Authorize.net account you may sign up for one here.
Step 3: Enter transaction information. Indicate if it is a product and service or if it is a subscription and other pertinent information like items, price, and tax by mapping the form fields.
Note: Since Authorize.net is an on-form payment processor, you must have a credit card field and an expiration date field on your form to submit to Authorize.net. You will also need at least one field that contains a price value using a Number Field.
Include optional data to pass on to Authorize.Net such as shipping, tax, card verification code, and customer information.
Set up recurring payments
Authorize.net allows for single payments or subscription (recurring) payments (Authorize.Net ARB Service sign-up required). You will need to decide how often the customer is charged (Billing Cycle) and how many times (Total Occurrences).
Recurring Payments do not happen in real time. They are processed at around 2:00AM PST on their scheduled payment dates. The first scheduled transaction will not be sent to the customer's bank for authorization until about 2:00AM PST on the start date that you specified. If you create a start date equal to the creation date, the first scheduled payment will not process until after 2:00AM the following day.
Authorize credit cards for payment at a later date
End users may enter their credit card information and authorize their payment for processing at a later date. The credit card information entered into the form will go to your Authorize.net account where you will be able to charge the submitter's card when ready.
In Authorize, the staus will appear as "Authorized/ Pending Capture."
Handling multiple items
You can also set your form up to pass info for multiple items to Authorize.Net instead of a single item. If you choose to map to multiple items, each item with a price needs to be in its own separate field with its own quantity field (if applicable).
When setting up your integration, change the "Item list " to "Multiple Items" then add an item for each product you're selling on your form. Map the individual price fields and, if needed, the associated quantity fields. If you don't map a quantity field it will default to "1".
The integration will do the math for you behind the scenes: (Item 1 Price x Item 1 Quantity) + (Item 2 Price x Item 2 Quantity), etc.
Note: You must have at least one price field mapped in order for the integration to turn on.
Adjust Security settings
After you have your mapping in place, you'll also need to adjust your security settings since you are accepting payment information on the form. SSL must be enabled under Settings > Security.
Customize submission actions
Under the Settings > Emails & Redirects tab in the After the Form is Submitted section, a Submit Action will automatically be created to "Submit to Authorize.net."
You can add Routing Logic to this Submit Action if you only want to send to Authorize.net if, for example, the user chooses "credit card" instead of "check" on a "Payment Type" field you have added to your form. Learn more about offering multiple payment options!
Test payment integration
Run a test payment using the Authorize.net integration’s “Test Mode” which requires Authorize.net sandbox credentials.
Error Handling
You can choose to "Allow Submission If Integration Fails" to ensure you still receive all submitted data even if the integration failed. With this box checked, ALL submissions will be added to the database whether or not their payment was successful. This could be problematic if you only want to send Confirmation Emails to those who have successfully paid or only want to receive Notification Emails for those who have paid.
There is also a box to include an email address if the integration fails (recommended). This email will be sent by Authorize.net and will include details for why the submission failed. If you add multiple email address to this field, make sure you put them each on a separate line (no commas).
FAQs:
1. Can I Change the Endpoint to (Insert Random Authorize.Net Reseller Here)?
A: Not at this time.
2. What method are you using to integrate with Authorize.Net?
A: We're using the Advanced Integration Method (AIM).
3. Authorize.net offers eCheck processing - Can I use the Formstack Authorize.net integration to process payments via electronic check?
A: Not at this time.
Have any further questions? We’re here to help! Please reach out to support@formstack.com for additional assistance with your use case.