Requirements
- Install the NetSuite Chargeback Workflow Bundle, and the Adyen SuitePayments Bundle.
- Make sure that your local network allows your POS app and payment terminal to connect to a network. For more information, refer to our point-of-sale network recommendations.
Step 1: Set up your Adyen Customer Area
We recommend creating a separate Adyen merchant account for your in-person payments processing. If you operate multiple physical stores, you can link these to one merchant account, using the storeID
to identify the individual store location.
Set up API credentials
For connecting your NetSuite back end to the Adyen Terminal API, you need to have API credentials. If you have several merchant accounts for your in-person payments processing, you can associate them to a single API credential.
-
Log in to the Customer Area with your company account.
-
Go to Developers > API credentials.
-
If you do not have an API credential yet, select Add new credential, and select Webservice as User type.
If you already have one, select this user from the API credentials list. -
In the Authentication pane:
- In the API key section, select Generate New API Key.
Securely store the API key in your system. You'll need this to create a payment processing profile in NetSuite, and won't be able to restore it later.
- From the Basic Auth section, note down the password.
Securely store the basic authentication password in your system. You'll need this to create a payment processing profile in NetSuite, and won't be able to restore it later.
- In the API key section, select Generate New API Key.
-
In the Roles and Associated Accounts pane, enable the following roles:
- API PCI Payments Role
To enable the API PCI payments role, contact our Support Team, and mention that you are using NetSuite.
- Merchant PAL Webservice Role.
- Checkout webservice Role
- API PCI Payments Role
-
Associate the correct merchant accounts to the API credential.
-
Select Save at the bottom of the page.
The API key and the basic authentication password take effect after you save the configuration.
Step 2: Set up your NetSuite Customer Center
To set up in-person payments processing in NetSuite:
- Enable shipping routes.
- Create a SCIS payment method instance.
- Create a payment processing profile.
- Set up device IDs.
Enable shipping routes
To set up multiple shipping routes for processing in-person payments:
- Log in to your NetSuite Customer Center.
- Go to Setup > Company > Enable Features > Transactions.
- Select Shipping & Receiving and enable MULTIPLE SHIPPING ROUTES.
Create a SCIS payment method instance
To set up a separate payment method instance for the SCIS bundle:
- In your NetSuite Customer Center, go to Setup > Accounting > Accounting Lists > New.
- Select Payment method.
- Set TYPE to EMV.
- Select the DISPLAY IN WEBSITE checkbox.
- Go to Commerce > InStore > Payment Methods > New.
- Select the Payment method you created above.
Create a payment processing profile
Your in-person payments implementation needs its own payment processing profile. To create a payment processing profile:
-
In your NetSuite Customer Center, go to Setup > Accounting > Payment Processing Profiles > New.
-
In the Name column, find Adyen and select Add Profile. This opens a page for editing the new profile.
Fill out the following fields:Field Description WEBSITE
Select the SCIS website.
NAME
A unique name for this profile.
SUBSIDIARY
The NetSuite subsidiary for this profile.
SETTLEMENT CURRENCY
The currency in which Adyen should pay out to your bank account.
CHARGE CURRENCIES
The currencies that Adyen will process for this profile.
SETTLEMENT BANK ACCOUNT
The bank account that receives the payouts from Adyen.
TEST MODE
Use Adyen test endpoints. If selected, this overrides the endpoint that you enter in the PRODUCTION ENDPOINT DOMAIN PREFIX below.
INACTIVE
Disable this payment processing profile.
-
In the Authentication Credentials section, enter the username and basic authentication password that you set up in your Customer Area in Step 1.
-
In the Adyen SuitePayment Main Config section, fill out the following fields:
Field Description MERCHANT ACCOUNT ID
The name of your Adyen merchant account for which the POS payments will be processed.
PRODUCTION ENDPOINT DOMAIN PREFIX
The live URL prefix from your Customer Area > Developers > API URLs. Example: https://pos-payment-test. This field is not used when you checked TEST MODE above.
SHOPPER INTERACTION OVERRIDE
Select: POS
-
In the Payment Information section, select Adyen EMV.
-
In the Gateway Request Types section, check AUTHORIZATIONS, CAPTURES, SALES, and REFUNDS.
Set up device IDs
Every payment terminal that you are using with Adyen needs to be registered in NetSuite:
- In your NetSuite Customer Center, search for SCIS payment device.
- Select New SCIS Payment Device.
- In the DEVICE ID field, enter the unique terminal ID of your Adyen payment terminal.
You can find this in your Customer Area, under In-person payments >Terminals.The unique terminal ID = [Device model]-[Serial number], for example: P400Plus-123456789.
You can also find the serial number on the terminal itself: select 5 on the terminal, and then select Confirm . This opens the quick info menu, and shows the serial number.
- Under SUPPORTED PAYMENT METHOD, select Adyen EMV.
- Select Save at the top-left corner of the page.
Step 3: Set up webhooks
To inform NetSuite of payment status changes, Adyen uses webhooks, sent as HTTP callbacks to endpoints on your server. To receive webhooks, you need to enter in your Adyen Customer Area the postback URL for your payment processing profile in NetSuite:
-
Log in to your Customer Area and switch to your POS merchant account.
-
Go to Developers > Webhooks.
-
Select Webhook.
-
In the row for the Standard webhook, select Add.
-
Configure General settings:
Setting Description Server configuration - URL: The postback URL from your POS payment processing profile. To find this, go to your POS payment processing profile in View mode, and then to the Payment Information section.
- Method: JSON.
- Encryption Protocol: TLSv.1.2.Merchant accounts Select which merchant accounts this webhook is for. -
Select Save changes.
Step 4: Enter the postback URL in the Terminal API settings
-
Log in to your Customer Area, and switch to your POS merchant account.
-
Go to In-person payments > Terminal settings > Integrations.
-
In the Terminal API section, select Decrypted.
-
Under Event URLs, select Add new.
-
Select the pencil icon next to the field that appears.
The Add URL dialog opens. -
Enter the details:
- URL: ["YOUR_POSTBACK_URL_FROM_NETSUITE"]
Example: ["https:\/\/system.netsuite.com\/payments\/postback?compid=TSTDRV1919617&nlm ..."] - Public: select this option if the specified URL is on a public network.
-
Local: select this option if the specified URL is on a Local Area Network.
- URL: ["YOUR_POSTBACK_URL_FROM_NETSUITE"]
-
Select Add URL.
-
Select Save.
-
Contact our Support Team to toggle the Enable Websockets feature.
-
Make sure that the Terminal Settings are set for each device.