Plugin - Authorize.Net (Create custom order forms)
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
Download
You can download the plugin by logging with your purchase user, then head to Downloads > Paid downloads > RSForm!Pro - Modules & Plugins > "Authorize.Net Plugin".
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:
- The payment details are sent to Authorize.Net
- 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 Authorize.net 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.
Version 3.1.3
- Updated - Payments are now sorted in the 'Choose Payment' field according to the same order in the form.
Version 3.1.2
- Added - Joomla! 5 native compatibility - no longer needs the 'Behaviour - Backward Compatibility' plugin.
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+
Version 3.1.0
- Updated - Payment fields will now be correctly placed in the 'Payment' group.
Version 3.0.0
- Updated - Joomla! 4.0 and RSForm! Pro 3.0 compatibility.
Version 1.2.5
- Updated - Tax can now be shown when selecting this payment method.
Version 1.2.4
- Added - Configurable 'Payment Failed URL'.
- Fixed - The card number was not hidden in the Thank You Message.
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.
Version 1.2.2
- Fixed - Transactions could not be submitted if shipping details were not supplied.
Version 1.2.1
- Fixed - Email is no longer required to process transactions.
Version 1.2.0
- Fixed - Transactions could not be submitted if shipping details were supplied.
Version 1.1.9
- Updated - Authorize.Net 1.9.9 library.
- Fixed - Credit card mapped data is now masked even for failed transactions.
Version 1.1.8
- Updated - Bundled SSL certificates.
- Updated - Now looks for SSL certificates in Joomla! default locations.
Version 1.1.7
- Fixed - No longer validates credit card details if total is 0.
Version 1.1.6
- Added - 'Log requests' option.
Version 1.1.5
- Added - 'Test VISA Credit Cards for 0.00' option.
- Added - Some validations for credit card details before attempting a payment.
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.
Version 1.1.3
- Added - 'Ship To State' field.
Version 1.1.2
- Added - 'Test Credit Card for 0.01' option.
- Fixed - Sandbox transactions were not saved.
Version 1.1.1
- Fixed - Mapping fields with multiple values did not work.
Version 1.1.0
- Fixed - Deferred emails were not working correctly.
Initial Release
19 persons found this article helpful.