Skip to main content

How To Integrate and Set Up Adyen at the PDC


Introduction

The Adyen payment service enables Enactor POS terminals to process card payments via Adyen-integrated Pin Entry Devices (PEDs). The integration uses the Enactor Payment Device Controller (PDC) - a middleware component that manages communication between the POS and the Adyen payment terminals.

The PDC runs on the same host machine as the POS application and handles all payment device communication. An Adyen-integrated PED must be present on the same network as the PDC host. Settlement notifications from Adyen are received via the Adyen Integration Services (AIS) container, which acts as a proxy between Adyen's webhook system and the Enactor Estate Manager processing server.

The purpose of this guide is to demonstrate the steps required to integrate and set up the Adyen payment service with the Enactor PDC, covering configuration in the Adyen Customer Area, the Enactor Estate Manager, and the PDC installer.

note

The jar files used in this integration are part of an alpha build of the Enactor Adyen project. The necessary files can be downloaded from the Enactor Adyen releases page.

tip

This guide covers PED-based Adyen integration (hardware terminals). If you are setting up the Adyen MPOC (Mobile Point of Care - tap-to-pay on Android), see How-to Guide - Setup Adyen MPOC App with PDC.


Overview

The following steps are required to integrate and set up Adyen at the PDC:

  1. Adyen Portal Configuration - Configure the Adyen Customer Area: AIS settlement notifications, terminal API URLs, HMAC keys, and delayed capture settings
  2. Account Credentials Maintenance - Create Adyen payment service credentials in Estate Manager with API key, certificate, and encryption properties
  3. Tender Maintenance - Create a Payment Service tender record
  4. Menu Set Maintenance - Add the PaymentServiceTender event to the Tender menu set
  5. Menu Maintenance - Add Payment Service and Refund buttons to the POS menus
  6. Payment Device Maintenance - Register each Adyen PED as a payment device
  7. Device Maintenance - Create a device record for the Adyen payment service
  8. Payment Device Host Maintenance - Configure the payment device host that manages the PED
  9. POS Terminal Maintenance - Connect the POS terminal to the payment service host
  10. User Role Maintenance - Grant payment service privileges to POS Operator and TMS Login User roles
  11. PDC Configuration - Configure the PDC installer.ini and install the PDC
  12. Broadcasting the App Update - Deploy the Adyen application update to the target devices

Prerequisites

Before starting, you should have the following components properly set up:

  • Enactor POS
  • Payment Device Host (PDC)
  • Enactor Estate Manager (EM)
  • Payment Device Management Service (PDMS)
  • Adyen Web Configuration Dashboard with valid login credentials
  • Adyen-integrated PED
info

The Payment Device Host and the POS application must share the same host machine. Ensure this is in place before proceeding with this guide.


Configuration Steps - Adyen Portal Configuration

Before configuring Estate Manager, several settings must be prepared in the Adyen Customer Area. These steps involve deploying the AIS container, configuring webhook URLs, generating API and HMAC keys, and optionally enabling delayed capture.

AIS for Settlement Notification Support

In order to support settlement notifications sent by Adyen, an endpoint supporting their webhook format must be accessible to Adyen over the internet.

The Enactor AIS Docker Container must be deployed to the same server running the Enactor EMP Docker Container. The AIS is a proxy that accepts HTTP POST requests from Adyen and inserts them into the message queue of the EM processing server. It shares the same database as the EMP container and requires no additional environment variables beyond those already required for the EMP container.

The port(s) 39895 for HTTP and/or 52305 for HTTPS need to be exposed to Adyen's servers via the internet.

Adyen portal only allows the following port numbers:

EnvironmentProtocolPort(s)
TestHTTP80, 8080, 8888
Test and LiveHTTPS443, 8443, 8843

To verify the AIS is correctly deployed, navigate to [host]/AdyenServices/rest/notifications/status (replace [host] with your server address). A correctly deployed service returns the text AdyenNotificationService: Online.

