Plugin icon

Set up in-person payments

Configure SuiteCommerce InStore (SCIS) for processing point-of-sale (POS) payments with Adyen.

Before you begin

Our SuiteCommerce InStore (SCIS) integration supports the following payment terminals: e280, e285, M400, P400 Plus, V400c, and V400m.

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.

  1. Log in to the Customer Area with your company account.

  2. Go to Developers > API credentials.

  3. If you don't 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.

  4. In the Authentication pane:

    1. 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.

    2. 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.

  5. 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
  6. Associate the correct merchant accounts to the API credential.

  7. 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:

  1. Enable shipping routes.
  2. Create a SCIS payment method instance.
  3. Create a payment processing profile.
  4. Set up device IDs.

Enable shipping routes

To set up multiple shipping routes for processing in-person payments:

  1. Log in to your NetSuite Customer Center.
  2. Go to Setup >  Company >  Enable Features >  Transactions.
  3. 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:

  1. In your NetSuite Customer Center, go to Setup >  Accounting >  Accounting Lists >  New.
  2. Select Payment method.
  3. Set TYPE to EMV.
  4. Select the DISPLAY IN WEBSITE checkbox.
  5. Go to Commerce > InStore > Payment Methods > New.
  6. 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:

  1. In your NetSuite Customer Center, go to  Setup > Accounting > Payment Processing Profiles > New.

  2. 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.

  3. In the Authentication Credentials section, enter the username and basic authentication password that you set up in your Customer Area in Step 1.

  4. 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

  5. In the Payment Information section, select Adyen EMV.

  6. 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:

  1. In your NetSuite Customer Center, search for SCIS payment device.
  2. Select New SCIS Payment Device.
  3. In the DEVICE ID field, enter the unique terminal ID of your Adyen payment terminal.
    You can find this in your  Customer Area, under Point-of-sale >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.

  4. Under SUPPORTED PAYMENT METHOD, select Adyen EMV.
  5. 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:

  1. Log in to your Customer Area and switch to your POS merchant account.

  2. Go to Developers > Webhooks.

  3. Select Webhook.

  4. In the row for the Standard webhook, select Add.

  5. 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.
  6. Select Save changes.

Step 4: Enter the postback URL in the Terminal API settings

  1. Log in to your Customer Area, and switch to your POS merchant account.

  2. Go to Point of sale > Terminal settings > Integrations.

  3. In the Terminal API section, select Decrypted.

  4. Under Event URLs, select Add new.

  5. Select the pencil icon next to the field that appears.
    The Add URL dialog opens.

  6. 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.

  7. Select Add URL.

  8. Select Save.

  9. Contact our Support Team to toggle the Enable Websockets feature.

  10. Ensure that the Terminal Settings are set for each device.

See also