> For the complete documentation index, see [llms.txt](https://plexo.gitbook.io/rest-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://plexo.gitbook.io/rest-api/core-concepts/gateway-vs-payfac.md).

# Gateway Mode vs PayFac Mode

*Brief explanation: Plexo supports two integration models - Gateway Mode (direct processor integration) and PayFac Mode (payment facilitator aggregation). Each has different setup requirements and use cases.*

## Overview

When configuring payment methods for your merchant account, you can choose between two operational modes:

### Gateway Mode (Direct Integration)

In Gateway Mode, merchants provide their own credentials directly from payment processors/acquirers. This is ideal for:

* Large merchants with existing processor relationships
* Merchants requiring direct control over settlement
* Businesses needing processor-specific features
* Organizations with negotiated processing rates

**Key Characteristics:**

* Merchant provides `MerchantIdentificationNumber` (MID)
* Merchant provides `TerminalNumber` from processor
* Direct settlement to merchant's bank account
* Full visibility into processor transactions
* Merchant assumes processor relationship management

### PayFac Mode (Aggregated Processing)

In PayFac Mode, merchants process through Plexo's payment facilitator partner (Handy). This is ideal for:

* Small to medium businesses
* Fast onboarding without processor negotiations
* Simplified compliance requirements
* Merchants without existing processor contracts

**Key Characteristics:**

* No direct processor credentials needed
* Plexo manages processor relationships
* Sub-merchant aggregated processing
* Simplified settlement through PayFac
* Faster merchant onboarding

## Configuration Comparison

### Gateway Mode Settings

```json
{
  "settings": {
    "merchantIdentificationNumber": "123456789",
    "terminalNumber": "12345678",
    "paymentProcessor": {
      "id": "processor-uuid",
      "acquirer": "visanet"
    },
    "rut": "210000001234",
    "merchantCategoryCode": "5411"
  }
}
```

**Required Fields:**

* `merchantIdentificationNumber` - Your MID from the processor
* `terminalNumber` - Terminal ID from the processor
* `paymentProcessor` - Selected processor configuration
* `rut` - Tax identification (Uruguay)
* `merchantCategoryCode` - ISO 18245 MCC code

### PayFac Mode Settings

```json
{
  "settings": {
    "paymentFacilitator": {
      "id": "payfac-merchant-id",
      "merchantId": {{MERCHANT_ID}}
    }
  }
}
```

**Required Fields:**

* `paymentFacilitator.id` - PayFac merchant identifier
* `paymentFacilitator.merchantId` - Sub-merchant ID within PayFac

## Choosing the Right Mode

| Criteria                   | Gateway Mode           | PayFac Mode           |
| -------------------------- | ---------------------- | --------------------- |
| **Onboarding Speed**       | Slower (weeks)         | Faster (days)         |
| **Processor Relationship** | Merchant-owned         | PayFac-managed        |
| **Settlement Control**     | Direct                 | Through PayFac        |
| **Processing Rates**       | Negotiated             | Standard PayFac rates |
| **Compliance Burden**      | Higher                 | Lower                 |
| **Transaction Visibility** | Full processor access  | Through Plexo/PayFac  |
| **Setup Complexity**       | Higher                 | Lower                 |
| **Best For**               | Established businesses | Growing businesses    |

## Related Resources

* [Payment Methods Setup Guide](/rest-api/merchant-configuration/payment-methods-setup.md)
* [Merchant Management Guide](/rest-api/merchant-configuration/merchant-management.md)
* [Payment Facilitators](/rest-api/core-concepts/payment-facilitators.md)
* [Supported Payment Methods and Processors](/rest-api/reference/supported-payment-methods.md)
* [3DS Configuration](/rest-api/core-concepts/3ds-authentication.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://plexo.gitbook.io/rest-api/core-concepts/gateway-vs-payfac.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