The following tasks must be completed in the Adyen Web Configuration Dashboard (test environment: ca-test.adyen.com):

  1. Generate an API Key - See the "Step 4: Get API credentials" under the "Set up your test account" section of Get started in the Adyen Documentation for details of how to do this.
  2. Configure settlement notifications - Configure the webhook URL to end in /AdyenServices/rest/notifications. This must point to the public address of the deployed AIS Docker container. The URL prefix is the same as the Estate Manager URL, since both the EMP and AIS containers are deployed on the same host. For example: https://dev.enactor.co.uk:8888/AdyenServices/rest/notifications
  3. Generate a HMAC Key for notifications - See the "Enable HMAC signatures" section of Verify HMAC signatures in the Adyen Documentation for details of how to do this.
  4. Configure a key for the PEDs - See the "Set up a shared key" section of Protect local communications in the Adyen Documentation for details of how to do this. If the key is configured at the store level, the key must be passed down to the terminal.

Navigate to Point of sale > Terminal settings in the Adyen Customer Area to configure device communication settings. These settings can be applied at the Account, Terminal, All Terminals, or Store level, with each level inheriting settings from a higher level.

In the Integrations sub-menu, configure the following settings:

Adyen Customer Area Terminal Settings Integrations sub-menu for the Enactor merchant account. Enable terminal API is set to Enabled. Event URLs and Display URLs are both set to http://.peer:8080/AdyenIntegration/rest/notifications. Enable DCC and Enable WebSockets are both Disabled.

The Integrations sub-menu controls how the PED communicates with the Enactor PDC. Set Enable terminal API to Enabled. Set both Event URLs and Display URLs to the notifications endpoint, replacing the host prefix with the address of your PDC server.
SettingValue
Enable terminal APIEnabled
Event URLshttps://[pdc-host].peer:8843/AdyenIntegration/rest/notifications
Display URLshttps://[pdc-host].peer:8843/AdyenIntegration/rest/notifications

This completes the AIS for Settlement Notification Support configuration.

Setting Delayed Automatic Capture

By default, payments are captured immediately after authorisation. Setting a capture delay gives you time to cancel the authorisation before funds are collected. This is useful when:

  • A shopper changes their mind shortly after purchase
  • Store staff identify a mistake after a payment is approved
  • The shopper must provide a signature that staff need time to verify
note

To modify capture settings, the Merchant Admin role is required in the Adyen portal. This role is not configured through the Enactor Estate Manager.

To set up a capture delay:

  1. Log in to your Adyen Portal.
  2. Switch to your merchant account.
  3. Go to Settings > Account settings.
  4. In the General settings section, next to POS capture delay, select the edit icon.
  5. From the dropdown, select a capture delay of minutes, hours, or days before point-of-sale payments are automatically captured.
  6. Select Save.
tip

Adyen recommends selecting a delay of 2 hours. To revert to immediate capture, select Immediate from the dropdown before saving.

This completes the Adyen Portal configuration.


Configuration Steps - Account Credentials Maintenance

Account Credentials store the authentication and encryption keys required for the Enactor Adyen integration to communicate with the Adyen payment service.

Sign in to Estate Manager and navigate to Account Credentials Maintenance using the Search or the path:

Main Menu > Configuration > Financial > Account Credentials

The Account Credentials Maintenance screen lists all configured credential records.

Account Credentials Maintenance list showing configured credential records. The list includes AdyenMpoc with Account Type AdyenPaymentService and Is Live/Active true, along with other system credential records.

The Account Credentials Maintenance list shows all configured credential records. Select Create new Account Credentials to add a new Adyen credential. Give the record an appropriate Account Credential ID.

Select Create new Account Credentials and enter an appropriate Account Credential ID.

In the General tab, configure the following fields:

Account Credentials Maintenance General tab for AdyenMpoc. Account Type is set to AdyenPaymentService, Name is AdyenPaymentService, Is Live/Active is checked, and Use System Key is checked.

In the General tab, set Account Type to AdyenPaymentService and Name to an appropriate description. Tick Is Live / Active and Use System Key.
FieldValue
Account TypeAdyenPaymentService
NameAdyenPaymentService (or an appropriate description)
Is Live / ActiveChecked
Use System KeyChecked

In the Other Properties tab, select Add Property and add each of the following properties:

