-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Through the partnership of AltaPay and NetSuite, we have made it much easier for you as merchant/developer to receive secure payments in your web shop. AltaPay is fully integrated with NetSuite platform via a bundle.
All you have to do is to install the bundle, which will only take a few minutes to complete.
Installing this plug-in will enable the web shop to handle card transactions through AltaPay's gateway.
Table of Contents
Installing this bundle will enable your web site to handle card transactions through AltaPay’s gateway.
Be aware that due to NetSuite limitations, if NetSuite is used as a front end, customers do not get informed if the transaction declines/fails. Only the merchant will be notified.
There are up to three steps involved in installing NetSuite:
- Step 1. (required) - Install the bundle
- Step 2. (required) - Get access to the Testgateway
- Step 3. (optional) – if you need fraud protection. You must have an agreement with an external fraud partner, such as SCI ReD or MaxMind to use this feature.
Install the Bundle
Prerequisites
The bundle ‘Payment Gateways’ (ID 47196) needs to be installed on the merchant NetSuite account.

- Select the account, where you want to install AltaPay
- Go to: Customization > SuiteBundler > Search & Install bundles
- In the keywords field enter ‘AltaPay’
- Select ‘AltaPay’ (Bundle ID: 92258)
- Click Install.
- Follow the instructions. Note that this is a managed bundle and updates for the bundle are pushed from AltaPay.
Note
The procedure for MO/TO is the same as the above.
Enable the bundle
You have now installed the bundle, but before continuing the configuration you need to be sure that the bundle is enabled.
-
Go to: Customization > Plug-ins > Manage Plug-ins.

-
Check if the AltaPay bundle is enabled. If not, check the checkbox.
You can configure the NetSuite plugin to meet your (merchant’s) needs. This includes adding payment methods and configuring payments.
Prerequisites
AltaPay provides the following, and they will be required to configure the plugin.
-
AltaPay credentials
- Username
- Password
-
AltaPay gateway information
- Terminal
- Gateway
Adding a payment method
The standard configuration connects the bundle with the test gateway. Follow the below steps to connect the bundle with AltaPay’s production gateway.
-
Go to Customization > Plug-ins > Plug-in implementations.
-
Click on ‘config.js’ in the AltaPay bundle.
-
Click ‘Edit’ and replace 'testgateway.altapaysecure.com' with the gateway information for your production environment (provided by AltaPay). Do not include ’https’.
-
Press Save.

Credit/debit cards
Note
3D Secure 2 is only supported on sites using SuiteCommerce or SuiteCommerce Advanced (SCA)
In this step you add card as payment method in the web shop. You must complete the steps for each currency.
-
Go to setup > Accounting > Payment Processing Profiles > ‘Add AltaPay Plugin Profile’.
-
Complete the details, using the notes below for guidance.
| WEB SITE | Select which web sites the bundle should cover. |
| NAME | This is for internal use and will not be shown to customers. We recommend that you use ‘Payment Method - Currency’ (e.g. Credit Card - EUR). |
| Subsidiary | Select from the drop-down list. |
| CHARGE CURRENCIES | This must correspond with the currency of the terminal. You can only select one currency. |
| Settlement Bank account | This is related to accounting and will not affect the settlement agreement with the acquirer. |
| Authentication Credentials | Enter the username and password. You will only be able to see asterisks, since they are password fields. |
| AltaPay configuration | Add terminal. |
| AltaPay 3DSecure Auth | Enable this, if you want to enable AltaPay 3dsecure authentication. You should enable Authentications option from Gateway Request Types as well. |
| Alternative payment | Leave the checkbox unchecked. |
| Gateway Request Types | Add the types that are needed for the terminal. To process payments with 3D Secure v1 or v2, check the Authentications box in the Gateway Request Types. |
-
Press Save.
-
Go to Setup > Accounting > Accounting lists > New > Select ‘Payment Method’.

-
Complete the details, using the screenshot and notes below for guidance.

