Transaction Api |
Adyen |
Create |
/ |
Prepare |
/ |
Reserve |
Terminal API |
Capture |
/ |
Refund |
Terminal api (async) triggers communication with the terminal and must therefore be asynchronous. Display also lights up briefly. |
Void |
Unsupported Interaction |
Special features when dealing with terminals
General: https://docs.adyen.com/point-of-sale/pre-authorisation#pre-authorise Pre-authorization and authorization adjustment In a basic payment flow, the amount to be paid from your payment request is authorized and then captured. However, sometimes you may want to change the amount or extend the duration of the authorization before recording the payment. You can enable this with the "Preauthorization" authorization type in your payment request. In this payment flow, you can increase or decrease the authorized amount at a later time and then record the payment. Such changes to a pre-authorized payment are called "authorization adjustments".
Preauthorization: this is intended for use cases, as described above, when you do not yet know the amount to be recorded. It allows you to increase or decrease the initial authorized amount at a later time using the API.
Final authorization: Use this when the final amount is agreed in advance and the transaction is definitely fully captured. It is not possible to adjust the authorized amount.
collana pay does not currently allow increasing amounts, so the final authorization is used. However, decreasing amounts seems to be possible (you can request either full or partial capture, but multiple partial captures are not supported).
Capture: https://docs.adyen.com/point-of-sale/capturing-payments
When a point-of-sale payment is authorized, processing occurs in two steps:
Authorization: the card is verified by the card issuer and funds are reserved for the transaction.
Create: the reserved funds are transferred to your merchant account. By default, these steps occur simultaneously. This means that the payment is automatically captured immediately after authorization. You can also capture the payment later by using either:
Automatic capture with a capture delay. This authorizes the payment and allows a delay before the payment is automatically captured.
Manual capture. In this case, the payment is authorized only. To settle the payment, you must explicitly make an capture request.
collana pay uses the two-step version with authorization and capture. For this, the "POS Capture Delay" setting in the merchant account backend must be set to "manual". In addition, the collana pay configuration settings must be set as follows:
Refund: https://docs.adyen.com/point-of-sale/refund-payment?tab=partial_refund_2
Referenced refund: ReversalRequest: Referenced refunds are linked to the original payment and use a unique identifier of that payment. Full and partial refund requests are very similar, but there are some additional parameters for a partial refund.
Unreferenced refund: a PaymentRequest with the payment type "refund" (Refund). Unreferenced refunds must be manually reconciled and allow you to refund any amount to any card presented at the store. For example, you can use this to issue a refund to someone who did not make the original payment, such as a gift recipient.
Terminal display: Only when the terminal displays the cloud icon is it connected to the terminal API. If there is no connection, the asynchronous requests will return zero as a result.
Terminal behavior: Canceling at the terminal also results in no notification and no transaction in the backend.
collana pay => We use referenced refunds
Merchant Account Setup:
Account type
For terminal use, the merchant account should be a POS account and not an e-commerce account. You can see this option in Account -> Settings -> Default interaction with customers. For terminal usage it should be set to "POS", for all others it should be set to "E-commerce".
POS Capture Delay
By default, the delay is at "immediate", which means that the capture will be processed immediately after the reservation. This value can also be changed to "manual". The delay values are currently not supported by collana pay. Immediate or manual represent the "PspAutoCaptureEnabled" flag in the provider account.
List of terminals in Adyen backend
Point of sale > Terminals
Terminal access data
TerminalId (POIID) to the terminal
The unique ID of the terminal, in the format [device model]-[serial number]. For example, P400-123456789. (serial number always without hyphen (-))
Terminal API and Websockets must be enabled
(1. Load new config on terminal and 2. check configuration afterwards)
- Admin menu -> Config -> Update
- Admin menu -> Network -> Diagnostics -> Terminal API