Account Credentials Maintenance Other Properties tab for AdyenMpoc. The properties list is empty with an Add Property button available.

In the Other Properties tab, use Add Property to add each required Adyen integration key. Set Write Only to checked for sensitive values such as APIKey and HMACKey.
Property NameWrite OnlyTypeValue
APIKeyYesStringThe API Key obtained from the Adyen Web Configuration Dashboard
CertificateNoFileDownload the Adyen public root certificates from the Adyen root certificate documentation and upload the PEM file
ConnectionTimeoutMillisNoString(Optional) Connection timeout in milliseconds between Enactor and Adyen. Not normally required.
EnableAutomaticCaptureNoString(Optional) Enter false to disable automatic capture. When omitted, Adyen performs the capture automatically on authorisation.
EnvironmentNoStringEnter LIVE or TEST depending on the Adyen environment in use
HMACKeyYesStringThe HMAC Key generated via the Adyen Web Configuration Dashboard
KeyIdentifierNoStringThe Key Identifier from the Adyen Web Configuration Dashboard encryption section
KeyPassphraseYesStringThe Key Passphrase from the Adyen Web Configuration Dashboard encryption section
KeyVersionNoStringThe Key Version from the Adyen Web Configuration Dashboard encryption section
MerchantAccountNoStringThe name of the Merchant Account from the Adyen Web Configuration Dashboard
TransactionTimeoutMillisNoString(Optional) Maximum time in milliseconds for commands sent to Adyen or the PED before they time out and recovery is allowed
info

The KeyIdentifier, KeyPassphrase, and KeyVersion values must match the values configured in the Adyen portal under In-person payments > Terminals > [Terminal] > Integrations > Terminal API > Encryption. Use identical values in both locations.

Select Save to save the account credential record.

This completes the Account Credentials Maintenance configuration.


Configuration Steps - Tender Maintenance

A Payment Service tender must be created to represent the Adyen payment method in the Enactor POS.

Sign in to Estate Manager and navigate to Tender Maintenance using the Search or the path:

Main Menu > Configuration > Financial > Tender

The Tender Maintenance screen lists all configured tenders across all regions.

Tender Maintenance list showing existing tender records across regions, including CRD Cards, PDQ Cash, CSH Cash, CHK Cheque, and CN Credit Note entries. The Create a new Tender button is at the bottom.

The Tender Maintenance list shows all configured tenders. Select Create a new Tender to add the Payment Service tender for Adyen.

Select Create a new Tender. On the creation screen, set:

Tender Maintenance new tender creation screen. Region is set to United Kingdom, Tender Type is Payment Service, and Tender ID is PAYMENT_SERVICE.

Set Region to your store region, Tender Type to Payment Service, and Tender ID to PAYMENT_SERVICE. Select Create to proceed to the configuration tabs.
FieldValue
RegionThe applicable region (for example, United Kingdom)
Tender TypePayment Service
Tender IDPAYMENT_SERVICE

Select Create, then configure the tabs as follows.

General Tab:

Tender Maintenance General tab for PAYMENT_SERVICE tender in United Kingdom. Description is set to Payment service with English UK locale. Currency is set to Pounds Sterling. Maximum Tenders Per Transaction is 0.

In the General tab, set Description to an appropriate label (for example, Payment service) and Currency to the currency used at the store.
FieldValue
DescriptionPayment service (enter an appropriate description)
CurrencySelect the appropriate currency (for example, Pounds Sterling)

Restrictions 1 Tab:

Tender Maintenance Restrictions 1 tab for PAYMENT_SERVICE. Debits Allowed is checked, Credits Allowed is checked, and Prompt With Amount Due is checked. All limits are set to zero meaning unlimited.

In the Restrictions 1 tab, tick Debits Allowed, Credits Allowed, and Prompt With Amount Due. Leave all limit values at 0.00 (zero means unlimited).
FieldValue
Debits AllowedChecked
Credits AllowedChecked
Prompt With Amount DueChecked

Restrictions 2 Tab:

Tender Maintenance Restrictions 2 tab for PAYMENT_SERVICE. All Prevent Void options are unchecked. The Return Tenders section shows an Add button with a Payment Service Tender dropdown.