| PAYMENT METHOD | Name the payment method. This will be shown in the web shop. |
| CREDIT CARD | Select this checkbox. |
| SUPPORTING MERCHANT ACCOUNTS | Select the Payment processing profile you want to match to the payment method. (NAME in the Payment Processing Profile screen). |
| Flag | web/standard. |
| URL | Place the icon in the File Cabinet and link to the icon or link to an icon on the internet . |
- Press Save.
Next, you need to configure the payments. This is mandatory if CVC needs to be enabled for card payments. This is highly recommended and may be required by the acquirer.
-
Go to Setup > Accounting > Accounting preferences > Click the tab ‘Items/Transactions’ .

-
Check ‘USE CARD SECURITY CODE FOR CREDIT CARD TRANSACTIONS’ under the ‘Payment Processing’ section
-
Press Save.
Now, enable the payments on the website.
-
Go to: Setup > Site Builder or Suite Commerce Advanced > Set Up Website
-
Click edit on the website for which you want to enable payments.
-
Click the ‘Shopping’ tab and check ‘REQUIRE AUTHORIZATION FOR CREDIT CARD TRANSACTIONS’.

Press ‘Save’.
If the merchant has Suite Commerce Advanced version previous to Denali, you must enable support by completing these additional steps.
-
Download the zip file from the GitHub repository
-
Find the ‘Utils.js’ in the ‘SCA’ subfolder.
-
Replace ‘AltaPay CC’,line no: 176, with the name of the payment method created earlier. The name is case sensitive.
-
Go to: Documents > Files > File Cabinet
-
Go to: Web Site Hosting Files > Live Hosting Files > SSP Applications > NetSuite Inc. -Checkout 2.05.0 > Custom Checkout > js > src > core

-
Click on ‘Add files’ and select the ‘Util.js’ that you modified.
-
Replace the ‘img/altapay.jpg’ with an image that represents the payment method. The image can be uploaded from here: Documents > Files > File Cabinet and navigate to Web Site Hosting Files > Live Hosting Files > SSP Applications > NetSuite Inc. - Checkout 2.05.0 > Custom Checkout -> img
-
Go to: Documents > Files > File Cabinet > Web Site Hosting Files > Live Hosting Files > SSP Applications > NetSuite Inc. - Checkout 2.05.0 > Custom Checkout > js > src > app > modules >
-
Click on New Folder > name it Altapay
-
Select SuiteCommerce Site Templates before saving the new folder in the TYPE dropdown

