Plugin - Authorize.Net (Create custom order forms)

RSForm!Pro Authorize.Net Payment Plugin

The RSForm!Pro Authorize.Net Payment Integration Plugin allows you to add a new payment method to the existing Payment Package of RSForm!Pro.

This RSForm!Pro Authorize.Net Payment Integration Plugin is commercial and needs to be purchased separately. You can buy it by accessing Customer Area > My memberships > Active Memberships > clicking the 'Buy Extra Plugins' button of your RSForm!Pro license. Also you will have to make sure that you install the Payment Package plugin first.

Downloading and Installing the plugin

You can download the plugin by logging with your purchase user, then head to Downloads > Paid downloads > RSForm!Pro - Modules & Plugins > "Authorize.Net Plugin".


In the backend of your Joomla! installation go to the Extensions > Install/Uninstall page, and install the plugin. Next thing is to publish the plugin, to do this go to Extensions > Plug-in Manager, search for the "RSForm! Pro - Authorize.Net" plugin and publish it.


Configuring the plugin

Configuring Authorize.Net payment gateway can be done from Components >> RSForm!Pro >> Configuration >> AuthorizeNet tab:

  • Login ID: Merchant’s unique API Login ID. The merchant API Login ID is provided in the Merchant Interface and must be stored securely.
  • Transaction Key: Merchant’s unique Transaction Key. The merchant Transaction Key is provided in the Merchant Interface and must be stored securely.
  • Payment Failed URL: if the payment fails, you can redirect the user to another page (global placeholders as well as submission placeholders can be used in this URL; useful if you want to include URL parameters with data from the form).
  • Sandbox Mode: No / Yes - Enable or disable Test Mode
  • Test Credit Card for 0.01: No / Yes - This will verify the credit card details before the submission is made in order to ensure that a valid credit card is used.
  • Test VISA Credit Cards for 0.00: No / Yes - The same as the above option, this will verify the credit card details before the submission is made (only for VISA credit cards).
  • Log requests No / Yes - Setting this to Yes will write an 'rsformpro_authorizenet_log' file in the Joomla! log folder.

When using the Test VISA Credit Cards for 0.00 please make sure to also add and map two extra fields in your form, one for the ZIP code and one for the Address since these will be required.

  • Tax Type: Percent (%) / Fixed Rate
  • Tax Value: Amount of tax. Total amount of the transaction must include this amount.

How to use the Authorize.Net plugin

After configuring the Authorize.Net parameters from Components > RSForm!Pro > Configuration > AuthorizeNet tab, there are some additional steps that needs to be taken in order the payment process to work properly:

Making sure the form is sent to the payment processor

The payment details will only be sent to the Authorize.Net payment processor if the user selects Authorize.Net from the "Choose Payment" field before submitting the form.

The "Choose Payment" field is used in order to allow the users to choose their payment method. It displays the payment methods added to the form in either a Dropdown or Radio Group. It can be shown on the form (allowing the user to select his preferred payment method) or not (forcing the user to pay using the default payment method).

If you are using a single payment method and you need to hide the Choose payment field, this can be achieved by editing the field and setting to "No" the "Show in front-end?" option within the "Attributes" tab.

In order the Authorize.Net payment method to be available within the Choose payment field, the Authorize.Net field needs to be added in form.

Adding costs

In order to receive funds using RSForm!Pro and Authorize.Net payment plugin, your form needs to include a cost. In order to add costs to your form you can use any of the following fields:

  • Single Product - Adds a single product to the form. For this type of field you can set up a caption, description and a price.
  • Multiple Products - Adds the ability to display multiple products to be purchased either in a Dropdown or a Checkbox. Its items need to be specified in the following manner: price | label (ex: 15 | T-shirt)
  • Quantity - Allows the user to choose the amount of products (simple or multiple).
  • Donation - Allows the user to type in the amount to be paid inside a standard Textbox.
  • Total - This field is used alongside the Donation, Single and Multiple Products fields. It calculates the total price to be paid.

Mapping form information to AuthorizeNet for card processing

In order to collect the user's card information, the following fields needs to be added in the form:

  • Card Number - a textbox field used in order the user to fill in the credit card number
  • Card Security Code (CSC) - a textbox field used in order the user to fill in the credit card security code
  • Card Expiry Month - a dropdown containing month numbers(Ex: 01 for January, 02 for February and so on).

If you want to display the month names instead of numbers you can use the pipeline structure: value|label and set up your dropdown items as in the following example: 01|January

  • Card Expiry Year - a dropdown containing years(Format: yyyy, Ex: 2016, 2017)