In the Restrictions 2 tab, scroll to the Return Tenders section. Select Add, choose Payment Service Tender from the dropdown, then select Add again to confirm. This allows the tender to be used for refunds.

In the Return Tenders section:

  1. Select Add.
  2. In the Return Tenders column, select Payment Service Tender from the dropdown.
  3. Select Add to confirm.

Select Save and broadcast the Tender using the Data Broadcaster.

This completes the Tender Maintenance configuration.


Configuration Steps - Menu Set Maintenance

The Menu Set must be updated to include the PaymentServiceTender event so that the Tender menu can display the Payment Service button.

Sign in to Estate Manager and navigate to Menu Set Maintenance using the Search or the path:

Main Menu > Configuration > System > Menu Sets

The Menu Set Maintenance screen lists all configured menu sets.

Menu Set Maintenance list showing two configured menu sets: POS and WebMaintenance. The edit button is highlighted on the POS row.

Select the edit icon on the POS menu set to open it for configuration.

Select the edit icon on the POS menu set. Go to the Options tab and select the Tender menu from the Menu dropdown.

Add a new Event with the name PaymentServiceTender and configure the event parameters as shown:

Menu Set Maintenance POS Options tab. Menu is set to Tender with Menu ID TENDER. Events shows Payment Service Tender with Message Base Pos/PaymentService/PaymentServiceMessages and Message ID BUTTON_PAYMENT_SERVICE_TENDER.

In the Options tab, select the Tender menu and add the Payment Service Tender event. Set Message Base to Pos/PaymentService/PaymentServiceMessages and Message ID to BUTTON_PAYMENT_SERVICE_TENDER.
FieldValue
MenuTender
EventsPayment Service Tender
Event DescriptionPayment Service Tender
Message BasePos/PaymentService/PaymentServiceMessages
Message IDBUTTON_PAYMENT_SERVICE_TENDER

Select Save.

This completes the Menu Set Maintenance configuration.


Configuration Steps - Menu Maintenance

Two menu buttons must be added to the POS: one for processing a payment and one for processing a refund.

Add a Payment Service Button (in POS)

Sign in to Estate Manager and navigate to Menu Maintenance using the Search or the path:

Main Menu > Configuration > System > Menus

Apply the following filters to locate the Tender menu. Adjust the Role and Menu Group fields to match your deployment:

Menu Maintenance filter screen. Menu Set is POS, Role is Sales Assistant, Menu Group is Default Standard POS, and Menu ID filter starts with TENDER. One matching result is shown: TENDER.

Use the filter fields to locate the TENDER menu for the correct role and menu group. Select the menu from the results table to open it for editing.
FilterValue
Menu SetPOS
RoleThe role used for POS transactions (for example, Sales Assistant)
Menu GroupThe menu group configured on the POS terminal
Menu IDStarts With TENDER

Select the TENDER menu from the results. The menu tree is displayed showing the current buttons. Navigate to the More sub-menu (item 7) and select Add a new Button:

Menu Maintenance showing the TENDER menu tree. Tree contains CashTender, CardTender, ChequeTender, Vouchers, Customers, More, and ReturnToSales. The Add a new Button option is highlighted.

In the TENDER menu tree, navigate to the More sub-menu (item 7) and select Add a new Button to add the Payment Service button.

In the General tab, set:

Menu Maintenance General tab for the PaymentServiceTender button on TENDER. Event is Payment Service Tender, ID is PaymentServiceTender, Item Label is Payment Service, and Visibility Expression checks the PaymentServiceTenderAllowed privilege.

Set Event to Payment Service Tender, ID to PaymentServiceTender, and Item Label to Payment Service. The Visibility Expression ensures the button only appears when the user has the required privilege and the tender is applicable.
FieldValue
EventPayment Service Tender
IDPaymentServiceTender
Item LabelPayment Service
Item Message IdBUTTON_PAYMENT_SERVICE_TENDER
Item Message BasePos/PaymentService/PaymentServiceMessages
Visibility Expression#{priv:checkPrivilege('enactor.pos.PaymentServiceTenderAllowed') && basket:testTenderApplicable('PAYMENTSERVICE')}

