Authorize.net is a payment gateway service provider allowing merchants in the United States, Canada, United Kingdom, Europe & Australia to accept credit card payments through their website.
Not Supported in European Union (EU)
This Payment Gateway will no longer be supported by Checkfront for accounts in the European Union (EU) once PSD2/SCA is enforced on September 14, 2019 as the gateway is not compliant.
If you don't currently have an Authorize.net account, sign up here.
Authorize.net SetupBack to top
Note the API Login ID (1). To retrieve the API Key, enter your answer to the secret question (2) and click Submit (3).
Assuming you answered the question correctly, the transaction key will now be displayed on the screen.
Once you have the API Login ID and API Key, head back over to Checkfront.
Gateway Response TimeBack to top
In order to prevent an issue where the payment gateway might hang during transaction processing, causing a customer to submit again and create a double booking, it's possible to add a webhook in Authorize.net, which will notify Checkfront of completed payments.
In your Authorize.net Account menu, click on Webhooks under the Business Settings section.
From there, click on the Add Endpoint button and input the following URL:
[checkfront url] should be replaced with your own account URL.
When processing payments through Authorize.net, a full and legitimate address must be entered into the booking form. When configuring your booking form, make sure you include all parts of the address when planning your form fields.
Checkfront SetupBack to top
To enable Authorize.net in Checkfront, login to your account and navigate to Manage > E-Commerce. Make sure the Payment tab is selected at the top.
You may be presented with a couple of recommended payment gateways, depending on your locale. Just below this is a link to more payment methods that are available to you. Locate the Authorize.net tile and click on the button to open the setup window.
Authorize.net Login IDBack to top
Enter the login ID you obtained in the previous step.
Authorize.net KeyBack to top
Enter the key you obtained in the previous step.
Payment TypeBack to top
Select whether you would like to authorize and capture your transactions or authorize them only. The answer to this will depend on how you operate your payment system. Most businesses will most likely use authorize and capture.
• Authorize and Capture This allows you to authorize the payable amount and also charge the card immediately for a partial or full payment.
• Authorize Only This type of transaction creates an authorization with the card issuing bank that holds the funds until you wish to manually capture them. An authorization is valid for 30 days until the transaction is captured or voided. If the authorization exceeds 30 days with no merchant action, its status will change to Expired, in which case, the transaction is no longer available for settlement.
Enable CIMBack to top
Authorize.net CIM is a service that allows you to store sensitive customer information, in this case, the credit card details, as a token for later use. You can take a deposit at the time of booking and then charge the final balance at a later date, without needing to obtain the card details again. If you are signed up for this service with Authorize.net, check the box.
Enable Sandbox ModeBack to top
It’s highly recommended that you do an end-to-end test of your checkout before putting your site live. To do so, follow the setup instructions above and check Enable Sandbox Mode. You must also put your Authorize.net account in TEST mode. To do this, return to your Authorize.net account and revisit the Account menu (1). Look for the section labeled Security Settings and click on the Test Mode link (2).
On the next page, flick the switch over to Test.
You will now see a confirmation above that the account is in test mode.
Once the payment module is enabled, remember to enable payment processing at Manage > E-commerce in your Checkfront dashboard.
Test TransactionBack to top
Create a transaction as a customer would and check to see that it shows up in your Checkfront account as paid. The transaction should also appear within your Authorize.net account. If you don’t have a website to test on yet, use the hosted booking page eg: https://yourcompany.checkfront.com/reserve/
Test Card NumbersBack to top
You can use the following test credit card numbers when testing your Authorize.net checkout: Visa: 4007000000027 Amex: 370000000000002 Maestro: 6759649826438453 You can use any CVC code, and an expiry date in the future. * Always remember to take your account out of sandbox mode when you are finished.
Response/Receipt URLsBack to top
Upon payment, Checkfront sends the customer to a booking receipt page. You should therefore NOT supply a custom receipt page within Authorize.net. You should be using the Default Receipt URL and the Default Relay Response URL to ensure the booking is completed.
Email ReceiptsBack to top
Checkfront can be configured (and is by default) to send customers and administrators email receipts. This provides more information on the booking that can be supplied by Authorize.net. It’s generally recommended to turn off e-mail receipts within Authorize.net so your customers don’t get multiple receipts at once.
Settlement & RefundsBack to top
Authorize.net does batch settlements to your account daily. When a payment is processed it goes to a status of CAPTURED. At the end of the day, all transactions are posted and changed to the status of SETTLED. You can see unsettled transactions by logging into your Authorize.net account and clicking on “Unsettled Transactions” in the left-hand sidebar.
Unsettled Transactions cannot be partially refunded — they can only be voided so they don’t settle. If you wish to make a partial refund, you’ll need to wait until the next day when the transaction has settled. Unfortunately, there is no way to query Authorize.net at this point to determine the state of a transaction before applying a refund. If you attempt a partial refund on the same day a transaction is made the full transaction will be returned.