PATCH /merchants/{merchantId}/terminalSettings

Updates payment terminal settings for the merchant account identified in the path. These settings apply to all terminals under the merchant account, unless different values are configured at a lower level (store or individual terminal).

To make this request, your API credential must have the following role:

Servers

Path parameters

Name Type Required Description
merchantId String Yes

The unique identifier of the merchant account.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
receiptOptions Object No

Generic receipt settings.

receiptOptions.logo String No

The receipt logo converted to a Base64-encoded string. The image must be a .bmp file of < 256 KB, dimensions 240 (H) x 384 (W) px.

receiptOptions.promptBeforePrinting Boolean No

Indicates whether a screen appears asking if you want to print the shopper receipt.

receiptOptions.qrCodeData String No

Data to print on the receipt as a QR code. This can include static text and the following variables:

  • ${merchantreference}: the merchant reference of the transaction.
  • ${pspreference}: the PSP reference of the transaction.

For example, http://www.example.com/order/${pspreference}/${merchantreference}.

refunds Object No

Settings for refunds.

refunds.referenced Object No

Settings for referenced refunds.

refunds.referenced.enableStandaloneRefunds Boolean No

Indicates whether referenced refunds are enabled on the standalone terminal.

gratuities[] Array No

Settings for tipping with or without predefined options to choose from. The maximum number of predefined options is four, or three plus the option to enter a custom tip.

gratuities[].allowCustomAmount Boolean No

Indicates whether one of the predefined tipping options is to let the shopper enter a custom tip. If true, only three of the other options defined in predefinedTipEntries are shown.

gratuities[].usePredefinedTipEntries Boolean No

Indicates whether the terminal shows a prompt to enter a tip (false), or predefined tipping options to choose from (true).

gratuities[].predefinedTipEntries[] Array No

Tipping options the shopper can choose from if usePredefinedTipEntries is true. The maximum number of predefined options is four, or three plus the option to enter a custom tip. The options can be a mix of:

  • A percentage of the transaction amount. Example: 5%
  • A tip amount in minor units. Example: 500 for a EUR 5 tip.
gratuities[].currency String No

The currency that the tipping settings apply to.

terminalInstructions Object No

Settings to define the behaviour of the payment terminal.

terminalInstructions.adyenAppRestart Boolean No

Indicates whether the Adyen app on the payment terminal restarts automatically when the configuration is updated.

wifiProfiles Object No

Remote Wi-Fi profiles for WPA and WPA2 PSK and EAP Wi-Fi networks.

wifiProfiles.settings Object No

General Wi-Fi settings.

wifiProfiles.settings.band String No

The preferred Wi-Fi band, for use if the terminals support multiple bands. Possible values: All, 2.4GHz, 5GHz.

wifiProfiles.settings.roaming Boolean No

Indicates whether roaming is enabled on the terminals.

wifiProfiles.settings.timeout Integer No

The connection time-out in seconds. Minimum value: 0.

wifiProfiles.profiles[] Array No

List of remote Wi-Fi profiles.

wifiProfiles.profiles[].eapClientPwd String No

For eap tls. The password of the RSA key file, if that file is password-protected.

wifiProfiles.profiles[].hiddenSsid Boolean No

Indicates if the network doesn't broadcast its SSID. Mandatory for Android terminals, because these terminals rely on this setting to be able to connect to any network.

wifiProfiles.profiles[].eapClientKey Object No

For eap tls. The RSA private key for the client. Include the lines BEGIN RSA PRIVATE KEY and END RSA PRIVATE KEY.

wifiProfiles.profiles[].eapClientKey.data String Yes

The certificate content converted to a Base64-encoded string.

wifiProfiles.profiles[].eapClientKey.name String Yes

The name of the certificate. Must be unique across Wi-Fi profiles.

wifiProfiles.profiles[].eapIdentity String No

For authType wpa-eap or wpa2-eap. The EAP-PEAP username from your MS-CHAP account. Must match the configuration of your RADIUS server.

wifiProfiles.profiles[].ssid String Yes

The name of the wireless network.

wifiProfiles.profiles[].eap String No