In the Data tab, add a new key-value pair:

Menu Maintenance Data tab for PaymentServiceTender. Shows a key-value pair with Name enactor.mfc.TenderId, Java Type String, and Value PAYMENT_SERVICE.

In the Data tab, add a key-value pair linking the button to the Payment Service tender. Set Name to enactor.mfc.TenderId, Java Type to String, and Value to PAYMENT_SERVICE.
NameJava TypeValue
enactor.mfc.TenderIdStringPAYMENT_SERVICE

Select Save. Broadcast the menu change to the POS.

This completes the Add a Payment Service Button configuration.

Add a Refund Payment Service Tender Button (in POS)

Navigate to Menu Maintenance and apply filters to locate the CREDIT_TENDER menu, using the same Role and Menu Group as above:

Menu Maintenance filter screen with Menu ID set to start with CREDIT_TENDER. One result is shown: POS, Sales Assistant, Default Standard POS, CREDIT_TENDER.

Filter with Menu ID starting with CREDIT_TENDER and the same Role and Menu Group as before. Select the result to open the menu for editing.
FilterValue
Menu SetPOS
RoleThe same role as used above
Menu GroupThe same menu group as used above
Menu IDStarts With CREDIT_TENDER

Select the CREDIT_TENDER menu from the results. Select Add a new Button:

Menu Maintenance showing the CREDIT_TENDER menu tree. Tree contains CashRefund, CardRefund, CreditNoteRefund, CustomerCreditAccountRefund, GiftCardRefund, and ReturnToSales. Add a new Button is highlighted.

In the CREDIT_TENDER menu tree, select Add a new Button to add the Payment Service Refund button.

In the General tab, set:

Menu Maintenance General tab for the PaymentServiceRefund button on CREDIT_TENDER. Type is Event, Event is Payment Service Refund, ID is PaymentServiceRefund, and Visibility Expression checks PaymentServiceRefundAllowed.

Set Event to Payment Service Refund, ID to PaymentServiceRefund, and Button Label to PaymentServiceRefund. The Visibility Expression restricts the button to users with the refund privilege.
FieldValue
TypeEvent
EventPayment Service Refund
IDPaymentServiceRefund
Button LabelPaymentServiceRefund
Button Message IdBUTTON_PAYMENT_SERVICE_REFUND
Button Message BasePos/PaymentService/PaymentServiceMessages
Visibility Expression#{priv:checkPrivilege('enactor.pos.PaymentServiceRefundAllowed') && basket:testTenderApplicableAvailable($$tenderId, transactionHandler, posTerminal)}

In the Data tab, add a new key-value pair:

Menu Maintenance Data tab for the PaymentServiceRefund button. Shows a key-value pair with Name enactor.mfc.TenderId, Java Type String, and Value PAYMENT_SERVICE.

In the Data tab, add the same key-value pair as the payment button. Set Name to enactor.mfc.TenderId, Java Type to String, and Value to PAYMENT_SERVICE.
NameJava TypeValue
enactor.mfc.TenderIdStringPAYMENT_SERVICE

Select Save. Broadcast the menu change to the POS.

This completes the Menu Maintenance configuration.


Configuration Steps - Payment Device Maintenance

This step must be repeated for every PED that will use the Adyen payment service.

Sign in to Estate Manager and navigate to Payment Device Maintenance using the Search or the path:

Main Menu > Configuration > Financial > Payment Device

Select Create a new payment device and enter an appropriate Payment Device ID:

Payment Device Maintenance new device creation screen. The Payment Device ID field is empty and highlighted. Back and Create buttons are shown.

Enter an appropriate Payment Device ID for the Adyen PED, then select Create.

After selecting Create, configure the payment device record:

Payment Device Maintenance for AdyenPaymentService. Name is AdyenPaymentService, Location is UK Hertford, Service Type is Payment Service, Payment Service Type is Adyen, and the configuration block shows POIID and Endpoint values.

