# Transaction Types

**PAYMENT Transactions**\
Are instant & synchronous and are typically associated with a credit card transaction such as Visa or Mastercard.

**PREAUTH/SETTLEMENT**\
Are asynchronous transactions. They are used to authorise a transaction that doesn't immediately get settled (PREAUTH). These transactions can be settled either manually or using a postback from the gateway side (SETTLEMENT). Examples are ACH, Bank deposits, wire transfers.

**AUTH/CAPTURE**\
Are the same as a PREAUTH/SETTLEMENT but updated to avoid using the phrase SETTLEMENT, which can cause confusion about the payment status.

**CREDIT Transactions**\
Are transactions in which funds are credited to a recipient's credit card. They are asynchronous transactions

**VOID Transactions**\
Are used to void a transaction. If the transaction amount has not been settled /transferred to the merchant's account, there is a chance the transaction can be voided. This typically has lower processing fees than a REFUND. Not all gateways support VOID transactions.

**REFUND Transactions**\
Once a transaction has been settled / transferred to the merchant account, the transaction can no longer be VOID, so any reversals must be done via a REFUND transaction.

Each Transaction Type has a matching set of of workflow and Integration methods. They are mapped out below.

| Transaction Type     | Synchronous / Asynchronous / Redirect | Integration Methods                |
| -------------------- | ------------------------------------- | ---------------------------------- |
| Payment              | Synchronous / Redirect                | Rest, Soap, Form Redirect / Submit |
| Preauth / Settlement | Asynchronous / Redirect               | Rest, Soap, Form Redirect / Submit |
| Auth / Capture       | Asynchronous / Redirect               | Rest, Soap, Form Redirect / Submit |
| Credit               | Asynchronous                          | Rest, Soap                         |
| Void                 | Synchronous                           | Soap                               |
| Refund               | Synchronous                           | Soap                               |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payshield.ai/transaction-processing/transaction-details/transaction-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