-
Go to: Documents > Files > File Cabinet > Web Site Hosting Files > Live Hosting Files > SSP Applications > NetSuite Inc. - Checkout 2.05.0 > Custom Checkout > js > src > app > modules > Altapay
-
Click ‘Add files’ and select the ‘configuration.js’, that you modified
-
Go to: Documents > Files > File Cabinet > Web Site Hosting Files > Live Hosting Files > SSP Applications > NetSuite Inc. - Checkout 2.05.0 > Custom Checkout > js >
-
Click ‘DELETE FILES’ and remove the following files: ‘Application-xxxxx.js’ and ‘current.js’
-
Click ‘Edit’ for the ‘combiner.config’ Click on the ‘edit’ link
A popup opens > add the following string ’src/app/modules/Altapay/*.js’, as seen below
Input-files: utils/BootUtilities.js utils/json2.js libs/require.js libs/underscore.js
libs/jquery.js libs/backbone.js libs/backbone.validation.js libs/bootstrap.js
src/core/Documentation.js src/core/Utils.js src/core/ApplicationSkeleton.js
src/app/modules/BackToTop/.js src/core/extras/.js src/app/Application.js
src/app/Configuration.js src/app/ItemsKeyMapping.js src/app/modules/Account/*.js
src/app/modules/Address/.js src/app/modules/AjaxRequestsKiller/.js
src/app/modules/Cart/.js src/app/modules/Content/.js
src/app/modules/CMSadapter/.js src/app/modules/CreditCard/.js
src/app/modules/ErrorManagement/.js src/app/modules/GoogleAnalytics/.js
src/app/modules/GoogleUniversalAnalytics/*.js
src/app/modules/GoogleAdWords/.js src/app/modules/Facets/.js
src/app/modules/ItemDetails/*.js
src/app/modules/ItemOptionsHelper/.js src/app/modules/LoginRegister/.js
src/app/modules/Merchandising/*.js
src/app/modules/MultiCurrencySupport/*.js
src/app/modules/MultiHostSupport/.js src/app/modules/NavigationHelper/.js
src/app/modules/Order/.js src/app/modules/OrderWizard/.js src/app/modules/Profile/*.js
src/app/modules/SiteSearch/.js src/app/modules/Session/.js
src/app/modules/UrlHelper/.js src/app/modules/User/.js
src/app/modules/Altapay/.js src/app/modules/Wizard/.js
src/app/modules/CheckoutSkipLogin/.js src/app/modules/BrontoIntegration/.js Starter.js
Combined-file: Application.js
Keep-files: 1
Method: Minify
Referring-files: ../*.ssp
Version: 2
- Save the file and make sure that the ’Application-xxxx.js’ and ’current.js’ files have been regenerated.
If you support alternative payment methods (e.g. wallet, ePayment etc.), you can add the alternative web shop’s payment methods by following the instructions below
Notes.
Alternative payment as gift cards and some invoice providers (Arvato) are not supported. Alternative payments are only available for web shops using SiteBuilder or SuiteCommerce Advanced with NetSuite version 16.1 or above. For each currency and payment method you need to go through steps described above.
-
Go to setup > Accounting > Payment Processing Profiles > ‘Add AltaPay Plugin Profile’.
-
Complete the details, using the screenshot and notes below for guidance.

| Web Site | Select which web sites the bundle should cover |
| Name | Add ‘Name’. This is for internal use and will not be shown to customers. We recommend to name it ‘Payment Method - Currency’ (e.g. Invoice – EUR) |
| Subsidiary | Select from the drop down list |
| Settlement Currency | Select from the drop down list |
| CHARGE CURRENCIES | This must correspond with the currency of the terminal. You can only select one currency |
| Settlement Bank account | This is related to accounting and will not affect the settlement agreement with the acquirer |
| Authentication Credentials | > Add username and password. You will only be able to see asterisks, since they are password fields |
| AltaPay configuration | Add terminal. |
| Alternative payments | Check this checkbox |
| Website | Type the index of the website, that the payment processing profile is related to. Default is 1 |
| AVS Accept | Enter the AVS cases that should be accepted.
In order to control AVS cases, the checkbox “Enable AVS” must be clicked in the payment processing profile. Note that AVS must also be supported by the acquirer and is only supported by issuers in the US, Canada and UK. Use uppercases and separate them by comma (e.g. A,B,D). If an AVS result does not appear in Accept or Hold, the AVS result will be rejected and the order cancelled. If an AVS result is in both textboxes, the hold case has first priority. |
| AVS Hold | Enter the AVS cases that should be put on hold.
Use uppercases and separate them by comma (e.g. A,B,D). If an AVS result does not appear in Accept or Hold, the AVS result will be rejected and the order cancelled. If an AVS result is in both textboxes, the hold case has first priority. |
-
Press Save.
-
Go to Setup > Accounting > Accounting lists > New
-
Select ‘Payment Method’.

Complete the details, using the screenshot and the notes below for guidance.
| PAYMENT METHOD | Name the payment method. This will be shown in the web shop |
| EXTERNAL CHECKOUT | Check this checkbox |
| SUPPORTING MERCHANT ACCOUNTS | Select the Payment processing profile you defined earlier that you want to match the payment method with |
| COUNTRIES | Check ‘DISPLAY IN WEB SITE’ |
- Select the tab ‘Payment Visuals’
- Add flag, and URL with a picture that represents the payment method.
- Press Save.
Enable alternative payment in NetSuite
- Go to Setup > Side Builder/SCA > Setup web site.
- Select the web site to enable alternative payments
- Go to the shopping tab
- In the Payments Page, enable 'ALLOW NON-CREDIT CARD PAYMENT METHODS DURING CHECKOUT'.
- Press Save.
Add payment form
- Download the zip file from the GitHub repository
- Find the ‘ns_form.html’ in the ‘Alternative payments’ subfolder
- Go to: Documents > Files > File Cabinet > Web Hosting Files > Live Hosting > site
- Click on ‘Add file’ and select the ‘ns_form.html’
To integrate the Apple Pay payments in SCA follow the same steps mentioned in the Alternative Payment Methods except for enabling ALTERNATIVE PAYMENTS checkbox, enable APPLE PAY PAYMENTS checkbox from Altapay Configuration section and then follow below steps:
-
Configure Extension Development Environment
-
Set up extension developer tools. See ‘Set Up Extension Developer Tools’ in NetSuite Help Center for more details.

-
Fetch activated extensions from NetSuite account.
-
Download the zip file from the GitHub repository.
-
Copy the folder ‘IntegrateApplePay’ from Alternative payments > Apple Pay Integration and paste it into Workspace directory.
-
Deploy the extension.
-
-
Activate and configure the extension
- Navigate to Commerce > Extensions > Extension Manager and Activate the extension.
- To configure the extension navigate to Commerce > Websites > Configuration and select the Website and Domain and click on the Configure button.
- Update the configurations in the AltaPay Apple Pay Configuration tab and Save the settings.
- Navigate to Commerce > Extensions > Extension Manager and Activate the extension.
-
Add User Event on Sales Order
- Navigate to Customization > Scripting > Scripts > New
- Upload updatePaymentCustomData.js file from Alternative payments > Apple Pay Integration > User Events folder and click on Save.
- Click on Create Script Record button.
- Enter the script details.
- Click on Deploy Script button.
- Select the configurations make sure your script applies to order, status is released and execure role is administrator and then click on Save button.
Enable Payment Link feature
To enable the Payment Link feature:
-
Navigate to Setup > Enables Features
-
Select Transactions subtab
-
Enable Payment Link checkbox
-
Click Save

Configure Payment Link
To configure the payment link:
-
Go to Commerce > Payment Link
-
Fill out the listed fields for each category
-
Click Save

Email Invoice
To send the invoice to the customer
-
Open any invoice
-
Navigate to Communication subtab and click on Email button.

-
Select email template from Message subtab
-
Click Merge & Send

Customer will receive the invoice email with the payment link where he can choose the preferred payment method and complete the payment.

Address Verification System (AVS)
Prerequisites
AVS must also be supported by the acquirer and is only supported by issuers in the US, Canada and UK.
-
Display the Payment Processing Profile.
-
Complete the AVS details, using the screenshot and notes below for guidance.

| Enable AVS | Check the checkbox |
| AVS ACCEPT | Enter the AVS cases that should be accepted, using uppercase, and separating them by commas (e.g. A,B,D) If an AVS result is not in either box (Accept or Hold), the AVS result will be rejected and the order cancelled. If an AVS result is in both textboxes, the hold case has first priority. |
| AVS HOLD | Enter the AVS cases that need to be put on hold, using uppercase, and separating them by commas (e.g. A,B,D) If an AVS result is not in either box (Accept or Hold), the AVS result will be rejected and the order cancelled. If an AVS result is in both textboxes, the hold case has first priority. |
Here is a list of AVS cases that can occur. As a merchant you will need to decide which cases should be accepted or put on hold. Otherwise the order will be rejected.
| AVS | Description |
| A | Address matches, but zip code does not |
| B | Street address matches, post code not verified due to incompatible formats |
| C | Street address and postal code not verified for international transaction due to incompatible formats |
| D | Street address and postal codes match for international transaction |
| E | AVS not supported for this industry |
| F | Full Match - Address and Zip/Postal Code match (UK Only) |
| G | Address information is unavailable; international transaction; non-AVS participant |
| I | Address information not verified for international transaction |
| M | Street address and postal codes match for international transaction |
| N | No Match on Address (Street) or Zip |
| P | Postal codes match for international transaction. Street address not verified due to incompatible formats |
| Q | Unknown response from issuer/banknet switch |
| R | Retry. System unable to process |
| S | AVS not supported for this industry |
| U | Address information is unavailable |
| W | Nine-digit zip code matches, but address does not |
| X | Exact. Nine-digit zip code and address match |
| Y | Yes. Five-digit zip code and address match |
| Z | Five-digit zip code matches, but address does not |
Go to: Customization > Scripting > Scripts
There is several Scripts within NetSuite, so not all of these are related to the reconciliation process. Go to the script that has the name “Recon.js” and click either view or edit. Then there is a tab called “Execution log” and here you can find the log entries related to the funding’s files and funding files alone.
These log entries are needed when you have any problems with the reconciliation and need to contact AltaPay support.
Setting up reconciliation in NetSuite
To ensure that reconciliation entries related to orders are populated on the correct accounts, you must have a custom record for each active AltaPay Payment processing profile in NetSuite
AltaPay reconciliation > Reconciliation Setup > Setup Accounts.

| Subsidiary | Select the same subsidiary “Account for Payment and refunds” is related to |
| Terminal Name | The terminal name must match the terminal on which orders need to be reconciled |
| ACCOUNT FOR PAYMENT AND REFUNDS | select the account where entries are related to the order (payment, refund) |
| Other Asset Id | Select the account where entries are related to the flow of the transactions (refund/payment rejected, chargebacks (representment, pre arbitration)) that isn’t capture/refunds |
| Transaction Type – Sales Orders | Select the relevant record types that are related to Sales order |
| Transaction Type – Refund | Select the relevant record types that are related to refund |
There are also reconciliation entries that are not related to an order and need to be populated on a different account. Here you would need to add these record types and decide which account they should be populated on. This can be done here:
AltaPay reconciliation > Reconciliation Setup > Setup record type.
Then add these (these are case sensitive):
- rolling
- fee
- adjustment
- roundoff
- not_found
Payment method:
Go to: Setup -> Accounting -> Accounting lists
Here the AltaPay payment methods should have the setting: “GROUP WITH UNDEPOSITED FUNDS”.

Uploading Funding Files
Download the funding files from the gateway. These can be found here: Finances > Funding files. Download the files that you want to reconcile.
Log in into NetSuite and then go to: AltaPay reconciliation > Import data > Upload files.
Click on the “Select file” and select a funding file that has been downloaded from AltaPay.
When the funding file is successfully uploaded, there will be a message “Funding files successfully handled” and there will be an option to upload another funding file. If the funding data couldn’t be populated within NetSuite, log entries will be shown, leading up to the error. For further details, see the log files.
The AtaPay plugin is supported with the NetSuite-provided Customer Center portal, which gives access to the customers to place orders, request a return, view their transaction history, get quotes and make payment etc.
Enable Customer Center
To enable customer center
-
Navigate to Setup > Company > Enable Features
-
Choose Web Presence sub tab
-
Select the Customer Access checkbox
-
Click on the save button

Provide customer center access to individual customers
To provide customer center access to individual customers follow the below steps.
-
Navigate to Lists > Relationships > Customers
-
Click Edit link next to the customer that you want to assign a role to
-
Click the Access tab
-
Select the Give Access checkbox
-
Click on the save button

Where can I find the log files?
In the case where you experience an issue with the AltaPay bundle we would like you to provide us with the steps leading to the issue and a log file. You can access the log file by following three simple steps.
-
Go to: Customization > Plug-ins > Plug-in implementations

-
Click ‘Edit’ or ’View ’ beside ‘AltaPay’
-
Click on the tab ‘Execution Log’
How can I retrieve logs for AltaPay troubleshooting?
-
First, add filtering criteria to the logs view by clicking “Customize View”

-
In the new window navigate to the “Criteria” tab

-
Set the days from when to extract needed logs. There is already included filter for the date filter with default value set to “today”. To change this, click on the “Set Description” button next to the “Date” filter

-
A new window is displayed where date filters can be set. Date filters can be set with relative settings based on today’s date or absolute.

Example
To retrieve all the logs from yesterday and today’s date perform following steps:
- In the “Date” select list set value “within”
- In the “From” field select yesterday’s date
- In the “To” field select today’s date
-
Click "Set" to apply the changes.
-
Now set the filter for the script. In that way, only logs related to “AltaPay” bundle will be shown. To do that select “Script” value from the list.

-
A new window will appear where actual value for the script should be configured. In the text area, key in AltaPay.

-
Now click "Preview" to preview the extract.

-
All logs which meet given criteria will be shown on the results page. To export logs, select “Export -PDF” or “Export - Microsoft Excel”

How can I remove the gateway field in the payment processing profile?
If there is a gateway field in the payment processing profile, this can be ignored. However, you can remove the field:
- Go to Customization > Lists, Records & Fields > Record types
- Then click on ‘Altapay_Configuration’ and then ‘Gateway’
- Check the check box ‘INACTIVE’ and click ‘Save’.
How does fraud detection work?
If fraud detection is enabled on the terminal, the AltaPay NetSuite app will follow the fraud detection recommendations. The following four recommendations are available:
- ‘Deny’
The transaction is denied and the order is cancelled as well. You can see the reason here:
- Find the order in question
- Go to the ‘Payment’ tab
- ‘Payment events’ > click ‘View’ and a new window appear
- ‘Payment Status’ > ‘DETAILS’ > here you can see the message for why the order was denied.
If you utilize a bespoke version of ReD, the reason for the deny recommendation can be located in the ReD CSI interface.
Good practice will be to release the payment in our backend. Debit cards do not contain reservations.
- ‘Challenge’. The transaction is on hold and the merchant will need to decide whether they want to handle the order. If nothing is done the order will be hold in NetSuite. You can see the reason here:
- Find the order in question
- Go to the ‘Payment’ tab
- ‘Payment events’ > click ‘View’ and a new window appear
- ‘Payment Status’ > ‘DETAILS’ > here you can see the message for why the order is on hold.
If you utilize a bespoke version of ReD, the reason for the deny recommendation can be located in the ReD CSI interface.
If the merchant doesn’t want to fulfill the order, they have to cancel it. It will be good practice to release the orders in our backend, so there are no reservations on debit cards. If the merchant will handle this order, they will have to ‘Override the payment hold’ and fulfill the order.
The merchant can find the ‘Challenge’ orders here:
- Go to Transactions > Sales > Manage Payment Hold
- Dropdown menu ’HOLD REASON’ > select ‘External Fraud Review’ > a list of orders on hold is shown and from here you can accept or decline the order.
- ‘Accept’ . This order will be accepted without any notice.
- ‘Unknown’. This can be due to technical problems at either AltaPay or the fraud company. The order will be handled as accepted
How do I access log files for the reconciliation process?
Go to: Customization > Scripting > Scripts There is are several scripts within NetSuite, so not all of these are related to the reconciliation process. Go to the script, that has the name “Recon.js” and click either view or edit. Then there is a tab called “Execution log” and here you can find the log entries related to the funding’s files and funding files alone.
These log entries are needed when you have any problems with the reconciliation and need to contact AltaPay support.
Payment method is not visible in NetSuite Website
Check that Payment Visuals is set in the Payment Method, as explained in Adding a payment method.