Set Service Type to Payment Service and Payment Service Type to Adyen. In the Payment Service Configuration box, enter the POIID and Endpoint for the specific PED. Set Payment Service Account Credentials to the credential record created in the Account Credentials step.
FieldValue
NameA descriptive name for this payment device
LocationThe store location (must match the payment device host location)
Service TypePayment Service
Payment Service TypeAdyen
Payment Service ConfigurationSee below
Payment Service Account CredentialsSelect the Account Credentials record created earlier

In the Payment Service Configuration box, enter:

[Adyen]
POIID=P400Plus-{serial number}
Endpoint=https://{ip address displayed on the PED}

Replace {serial number} with the serial number of the Adyen PED device and {ip address displayed on the PED} with the IP address shown on the PED screen.

Select Save.

This completes the Payment Device Maintenance configuration.


Configuration Steps - Device Maintenance

Sign in to Estate Manager and navigate to Device Maintenance using the Search or the path:

Main Menu > Administration > Devices > Devices

Select Create a new Device and enter an appropriate Device ID:

Device Maintenance new device creation screen. The Device ID field is empty and highlighted. Back and Create buttons are shown.

Enter an appropriate Device ID for the PDC device record (for example, matching the naming convention used for other devices in your system), then select Create.

After selecting Create, configure the device record on the General tab:

Device Maintenance General tab for psd01@0001.enactor. Name is psd01@0001.enactor, Host Name is localhost, Http Port is 8000, RMI Port is 2099, Type is Payment Service, and Location is UK Hertford.

In the General tab, set Host Name to localhost (the PDC runs on the same machine as the POS), Http Port to 8000, RMI Port to 2099, and Type to Payment Service.
FieldValue
NameAn appropriate device name (for example, matching the device ID)
Host Namelocalhost
Http Port8000
RMI Port2099
TypePayment Service
LocationThe store location. Configure in Location Maintenance if not already defined.

Select Save.

This completes the Device Maintenance configuration.


Configuration Steps - Payment Device Host Maintenance

Sign in to Estate Manager and navigate to Payment Device Host Maintenance using the Search or the path:

Main Menu > Configuration > Financial > Payment Device Host

Select Create a new Payment Device Host and enter an appropriate Payment Device Host ID:

Payment Device Host Maintenance new host creation screen. The Payment Device Host ID field is empty and highlighted. Back and Create buttons are shown.

Enter an appropriate Payment Device Host ID. Record this value - it is required in the PDC installer.ini file. Select Create.

After selecting Create, configure the General tab:

Payment Device Host Maintenance General tab for pdh1@0001.enactor. Device Key is psd01@0001.enactor, Service Type is Payment Service, Proxy Address is tcp:7777, Configuration poll interval is 60, and Capture Method is Estate Manager.

Set Device Key to the device record created in the Device Maintenance step, Proxy Address to tcp:7777, and Capture Method to Estate Manager.

General Tab:

FieldValue
DescriptionAn appropriate description for this payment device host
Device KeySelect the device record created in the Device Maintenance step
Service TypePayment Service
Proxy Addresstcp:7777
Configuration Poll Interval (sec)60
Capture MethodEstate Manager
TMS Command Poll Interval (sec)60

Go to the Payment Devices tab and add the payment device:

Payment Device Host Maintenance Payment Devices tab for pdh1@0001.enactor. The Add Payment Devices button is highlighted with a dropdown showing ped01@0001.enactor.

In the Payment Devices tab, select the payment device ID created in the Payment Device Maintenance step from the dropdown and select Add Payment Devices to link it to this host.

Payment Devices Tab:

Select the payment device ID created in the Payment Device Maintenance step from the dropdown and select Add Payment Devices to add it to the list.

Select Save.

This completes the Payment Device Host Maintenance configuration.


Configuration Steps - POS Terminal Maintenance

Sign in to Estate Manager and navigate to POS Terminal Maintenance using the Search or the path:

Main Menu > Configuration > Organisation > POS Terminals

The POS Terminal Maintenance screen lists all configured POS terminals:

POS Terminal Maintenance list showing POS terminals 101 through 106. Device IDs follow the mpos format with Standard Mobile and React Mobile POS Terminal Templates.

