# Shift4 API Guides

Welcome to the Shift4 API Guides! Below, you'll find a list of guides categorized to help you navigate through the different aspects of using the Shift4 API.

## SDK

There are two fundamental ways that integrators can build an integration

- Option 1: SDK
  - Shift4 can provide an SDK.  The SDK simplifies and abstracts many of the complexities of the REST API.  Currently the SDK is available using a .Net DLL.  Support for additional languages are being added.
    - For further information on the .Net SDK, see the following link: [.Net SDK](/sdks/dotnet)
- Option 2: Direct integration
  - You can do a direct integration to the REST API without using a library/SDK. Note that with this method, you’ll have to:
    - Execute HTTP requests directly in your code
    - Handle timeouts and boundary conditions that are abstracted in the SDK
    - Handle logging and log masking


## Quickstart

Start your journey with the Shift4 API by following our Quickstart guide. This guide will help you set up your environment and make your first request in minutes.

- [Quickstart Guide](/guides/quickstart)
- [Converting From Legacy Interfaces](/guides/converting-from-legacy-interfaces)


## Device Functionality

Explore the use of payment devices for card present transaction processing.

- [UTG Controlled Devices](/guides/device-functionality/utg-controlled-devices)
- [Commerce Engine](/guides/device-functionality/commerce-engine)
- [Required EMV Authorization Request Tags](/guides/device-functionality/emv-tags-for-utgless-devices)
- [NFC/Contactless Payments](/guides/device-functionality/nfc-contactless-payments)


## Core Concepts

Explore the core concepts of the Shift4 Payment Platform API.

- [Understanding Card Tokens](/guides/core-concepts/understanding-card-tokens)
- [Understanding Invoices](/guides/core-concepts/understanding-invoices)
- [Capturing Sales](/guides/core-concepts/capturing-sales)
- [Restaurant Authorization and Settlement Flow](/guides/core-concepts/restaurant-authorization-and-settlement-flow)
- [Using the Notes Field](/guides/core-concepts/using-the-notes-field)
- [Processing Refunds](/guides/core-concepts/processing-refunds)
- [Printing Receipts](/guides/core-concepts/printing-receipts)
- [P2PE Format](/guides/core-concepts/p2pe-format)


## Handling Responses

- [Transaction Flow](/guides/response-handling/transaction-flow)
- [Understanding AVS and CSC Verification](/guides/response-handling/understanding-avs-and-csc-verification)
- [Timeouts and Communication Failures](/guides/response-handling/timeouts-and-communications-failures)
- [Handling Referral Responses](/guides/response-handling/handling-referral-responses)


## Advanced Topics

Once you're comfortable with the basics, dive into our advanced topics. These guides cover complex scenarios, including offline processing, split-tender transactions, partial approvals, card on file transactions, and preventing double charges.

- [Offline Processing](/guides/advanced-concepts/offline-processing)
- [Split-Tender Transactions](/guides/advanced-concepts/split-tender-transactions)
- [Partial Approval](/guides/advanced-concepts/partial-approval)
- [Level 2 Purchasing Card Data](/guides/advanced-concepts/level-2-purchasing-card-data)
- [Card On File transactions](/guides/advanced-concepts/card-on-file-transactions)
- [Preventing Double Charges on Amended Transactions](/guides/advanced-concepts/preventing-double-charges-on-amended-transactions)
- [3D Secure](/guides/advanced-concepts/3d-secure)
- [Surcharging](/guides/advanced-concepts/surcharging)