> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firmhouse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up Adyen POS terminals

> Configure Adyen Cloud POS terminals with Firmhouse for in-store subscription signups, including device pairing and payment provider setup steps.

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](using-adyen-as-payment-provider).

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

### Steps

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 and click **Decrypted**.
4. Under **Event URLs** 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 `https://portal.firmhouse.com/api/v1/payment_status/adyen_pos?uuid=<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 can send instructions to your terminal via Adyen's APIs.

### Steps

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.

<img src="https://mintcdn.com/firmhousebv/i0tAuZcoMZU4WKIb/images/docs-configure-adyen-pos-terminals-terminal-settings-dev-aa.png?fit=max&auto=format&n=i0tAuZcoMZU4WKIb&q=85&s=1dee5abdf365353f8ca619227e7c8fed" alt="Adyen Terminal Settings" width="2880" height="2043" data-path="images/docs-configure-adyen-pos-terminals-terminal-settings-dev-aa.png" />

## Trigger a Checkout Payment on a Terminal

To trigger the payment of a Checkout on a terminal you need to provide additional parameters to the `paymentUrl` that our API returns when creating a 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.