Select the edit icon on the POS terminal to be connected to the Adyen payment service. Navigate to the Peripherals tab and then the Input sub-tab to configure the payment service settings.

Edit the relevant POS terminal. Navigate to the Peripherals tab and select the Input sub-tab:

POS Terminal Maintenance Peripherals Input tab. Payment Service Type is set to Enactor, Payment Service Address is tcp:host-address-of-pdc:7777, and Payment Service Timeout is 30 minutes.

In the Peripherals > Input tab, set Payment Service Type to Enactor, Payment Service Address to the PDC host address on port 7777, and Payment Service Timeout (Min) to 30.
FieldValue
Payment Service TypeEnactor
Payment Service Addresstcp:{host address of pdc}:7777
Payment Service Timeout (Min)30

Replace {host address of pdc} with the IP address or hostname of the machine running the PDC.

Select Save and broadcast the change to the POS.

This completes the POS Terminal Maintenance configuration.


Configuration Steps - User Role Maintenance

Two user roles require additional privileges: the role used for POS transactions for processing payments, and the TMS Login User role for managing payment devices.

Sign in to Estate Manager and navigate to User Roles Maintenance using the Search or the path:

Main Menu > Configuration > HR > User Roles

The User Role Maintenance screen lists all configured user roles:

User Role Maintenance list showing configured roles including ADMINISTRATOR, ASSIST_MANAGER, CENTRAL_INVENTORY, CRM-POS, and CUSTOMER_ORDER_MGR with their authorisation levels.

Select the edit icon on the user role to be updated. Repeat this process for each role that requires payment service privileges.

POS Operator

Edit the role used for POS transactions (for example, Sales Assistant or POS Operator). Go to the Authorised Functions tab and add the following privileges. Use the Function ID filter to search for each one:

User Role Maintenance Authorised Functions tab for SALES_ASSISTANT. The filter shows enactor.pos.PaymentServiceTenderAllowed from the Enactor POS package. The checkbox for this function is checked.

In the Authorised Functions tab, search for each privilege by Function ID and tick its checkbox. Select Enable All Displayed Functions once the correct function is filtered to enable it.
PackageFunction ID
Enactor POSenactor.pos.PaymentServiceTenderAllowed
Enactor POSenactor.pos.PaymentServiceRefundAllowed
Enactor POSenactor.pos.AuthorisesPaymentServiceTender
Enactor POSenactor.pos.AuthorisesPaymentServiceRefund

Select Save. Broadcast these changes to the POS.

This completes the POS Operator User Role configuration.

TMS Login User

Add the following privileges to allow access to Payment Device Maintenance:

PackageFunction IDDescription
Enactor Web Maintenanceenactor.paymentDeviceMaintenance.EditEdit
Enactor Web Maintenanceenactor.paymentDeviceMaintenance.ListList
Enactor Web Maintenanceenactor.paymentDeviceMaintenance.NewNew
Enactor Web Maintenanceenactor.paymentDeviceMaintenance.RemoveRemove
Enactor Web Maintenanceenactor.paymentDeviceMaintenance.RunRun
Enactor Web Maintenanceenactor.paymentDeviceMaintenance.ViewView

Add the following privileges to allow access to Payment Device Host Maintenance:

PackageFunction IDDescription
Enactor Web Maintenanceenactor.paymentDeviceHostMaintenance.EditEdit
Enactor Web Maintenanceenactor.paymentDeviceHostMaintenance.ListList
Enactor Web Maintenanceenactor.paymentDeviceHostMaintenance.NewNew
Enactor Web Maintenanceenactor.paymentDeviceHostMaintenance.RemoveRemove
Enactor Web Maintenanceenactor.paymentDeviceHostMaintenance.RunRun
Enactor Web Maintenanceenactor.paymentDeviceHostMaintenance.ViewView

This completes the TMS Login User Role configuration.


Configuration Steps - PDC Configuration

The PDC must be installed and configured on the same machine as the POS application.

  1. Copy the provided EnactorPDC-2.7.x.x.x.x.msi and the installer.ini file into a separate folder.
  2. Open installer.ini and populate the fields as follows:
FieldValue
PDC_IDReplace PDC_ID_HERE with the Payment Device Host ID configured in the Payment Device Host Maintenance step
JDK_LOCATIONReplace PATH_TO_JDK_BIN_FOLDER with the path to the JDK folder. Do not include the bin subfolder in the path.
PDC_PRIMARY_TMS_URLReplace SERVER_IP with the IP address of the server running PDMS and EM. Port must be 39833.
PDC_SECONDARY_TMS_URLReplace SERVER_IP with the IP address of the server running PDMS and EM. Port must be 39833.
ENACTOR_HOMEBest practice is to install the PDC and POS applications to C:\Enactor.
PDC_DATABASE_LOCATIONSet to a directory inside the PDC install folder, for example C:\Enactor\pdc\DataBase\.
  1. Install the PDC to C:\Enactor using the MSI installer.
  2. Install a POS or PDP server on the same machine so that it can receive application updates.
  3. Replace pdc-payment-controller.jar in pdc/lib with the provided pdc-payment-controller.jar file.
info

The PDC_ID value in installer.ini must exactly match the Payment Device Host ID configured in the Estate Manager Payment Device Host Maintenance step.

This completes the PDC Configuration.


Configuration Steps - Broadcasting the App Update

The Adyen application update must be broadcast from Estate Manager to the target devices to deploy the integration jar files.

Sign in to Estate Manager and navigate to Application Update Broadcaster using the Search or the path:

Main Menu > Administration > Data Management > Broadcasts > Application Update Broadcaster

On the Application Update Broadcaster screen, select New Application Update to upload the Adyen update package:

Application Update Broadcaster with no update selected. The New Application Update link is highlighted. Run At Date/Time, Topics set to Location, and a Regions tree are visible.

Select New Application Update to open the Application Update Maintenance screen, where the Adyen update ZIP file can be uploaded.
info

The update package for this release is adyen-x.x.xxx-update.zip.

Download adyen-adyen-x.x.xxx-update.zip

On the Application Update Maintenance screen, upload the Adyen update package:

Application Update Maintenance File Upload screen. The Choose File button is highlighted with No file chosen shown. An Upload button and No Content area are visible.

Select Choose File, browse to the adyen-x.x.xxx-update.zip file, then select Upload. Once uploaded, select Extract Content and then Save to register the update package.
  1. Select Choose File and browse to the adyen-x.x.xxx-update.zip file.
  2. Select Upload.
  3. Select Extract Content, then Save.

Return to the Application Update Broadcaster screen. Select the uploaded update package from the Application Update dropdown, set Topics to Device, select the target device, and select Submit:

Application Update Broadcaster with adyen-update-x.x.xxx selected in the Application Update dropdown. Topics is set to Device and a Regions tree is shown.

Select the Adyen update from the Application Update dropdown. Set Topics to Device and select the POS device hosted on the same machine as the payment device host. Select Submit to broadcast.
FieldValue
Application UpdateSelect the uploaded Adyen update package
TopicsDevice
TargetThe POS device hosted on the same machine as the payment device host
info

The app update will be received by the target devices and will trigger a restart. Once the PDC has started after the restart, it will automatically copy the Adyen jar files to the PDC/custom-libs folder.

This completes the Broadcasting the App Update configuration.


About This Document

(c) 2026 Enactor Ltd

All documents produced by Enactor Ltd are supplied to customers subject to Copyright, commercial confidentiality, and contractual agreements and must not be copied or transferred without permission.

Document Context

This document is part of the Enactor Product Documentation Series. All Enactor products include a comprehensive documentation set designed to improve understanding of the product and facilitate ease of use.

Document Inquiries

If you find that a document is inaccurate or deficient in any way, please contact:

Email: documentation@enactor.co.uk


Document History

VersionStatusIssue DateAuthorReason for IssueSoftware Version
1.0Initial Draft05 May 2026Harshana BandaraInitial Version2.7.747.RC2
1.1Updated07 May 2026Shenol SilvaAdded full screenshots for all configuration sections2.7.1795.1940
3.0Content Update21 May 2026Shenol SilvaUpdated SharePoint folder links and revised release naming conventions to remove hard-coded release references2.7.1795.1940