For authType wpa-eap or wpa2-eap. Possible values: tls, peap, leap, fast

wifiProfiles.profiles[].authType String Yes

The type of Wi-Fi network. Possible values: wpa-psk, wpa2-psk, wpa-eap, wpa2-eap.

wifiProfiles.profiles[].bssType String Yes

Use infra for infrastructure-based networks. This applies to most networks. Use adhoc only if the communication is p2p-based between base stations.

wifiProfiles.profiles[].eapIntermediateCert Object No

For eap tls. The EAP intermediate certificate.

wifiProfiles.profiles[].eapIntermediateCert.data String Yes

The certificate content converted to a Base64-encoded string.

wifiProfiles.profiles[].eapIntermediateCert.name String Yes

The name of the certificate. Must be unique across Wi-Fi profiles.

wifiProfiles.profiles[].channel Integer No

The channel number of the Wi-Fi network. The recommended setting is 0 for automatic channel selection.

wifiProfiles.profiles[].name String No

Your name for the Wi-Fi profile.

wifiProfiles.profiles[].eapClientCert Object No

For eap tls. The certificate chain for the terminals. All terminals in the same network will use the same EAP client certificate.

wifiProfiles.profiles[].eapClientCert.data String Yes

The certificate content converted to a Base64-encoded string.

wifiProfiles.profiles[].eapClientCert.name String Yes

The name of the certificate. Must be unique across Wi-Fi profiles.

wifiProfiles.profiles[].wsec String Yes

The type of encryption. Possible values: auto, ccmp (recommended), tkip

wifiProfiles.profiles[].eapPwd String No

For eap peap. The EAP-PEAP password from your MS-CHAP account. Must match the configuration of your RADIUS server.

wifiProfiles.profiles[].autoWifi Boolean No

Indicates whether to automatically select the best authentication method available. Does not work on older terminal models.

wifiProfiles.profiles[].eapCaCert Object No

For authType wpa-eap or wpa2-eap. The root certificate from the CA that signed the certificate of the RADIUS server that is part of your wireless network.

wifiProfiles.profiles[].eapCaCert.data String Yes

The certificate content converted to a Base64-encoded string.

wifiProfiles.profiles[].eapCaCert.name String Yes

The name of the certificate. Must be unique across Wi-Fi profiles.

wifiProfiles.profiles[].psk String No

For authType **wpa-psk or wpa2-psk. The password to the wireless network.

wifiProfiles.profiles[].defaultProfile Boolean No

Indicates whether this is your preferred wireless network. If true, the terminal will try connecting to this network first.

offlineProcessing Object No

Settings for offline payment features.

offlineProcessing.offlineSwipeLimits[] Array No

The maximum offline transaction amount for swiped cards, in the specified currency.

offlineProcessing.offlineSwipeLimits[].currencyCode String No

The three-character ISO currency code.

offlineProcessing.offlineSwipeLimits[].amount Integer No

The transaction amount, in minor units.

offlineProcessing.chipFloorLimit Integer No

The maximum offline transaction amount for chip cards, in the processing currency and specified in minor units.

payment Object No

Settings for payment features.

payment.contactlessCurrency String No

The default currency for contactless payments on the payment terminal, as the three-letter ISO 4217 currency code.

payment.hideMinorUnitsInCurrencies[] Array No

Hides the minor units for the listed ISO currency codes.

tapToPay Object No

Settings for Tap to Pay.

tapToPay.merchantDisplayName String No

The text shown on the screen during the Tap to Pay transaction.

cardholderReceipt Object No

Settings to define the header of the shopper receipt.

cardholderReceipt.headerForAuthorizedReceipt String No

A custom header to show on the shopper receipt for an authorised transaction. Allows one or two comma-separated header lines, and blank lines. For example, header,header,filler

hardware Object No

Settings for terminal hardware features.

hardware.resetTotalsHour Integer No

The hour of the day when the terminal is set to reset the Totals report. By default, the reset hour is at 6:00 AM in the timezone of the terminal. Minimum value: 0, maximum value: 23.

hardware.restartHour Integer No

