Online payment - Authorize.net

Modified on Wed, 16 Aug, 2023 at 2:55 PM

TABLE OF CONTENTS


What can I do with this integration?

After the integration is set up, a customer will be able to select Authorize.net as a payment method. Then, after finishing the signup he/she will be redirected to a page hosted by Authorize.net to fill in the payment details (credit card or bank account information) securely. 


How does it work?

We integrated Authorize.net into Eduframe using two features of the payment provider: Accept Hosted and Webhooks.

  • Accept Hosted feature: After the integration is set up and the user finishes the signup with Authorize.net selected as their payment method they will be redirected to a page hosted by Authorize.net where they can fill in the payment details securely. This also means that Eduframe doesn’t store or know anything about the credit card or bank account information the user entered, it will only get information whether the transaction was successful or not. 
  • Webhooks feature: When a transaction is finished in Authorize.net, it will notify Eduframe about the result, so Eduframe can mark the user's payment as paid or failed depending on the result.

What will the flow for your customers look like?

Your customer starts the signup for one of your products. At the last step of the signup process they need to choose how they wish to pay. Here they have a choice to select Authorize.net. If they select that and finish the signup they will be redirected to the following page:



If they then click on the button, a page hosted by Authorize.net will appear where they can fill in the payment details (credit card or bank account information) securely. 


Once they click on Pay to confirm their payment, the payment will be processed and in case it is successful, they will see the following thank you page.

If their payment is successful they can click the Continue button to get back to Eduframe.


Depending whether Eduframe received the notification from Authorize.net or not, the user could see the following pages when arriving back from the payment form:

  • if Eduframe haven't got the notification yet: Payment pending (the user needs to wait a bit and refresh the page to be able to see the other pages)
  • if Eduframe got the notification:
    • and the transaction was approved: Payment successful
    • and the transaction was declined: Payment failed




Notes for the financial department

To enable linking the Eduframe order/contact to the payment in Authorize.net the following information is sent from Eduframe to Authorize.net, and shown in Authorize.net:

  1. The reference id of the invoice (always there)
  2. The reference number optionally submitted by the customer on the signup form

How to set up the integration?

It's only possible to: 

  • Link a sandbox Authorize account to a staging Eduframe environment (<EducatorName>.edufra.me). For more information about a staging environment read this article.
  • Link a production Authorize account to a production Eduframe environment (<EducatorName>.eduframe.nl)



 You can't link a sandbox Authorize account to a production Eduframe environment (<EducatorName>.eduframe.nl)


For each step we marked in which system you need to do something.

  1. [Authorize.net]Get a merchant account for Authorize.net, we'll need (1) the API Login ID, (2) the Transaction Key and (3) the Signature key.
  2. [Eduframe]Go to Settings -> Payment options, add a new payment method, make sure checkboxes are NOT checked, add a name, select Authorize.net, then set the api key to the following: 
    • [api login id]:[transaction key]:[signature key]
    • So for example: ABC234G:ABCFF342ABB:BFE4436C5B12FF76745ACFBEEE3345 
    • then press save
  3. [Authorize.net]Go to your merchant account on Authorize.net 
    1. go to account -> webhooks, add a new endpoint, name it (e.g. Eduframe), endpoint url should be
    2. https://[your-domain].eduframe.nl/api/authorize_net/webhooks 
    3. status: inactive, and select net.authorize.payment.authcapture.created from the payment events, then press save (see image).                
  4. [Authorize.net] Look for the endpoint you just created and test it by clicking the Test webhook button
  5. [Authorize.net] If something is wrong, click edit and check the endpoint URL
  6. [Authorize.net] If it works, click edit, set the status to active and save
  7. [Eduframe] Go to Settings -> Payment options, and check the checkboxes next to Authorize.net

What maintenance tasks do I have to do after setting up the integration?

Usually, there's nothing to do after setting up the integration. However, if any of the keys mentioned above changes, the integration will break, so you need to set it up again as soon as possible. In this case you need to do the following in Eduframe:

  1. Disallow the current Authorize.net payment method to be used
    • you can do this by going to [Eduframe] Settings -> Payment options, and unchecking the checkboxes next to the Authorize.net payment method
    • probably it is also a good idea to rename the payment option, e.g. Authorize.net (old)
  2. Create a new payment method using Authorize.net
    1. Go to Eduframe -> Settings -> Payment options
    2. add a new payment method
    3. make sure checkboxes are checked
    4. add a name
    5. select Authorize.net
    6. then set the api key to the following: <api login id>:<transaction key>:<signature key>, so e.g ABC234G:ABCFF342ABB:BFE4436C5B12FF76745ACFBEEE3345, (make sure you use the new keys!)
    7. save

More information


Click here if you have any questions for support.



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article