## Integrated Pre-Authorisation — Opening a Pre-Auth

## Opening a Pre-Authorisation

Opening a pre-auth reserves a specified amount on the customer’s card. The customer must confirm the transaction on the Tyro terminal.

## ITerminalAdapter (Headful)

### Event-Based Method


```c#
bool OpenPreAuth(
  long preAuthLimit,
  string? merchantID = null,
  string? terminalID = null,
  string? transactionId = null
)
```

### Task-Based Method


```c#
Task<ITransactionResult?> OpenPreAuthAsync(
  long preAuthLimit,
  string? merchantID = null,
  string? terminalID = null,
  string? transactionId = null,
  Action<IReceipt>? receiptReturned = null
)
```

### Parameters

| Parameter | Description |
|  --- | --- |
| preAuthLimit | Maximum amount (in cents) that can be charged |
| merchantID | Override merchant ID (multi-merchant terminals only) |
| terminalID | Override terminal ID (multi-terminal setups) |
| transactionId | Optional custom transaction ID |


### Return Values

- Returns false if another transaction is already in progress.
- Returns true if the pre-auth was successfully initiated.