Note: After adding the above-mentioned fields to the form, you need to go to Form Properties > Authorize.Net Configuration tab and map the Authorize.Net fields with the RSForm!Pro fields, in order to be populated automatically with user-supplied data.


Submitting the order form

When the order form is submitted the following actions are taking place:

  1. The payment details are sent to Authorize.Net
  2. After Authorize.Net has been successfully processed the transaction, the user will be redirected to the form page and the "Thank you message" will be displayed

Modifying AuthorizeNet vars through Scripts called after form has been processed

This process is similar to the already existing example regarding the PayPal parameters control. First you will need to get a new instance of the object, this is done with:

    $authorize = RSFormProAuthorizeNet::getInstance();

After this is done you will be able to override the parameters sent to Authorize using the following syntax:

//a custom description:
$authorize->args['description'] = 'The new description that will be sent to the payment processor.';

//custom amount:
$authorize->args['amount'] = 33.00;

//personalized invoice number
$authorize->args['invoice_num'] = 'ZSDHDSJD-132145'; //note that you should generate this dynamically to be unique per submission.

The above example will change the description sent to the payment processor, set a custom amount and will include a personalized invoice number.

27 May 2024
Version 3.1.3
  • Updated - Payments are now sorted in the 'Choose Payment' field according to the same order in the form.
04 Mar 2024
Version 3.1.2
  • Added - Joomla! 5 native compatibility - no longer needs the 'Behaviour - Backward Compatibility' plugin.
13 Jan 2023
Version 3.1.1
  • Updated - IP address now takes into account the 'Behind Load Balancer' setting from Global Configuration.
  • Updated - Bumped minimum requirements to use Joomla! 3.9.0+
12 Jul 2022
Version 3.1.0
  • Updated - Payment fields will now be correctly placed in the 'Payment' group.
09 Jun 2021
Version 3.0.0
  • Updated - Joomla! 4.0 and RSForm! Pro 3.0 compatibility.
25 Feb 2021
Version 1.2.5
  • Updated - Tax can now be shown when selecting this payment method.
05 Jun 2020
Version 1.2.4
  • Added - Configurable 'Payment Failed URL'.
  • Fixed - The card number was not hidden in the Thank You Message.
20 Mar 2019
Version 1.2.3
  • Added - Transaction IDs now show up in a _TRANSACTION_ID column.
  • Fixed - {grandtotal} and {tax} placeholders are now formatted according to settings.
01 Mar 2019
Version 1.2.2
  • Fixed - Transactions could not be submitted if shipping details were not supplied.
18 Feb 2019
Version 1.2.1
  • Fixed - Email is no longer required to process transactions.
12 Feb 2019
Version 1.2.0
  • Fixed - Transactions could not be submitted if shipping details were supplied.
07 Feb 2019
Version 1.1.9
  • Updated - Authorize.Net 1.9.9 library.
  • Fixed - Credit card mapped data is now masked even for failed transactions.
18 Jun 2018
Version 1.1.8
  • Updated - Bundled SSL certificates.
  • Updated - Now looks for SSL certificates in Joomla! default locations.
15 Mar 2018
Version 1.1.7
  • Fixed - No longer validates credit card details if total is 0.
13 Jul 2017
Version 1.1.6
  • Added - 'Log requests' option.
11 Jul 2017
Version 1.1.5
  • Added - 'Test VISA Credit Cards for 0.00' option.
  • Added - Some validations for credit card details before attempting a payment.
16 May 2017
Version 1.1.4
  • Updated - Bumped minimum requirements to Joomla! 3.6.5
  • Fixed - {tax} placeholder was not returning the correct value.
  • Fixed - Validations are run only when Authorize is chosen as a payment option in the 'Choose Payment' field.
19 Aug 2016
Version 1.1.3
  • Added - 'Ship To State' field.
16 Aug 2016
Version 1.1.2
  • Added - 'Test Credit Card for 0.01' option.
  • Fixed - Sandbox transactions were not saved.
02 Aug 2016
Version 1.1.1
  • Fixed - Mapping fields with multiple values did not work.
31 May 2016
Version 1.1.0
  • Fixed - Deferred emails were not working correctly.
20 Apr 2016
Initial Release

19 persons found this article helpful.

Was this article helpful?

Yes No
Sorry about that

You Should Also Read

Plugin - Payment Package (Wire Transfer, PayPal) HOT

Plugin - eWAY (Create custom order forms) HOT

Plugin - Stripe (Create custom order forms) HOT

Plugin - iDeal (Create custom order forms) HOT

Authorize.Net Payment Plugin HOT