NetSuite <> Authorize.Net Integration as a SDF project that runs completely inside NetSuite approximating the native processing of credit cards using Authorize.Net as the gateway (a Cloud 1001, LLC Free and Open Suite Initiative Project)
NetSuite <> Authorize.Net Integration as a SDF project that runs completely inside NetSuite that is available under the Apache License, Version 2.0 with Commons Clause Version 1.0 license as part of the Cloud 1001, LLC Free & Open Suite Initiative.
Authorize.Net has been forced to change their plugin for Shopify per their article here and all Shopify stores will be required to install this gateway plugin update by September 30th, 2024. The issue here is how Shopify has changed the requirements (see section title ### What are the known changes or gaps with the new integration? in the above linked article). The Authorize.Net plugin no longer is allowed to store the actual Authorize.Net transaction ID that links to Authorize.Net. This is clearly a bullying tactic used by Shopify to push store owners to use the Shopify Payments option (and make Shopify more money). We currently have a workaround to this imposed limitation but it is not NOT part of the current netsuite-authorize.net-connect codebase as it is being actively refined. If you are connecting your Shopify store to NetSuite and expect card processing to continue as it has, need this functionality, for the time being, please contact us and we will discuss the options we have as we work to solidify a viable workaround for this solution. (updated 07-October-2024)
We now have a valid and working workaround to this issue. It requires API access to your Shopify site to write back updates when the order is captured in NetSuite whereas this used to just work before. Deploying this solution is just an hour or two of work contact us for details!
Although our FAQ’s makes this as clear as we can make it - it needs to be reiterated : THIS SOLUTION DOES NOT USE THE NetSuite Payment Gateway Plug-In Framework, because it is not allowed to, per Oracle. This solution offers an approximation of credit card payment processing following the native NetSuite flow via the Authorize.Net payment gateway. While it uses only native NetSuite API calls inside of NetSuite - it is NOT a “NetSuite Payment Gateway” - and because of this there are some inherent limitations to it’s functionality.
Here’s a checklist and grades of things it does and does not do based on the current version:
There is a PDF in the codebase that offers additional information about prerequisite components needed in your NetSuite account to support the installation. To enable these you will need to navigate in your NetSuite account, while in the Administrator role, to Setup > Company > Enable Features >> SuiteCloud and enable the following:
You also need to install the NetSuite provided “SuiteCloud Development Integration” (bundle id 245955) by navigating to Customization > Suitebundler > Search & Install Bundles and searching for 245955. Validate the company name providing the result is “NetSuite Platform Solutions Group - SuiteCloud Development Integration” and then install the bundle.
After installing the above bundle, add the newly created “Developer” role to the user that is going to be installing the software. As of NetSuite version 2024.2, you must use OAuth 2.0 to authenticate and push the project into the account using SDF.
Install and configure a supported IDE per the NetSuite SDF (SuiteCloud Development Framework) configuration to allow you to push a SDF project including all scripts, custom fields, custom records and other configuration objects into your environment. While NetSuite offers different SuiteCloud Plugins for different IDE’s, we STRONGLY recommend the use of WebStorm which offers a free 30 day trial is is far easier to use than the other options (this is the only IDE we will assist you with)
Here are some resources for this step - it’s easier than it sounds!
SuiteCloud Development Framework: Installing the WebStorm IDE Plug-in for SDF
Super Helpful guide by Oracle
ALSO - while logged into your instance of NetSuite - open Help and search for the following phrase - the results walk you through how to install the plugin for the IDE you have chosen: “SuiteCloud IDE Plug-in” - NOTE: the documentation may be older / incorrect - the CORRECT URL for the SuiteCloud IDE Plugin is “https://system.netsuite.com/download/suitecloud-sdk/ideplugin/webstorm/latest/updatePlugins.xml“, this is what you will enter into the WebStorm IDE for the new custom plugin repository
Once you have the SuiteCloud IDE Plug-in installed into your IDE (again we can’t recommend Webstorm strongly enough over all the other options!), you can then configure the IDE Plugin to connect to NetSuite using the Account Management in the Plugin.
You will need a working copy of openssl to complete the install.
In NetSuite, Navigate to:
In WebStorm select the machine to machine connection option inside the NEtSuite plugin, add the account ID, the Certificate ID and upload the key file (if you are installing into a NetSuite sandbox - and your sandbox ID is like 654321-sb1, the value in the configuration for Instance ID will be 654321-sb1. Change the “-“ to an underscore “_”)
Download the full directory structure into a NetSuite supported IDE (WebStorm) after configuring for connecting to you account (you can use git features for retrieving the code - but unless you are going to be actively developing against the code, it’s usually easier if you are not familiar with git, to just download the whole project)
Deploy the code to your account.
All configuration of the connector is done from the Cloud 1001 menu in NetSuite, via SuiteAuthConnect > SuiteAuthConnect Configuration
All code is installed in SuiteScripts > openSuite > netsuite-authnet
In that folder is a PDF that offers some older and a little outdated guidance on setup
One important step in that guide is the ability to obtain a free sandbox / test account from Authorize.Net - be sure to read that PDF (it’s referenced in the PRE-Installation section as well)
Really wish we had a better answer here - but the folks at Oracle do not provide an “uninstall” for a SDF Configuration project like they do “bundles” - so to uninstall this you need to manually find all Custom Fields, Custom Records, Custom Lists, Scripts / Script Deployments with SuiteAuth or something like that in the name and manually delete them from your system. Then you can navigate to SuiteScripts in the file cabinet and delete the directory openSuite (if you have no other openSuite projects installed) or SuiteScripts > openSuite > sac if just SuiteAuthConnect is installed.
Cloud 1001, LLC provides this software for free under the above license and is the only consulting firm that you should pay to assist you with this software. That’s the point of the license - to make it free to anyone to obtain, use and modify - for their OWN purposes… if another consulting group or individual is asking to be paid to in any way to modify or assist with this software - they are in violation of the license.
Feel free to reach out to us if you have any bugs!
If you need help installing, configuring or have other questions - we do provide pre-paid ad-hoc assistance for installation in 1 hour and remote installation options.
2024.4.1 includes the addition of the long awaited “Click To Pay” functionality contained within NetSuite allowing customers to securely pay an invoice with a new or existing payment method!
2024.x.x is LIVE and is the new numbering scheme - releases include enhanced options and bug suppression!
3.2.x is LIVE and includes multi-subsidiary support, even better reconciliation tools and enhanced token entry for better AVS validation support!
3.1.x is LIVE and includes eCheck support (ACH) using Authorize.net, default payments by customer and sets the stage for “pay by link” logic to let people pay their invoices directly!
This readme is made pretty by https://stackedit.io