The hour of the day when the terminal is set to reboot to apply the configuration and software updates. By default, the restart hour is at 6:00 AM in the timezone of the terminal. Minimum value: 0, maximum value: 23.

hardware.displayMaximumBackLight Integer No

The brightness of the display when the terminal is being used, expressed as a percentage.

connectivity Object No

Settings for terminal connectivity features.

connectivity.terminalIPAddressURL Object No

The list of local and public URLs to send notifications to when using local integrations.

connectivity.terminalIPAddressURL.eventPublicUrls[] Array No

One or more public URLs to send event notifications to when using Terminal API.

connectivity.terminalIPAddressURL.eventPublicUrls[].username String No

The username for authentication of the notifications.

connectivity.terminalIPAddressURL.eventPublicUrls[].url String No

The URL in the format: http(s)://domain.com.

connectivity.terminalIPAddressURL.eventPublicUrls[].encrypted Boolean No

Indicates if the message sent to this URL should be encrypted.

connectivity.terminalIPAddressURL.eventPublicUrls[].password String No

The password for authentication of the notifications.

connectivity.terminalIPAddressURL.eventLocalUrls[] Array No

One or more local URLs to send event notifications to when using Terminal API.

connectivity.terminalIPAddressURL.eventLocalUrls[].username String No

The username for authentication of the notifications.

connectivity.terminalIPAddressURL.eventLocalUrls[].url String No

The URL in the format: http(s)://domain.com.

connectivity.terminalIPAddressURL.eventLocalUrls[].encrypted Boolean No

Indicates if the message sent to this URL should be encrypted.

connectivity.terminalIPAddressURL.eventLocalUrls[].password String No

The password for authentication of the notifications.

connectivity.simcardStatus String No

Indicates the status of the SIM card in the payment terminal. Can be updated and received only at terminal level, and only for models that support cellular connectivity.

Possible values:

  • ACTIVATED: the SIM card is activated. Cellular connectivity may still need to be enabled on the terminal itself, in the Network settings.
  • INVENTORY: the SIM card is not activated. The terminal can't use cellular connectivity.

Possible values:

  • "INVENTORY"
  • "ACTIVATED"
nexo Object No

Settings for a Terminal API integration.

nexo.displayUrls Object No

The list of local and public URLs to send display notifications to when using Terminal API.

nexo.displayUrls.publicUrls[] Array No

One or more public URLs to send notifications to when using Terminal API.

nexo.displayUrls.publicUrls[].username String No

The username for authentication of the notifications.

nexo.displayUrls.publicUrls[].url String No

The URL in the format: http(s)://domain.com.

nexo.displayUrls.publicUrls[].encrypted Boolean No

Indicates if the message sent to this URL should be encrypted.

nexo.displayUrls.publicUrls[].password String No

The password for authentication of the notifications.

nexo.displayUrls.localUrls[] Array No

One or more local URLs to send notifications to when using Terminal API.

nexo.displayUrls.localUrls[].username String No

The username for authentication of the notifications.

nexo.displayUrls.localUrls[].url String No

The URL in the format: http(s)://domain.com.

nexo.displayUrls.localUrls[].encrypted Boolean No

Indicates if the message sent to this URL should be encrypted.

nexo.displayUrls.localUrls[].password String No

The password for authentication of the notifications.

nexo.nexoEventUrls[] Array No

One or more URLs to send event messages to when using Terminal API.

nexo.encryptionKey Object No

The key you share with Adyen to secure local communications when using Terminal API.

nexo.encryptionKey.identifier String No

The unique identifier of the shared key.

nexo.encryptionKey.version Integer No

The version number of the shared key.

nexo.encryptionKey.passphrase String No

The secure passphrase to protect the shared key.

nexo.notification Object No

Configures sending event notifications by pressing a button on a terminal, for example used for pay-at-table.

nexo.notification.category String No

The type of event notification sent when you select the notification button.

Possible values:

  • ""
  • "SaleWakeUp"
  • "KeyPressed"
nexo.notification.enabled Boolean No

Enables sending event notifications either by pressing the Confirm key on terminals with a keypad or by tapping the event notification button on the terminal screen.

