⚠️ 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.
In your Adyen account, open Point of sale in the sidebar and click Terminal settings.
In the terminal Settings sidebar, click Integrations.
Under Terminal API find click Decrypted.
Under Event URLs and click Add new.
In the new empty row that appears click the pencil icon button.
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.
Enter your merchant in the Username field.
Enter the HMAC key from the Webhook notification to Firmhouse as Password.
Keep Public as setting.
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.
Log into your Adyen portal
From the sidebar, open the In-person payments section and click Terminals
Find the terminal and ensure it has been Boarded and the latest activity indicator shows a green circle.
If not, ensure the terminal is turned on.
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
To initiate the payment on a terminal you need to pass in the
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
V400m-23423432 depending on the brand and model of your terminal.