Skip to main content
Setting up Adyen PoS terminals
Michiel Sikkes avatar
Written by Michiel Sikkes
Updated over a week ago

⚠️ Note: Adyen Cloud PoS is currently only available as private preview. Please get in touch with Firmhouse support to get this feature enabled on your project and Adyen account.

To use an Adyen PoS Terminal with Firmhouse, a few additional settings need to be configured for the terminal in your Adyen merchant account configuration. This is on top of the normal Firmhouse Adyen account configuration.

Creating an Event URL to Firmhouse

To have your terminal pass certain events back to Firmhouse, you need to create an Event URL for each terminal you want to connect to Firmhouse.


  1. In your Adyen account, open Point of sale in the sidebar and click Terminal settings.

  2. In the terminal Settings sidebar, click Integrations.

  3. Under Terminal API find click Decrypted.

  4. Under Event URLs and click Add new.

  5. In the new empty row that appears click the pencil icon button.

  6. In the Edit URL form that pops up enter<THE UUID of your Firmhouse project>
    Firmhouse support can help you obtain the value for the UUID of your Firmhouse project.

  7. Enter your merchant in the Username field.

  8. Enter the HMAC key from the Webhook notification to Firmhouse as Password.

  9. Keep Public as setting.

  10. Click Edit URL.

Confirm Terminal settings in Adyen portal

There are a few settings that need to be enabled on your Terminal via the Adyen portal to ensure Firmhouse send instructions to your terminal via Adyen's APIs.


  1. Log into your Adyen portal

  2. From the sidebar, open the In-person payments section and click Terminals

  3. Find the terminal and ensure it has been Boarded and the latest activity indicator shows a green circle.

  4. If not, ensure the terminal is turned on.

  5. Then, check the settings and ensure the Enable terminal API and Enable WebSockets options are turned on:

Trigger a Checkout payment on a terminal

To trigger the payment of a Checkout on a terminal you need to provide additional parameters the paymentUrl that our API returns when creating subscription via createSubscription or createSubscriptionFromCart.

To initiate the payment on a terminal you need to pass in the payment_method=terminal and terminal_pos_id=XXX parameters to the paymentUrl. You can find the terminal_pos_id in your Adyen dashboard when viewing a terminal. The Terminal ID looks something like S1F1-00002342343234 or V400m-23423432 depending on the brand and model of your terminal.

Did this answer your question?