nexo.notification.title String No

The name of the notification button on the terminal screen.

nexo.notification.showButton Boolean No

Shows or hides the event notification button on the screen of terminal models that have a keypad.

nexo.notification.details String No

The text shown in the prompt which opens when you select the notification button. For example, the description of the input box for pay-at-table.

nexo.eventUrls Object No

The list of local and public URLs to send event notifications to when using Terminal API.

nexo.eventUrls.eventPublicUrls[] Array No

One or more public URLs to send event notifications to when using Terminal API.

nexo.eventUrls.eventPublicUrls[].username String No

The username for authentication of the notifications.

nexo.eventUrls.eventPublicUrls[].url String No

The URL in the format: http(s)://domain.com.

nexo.eventUrls.eventPublicUrls[].encrypted Boolean No

Indicates if the message sent to this URL should be encrypted.

nexo.eventUrls.eventPublicUrls[].password String No

The password for authentication of the notifications.

nexo.eventUrls.eventLocalUrls[] Array No

One or more local URLs to send event notifications to when using Terminal API.

nexo.eventUrls.eventLocalUrls[].username String No

The username for authentication of the notifications.

nexo.eventUrls.eventLocalUrls[].url String No

The URL in the format: http(s)://domain.com.

nexo.eventUrls.eventLocalUrls[].encrypted Boolean No

Indicates if the message sent to this URL should be encrypted.

nexo.eventUrls.eventLocalUrls[].password String No

The password for authentication of the notifications.

signature Object No

Settings to skip signature, sign on display, or sign on receipt.

signature.skipSignature Boolean No

Skip asking for a signature. This is possible because all global card schemes (American Express, Diners, Discover, JCB, MasterCard, VISA, and UnionPay) regard a signature as optional.

signature.deviceSlogan String No

Slogan shown on the start screen of the device.

signature.deviceName String No

Name that identifies the terminal.

signature.askSignatureOnScreen Boolean No

If skipSignature is false, indicates whether the shopper should provide a signature on the display (true) or on the merchant receipt (false).

storeAndForward Object No

Settings for store-and-forward offline payments. The maxAmount, maxPayments, and supportedCardTypes parameters must be configured, either in the request or inherited from a higher level in your account structure.

storeAndForward.maxAmount[] Array No

The maximum amount that the terminal accepts for a single store-and-forward payment.

storeAndForward.maxAmount[].currencyCode String No

The three-character ISO currency code.

storeAndForward.maxAmount[].amount Integer No

The transaction amount, in minor units.

storeAndForward.supportedCardTypes Object No

The type of card for which the terminal accepts store-and-forward payments. You can specify multiple card types.

storeAndForward.supportedCardTypes.debit Boolean No

Set to true to accept debit cards.

storeAndForward.supportedCardTypes.prepaid Boolean No

Set to true to accept prepaid cards.

storeAndForward.supportedCardTypes.deferredDebit Boolean No

Set to true to accept cards that allow deferred debit.

storeAndForward.supportedCardTypes.unknown Boolean No

Set to true to accept card types for which the terminal can't determine the funding source while offline.

storeAndForward.supportedCardTypes.credit Boolean No

Set to true to accept credit cards.

storeAndForward.maxPayments Integer No

The maximum number of store-and-forward transactions per terminal that you can process while offline.

localization Object No

Settings for localization.

localization.timezone String No

The time zone of the terminal.

localization.secondaryLanguage String No

Secondary language of the terminal.

localization.language String No

Language of the terminal.

standalone Object No

Settings for standalone features.

standalone.currencyCode String No

The default currency of the standalone payment terminal as an ISO 4217 currency code.

standalone.enableStandalone Boolean No

Enable standalone mode.

passcodes Object No

Settings for passcodes features.

passcodes.adminMenuPin String No

The passcode for the Admin menu and the Settings menu.

passcodes.screenLockPin String No

The passcode to unlock the terminal screen after a timeout.

passcodes.txMenuPin String No

The passcode for the Transactions menu.

passcodes.refundPin String No

The passcode for referenced and unreferenced refunds on standalone terminals.

