> ## Documentation Index
> Fetch the complete documentation index at: https://terminal-docs.xendit.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Terminal SDK Overview

> Understand when to choose Terminal H2H or Terminal C2C SDKs and how they work together in the Xendit terminal stack

Welcome to the Terminal SDK hub. Use this page to pick the right SDK pathway and to understand how the host-to-host (H2H) and client-to-client (C2C) options differ.

## Why build with Terminal SDKs?

* **Single app experience:** Keep staff or customers inside your Android or iOS app while you manage payments, receipts, and device states end-to-end.
* **Provider flexibility:** Add or swap terminal providers (BRI, Cashup, NTT, and more) without rewriting your integration from scratch.
* **Shared tooling:** Rely on the same credential, logging, and monitoring patterns across both SDK families.

## Choose the right track

<Tabs>
  <Tab title="Terminal H2H SDK">
    <p>The H2H SDK provides <strong>device connectivity</strong> for the H2H path. Payment API calls are always HTTP via the <a href="/api-reference/terminal-api/introduction">Terminal API</a> — the SDK handles the device communication layer only.</p>

    <ul>
      <li>Ideal for staffed environments where associates stay in a single mobile workflow.</li>
      <li>Leverage standardized payment sessions, callbacks, and reconciliation flows.</li>
      <li>Required for BRI/NTT terminals on the H2H path if you choose not to use the Gateway App.</li>
    </ul>

    <Check>
      Jump to the <a href="/sdk/h2h/introduction">Terminal H2H introduction</a> to dive into platform concepts and SDK setup.
    </Check>
  </Tab>

  <Tab title="Terminal C2C SDK">
    <p>The C2C SDK provides <strong>native method calls</strong> as a full alternative to the <a href="/api-reference/c2c/introduction">Terminal C2C API</a> (HTTP). Instead of sending REST commands, your app calls SDK methods directly to control terminals.</p>

    <ul>
      <li>For BRI/NTT terminals the SDK is the required install. For other providers it is an optional convenience.</li>
      <li>Issue PAY, CANCEL, RECEIPT, and SETTLEMENT commands directly from your application.</li>
      <li>Coordinate custom flows with scanners, printers, or loyalty systems.</li>
    </ul>

    <Tip>
      Start with the <a href="/sdk/c2c/introduction">Terminal C2C overview</a> to explore capabilities, architecture, and platform prerequisites.
    </Tip>
  </Tab>
</Tabs>

<Warning>
  **BRI / NTT pre-install required**: On the H2H path, install either the [Terminal Gateway App](/sdk/gateway/app-configuration) or the Terminal H2H SDK. On the C2C path, install the Gateway App (for Terminal C2C API) or the Terminal C2C SDK (for native method calls). Other providers (Cashup, SHC) connect directly without any pre-install.
</Warning>

## Implementation checklist

<Steps>
  <Step title="Align on operating model">
    Confirm whether each merchant location will run the managed H2H track, the direct C2C track, or a mix by venue. Document expectations in your rollout plan.
  </Step>

  <Step title="Provision credentials">
    Request the appropriate CLIENT\_KEY and API credentials from the Xendit In-Person Payment team, noting that sandbox and production environments use separate keys.
  </Step>

  <Step title="Prepare device inventory">
    Maintain terminal IDs, IP addresses, and provider mappings for every site. This ensures your app can register terminals programmatically.
  </Step>

  <Step title="Plan observability">
    Decide how you will surface command results, device connectivity, and reconciliation status to operations teams before you go live.
  </Step>
</Steps>

## Next steps

<CardGroup cols={2}>
  <Card title="Terminal H2H SDKs" icon="device" href="/sdk/h2h/introduction">
    Follow platform-specific guides for Android and iOS implementations.
  </Card>

  <Card title="Terminal C2C SDKs" icon="terminal" href="/sdk/c2c/introduction">
    Explore command APIs, provider helpers, and kiosk deployment patterns.
  </Card>

  <Card title="Gateway App" icon="desktop" href="/sdk/gateway/introduction">
    Compare running SDKs inside your app versus delegating device control to the Gateway App.
  </Card>

  <Card title="Migration guides" icon="shuffle" href="/guides/migration/xen-bri-sdk-to-c2c">
    Review detailed migration paths for teams updating from legacy SDKs.
  </Card>
</CardGroup>