payAtTable Object No

Settings for Pay-at-table features.

payAtTable.authenticationMethod String No

Allowed authentication methods: Magswipe, Manual Entry.

Possible values:

  • "MAGSWIPE"
  • "MKE"
payAtTable.paymentInstrument String No

Sets the allowed payment instrument for Pay at table transactions. Can be: cash or card. If not set, the terminal presents both options.

Possible values:

  • "Card"
  • "Cash"
payAtTable.enablePayAtTable Boolean No

Enable Pay at table.

opi Object No

Settings for an Oracle Payment Interface (OPI) integration.

opi.payAtTableStoreNumber String No

The store number to use for Pay at Table.

opi.enablePayAtTable Boolean No

Indicates if Pay at table is enabled.

opi.payAtTableURL String No

The URL and port number used for Pay at Table communication.

receiptPrinting Object No

Transaction outcomes that you want the terminal to print a merchant receipt or a shopper receipt for.

receiptPrinting.merchantCaptureApproved Boolean No

Print a merchant receipt when capturing the payment is approved.

receiptPrinting.merchantRefundApproved Boolean No

Print a merchant receipt when the refund is approved.

receiptPrinting.shopperApproved Boolean No

Print a shopper receipt when the payment is approved.

receiptPrinting.shopperRefundApproved Boolean No

Print a shopper receipt when the refund is approved.

receiptPrinting.merchantApproved Boolean No

Print a merchant receipt when the payment is approved.

receiptPrinting.merchantRefused Boolean No

Print a merchant receipt when the payment is refused.

receiptPrinting.shopperRefundRefused Boolean No

Print a shopper receipt when the refund is refused.

receiptPrinting.shopperCaptureApproved Boolean No

Print a shopper receipt when capturing the payment is approved.

receiptPrinting.merchantVoid Boolean No

Print a merchant receipt when a previous transaction is voided.

receiptPrinting.shopperVoid Boolean No

Print a shopper receipt when a previous transaction is voided.

receiptPrinting.merchantCancelled Boolean No

Print a merchant receipt when the transaction is cancelled.

receiptPrinting.shopperCaptureRefused Boolean No

Print a shopper receipt when capturing the payment is refused.

receiptPrinting.merchantCaptureRefused Boolean No

Print a merchant receipt when capturing the payment is refused.

receiptPrinting.shopperCancelled Boolean No

Print a shopper receipt when the transaction is cancelled.

receiptPrinting.shopperRefused Boolean No

Print a shopper receipt when the payment is refused.

receiptPrinting.merchantRefundRefused Boolean No

Print a merchant receipt when the refund is refused.

surcharge Object No

Settings for payment surcharge features.

surcharge.askConfirmation Boolean No

Show the surcharge details on the terminal, so the shopper can confirm.

surcharge.configurations[] Array No

Surcharge fees or percentages for specific cards, funding sources (credit or debit), and currencies.

surcharge.configurations[].sources[] Array No

Funding source. Possible values:

  • Credit
  • Debit
surcharge.configurations[].currencies[] Array Yes

Currency and percentage or amount of the surcharge.

surcharge.configurations[].currencies[].currencyCode String Yes

Three-character ISO currency code. For example, AUD.

surcharge.configurations[].currencies[].maxAmount Integer No

The maximum surcharge amount per transaction, in minor units.

surcharge.configurations[].currencies[].percentage Number No

Surcharge percentage per transaction. The maximum number of decimal places is two. For example, 1% or 2.27%.

surcharge.configurations[].currencies[].amount Integer No

Surcharge amount per transaction, in minor units.

surcharge.configurations[].brand String Yes

Payment method, like eftpos_australia or mc. See the possible values.

surcharge.configurations[].commercial Boolean No

Set to true to apply surcharges only to commercial/business cards.

surcharge.configurations[].country[] Array No

The country/region of the card issuer. If used, the surcharge settings only apply to the card issued in that country/region.

timeouts Object No

Settings for device time-outs.

timeouts.fromActiveToSleep Integer No

Indicates the number of seconds of inactivity after which the terminal display goes into sleep mode.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.