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

# Quick Start

## Integration Overview

Get started with Tabby's Buy Now, Pay Later solution. This guide walks you through integrating Tabby Payments into your website or mobile app, allowing your customers to split purchases into interest-free installments.

## See It In Action

<video controls alt="Tabby demo" className="product-shot w-80" src="https://mintcdn.com/tabby-5f40add6/UqGv66SUQ3rizJwt/images/tabby-demo-0925.mp4?fit=max&auto=format&n=UqGv66SUQ3rizJwt&q=85&s=bb3913b019b3947e33d337c5f2193c8e" data-path="images/tabby-demo-0925.mp4" />

## Integration Steps

### Setup

<Steps>
  <Step
    stepNumber={1}
    title={(
  <span>
    <a href="https://merchant.tabby.ai/">
      Register for a Tabby merchant account
    </a>
    <span style={{ fontWeight: 'normal', fontSize: '0.9em' }}>
      &nbsp;(KSA: <a href="https://merchant.tabby.sa/">merchant.tabby.sa</a>)
    </span>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;and complete your application to obtain access to Tabby Merchant Dashboard
    </span>
  </span>
)}
  />

  <Step
    stepNumber={2}
    title={(
  <span style={{ fontWeight: 'normal' }}>
    Retrieve your test API keys and merchant codes from Tabby Merchant Dashboard or your Tabby account manager
  </span>
)}
  />
</Steps>

### Development

<Steps>
  <Step
    stepNumber={3}
    title={(
  <span>
    <span style={{ fontWeight: 'normal' }}>
      Implement checkout integration for your platform:&nbsp;
    </span>
    <a href="/pay-in-4-custom-integration/checkout-flow">
      Web
    </a>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;or&nbsp;
    </span>
    <a href="/pay-in-4-custom-integration/mobile-apps/sdk-all">
      Mobile
    </a>
  </span>
)}
  />

  <Step
    stepNumber={4}
    title={(
  <span>
    <span style={{ fontWeight: 'normal' }}>
      Integrate&nbsp;
    </span>
    <a href="/pay-in-4-custom-integration/payment-processing">
      Payment Processing
    </a>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;to handle payment status updates and order fulfillment
    </span>
  </span>
)}
  />

  <Step
    stepNumber={5}
    title={(
  <span>
    <span style={{ fontWeight: 'normal' }}>
      Add&nbsp;
    </span>
    <a href="/pay-in-4-custom-integration/on-site-messaging">
      Tabby Promo snippets and widgets
    </a>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;to your site (required for optimal conversion)
    </span>
  </span>
)}
  />

  <Step
    stepNumber={6}
    title={(
  <span>
    <a href="/testing-guidelines/testing-credentials">
      Test basic scenarios
    </a>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;with test credentials, then complete the&nbsp;
    </span>
    <a href="/pay-in-4-custom-integration/full-testing-checklist">
      full testing checklist
    </a>
    <span style={{ fontWeight: 'normal' }}>
      &nbsp;before submitting for Tabby QA review
    </span>
  </span>
)}
  />
</Steps>

### Going Live

<Steps>
  <Step
    stepNumber={7}
    title={(
  <span style={{ fontWeight: 'normal' }}>
    Submit your integration for Tabby QA review after completing the full testing checklist
  </span>
)}
  />

  <Step
    stepNumber={8}
    title={(
  <span style={{ fontWeight: 'normal' }}>
    After successful QA approval, coordinate your go-live plan and marketing campaign with your Tabby account manager
  </span>
)}
  />

  <Step
    stepNumber={9}
    title={(
  <span style={{ fontWeight: 'normal' }}>
    Request live API keys and deploy to production
  </span>
)}
  />
</Steps>

## How It Works

Here's what happens when a customer uses Tabby:

1. **Customer chooses Tabby at checkout**\
   Your site checks if the customer is eligible using Tabby's API (background check based on purchase amount and customer details).

2. **Customer completes purchase**\
   If eligible, customer selects Tabby, clicks "Place order", and is redirected to Tabby's secure payment page to complete verification.

3. **You get paid, customer pays in installments**\
   Tabby authorizes the payment immediately. You capture the full amount and fulfill the order. The customer pays Tabby in interest-free installments.

<Note>
  For detailed technical implementation, see the <a href="/pay-in-4-custom-integration/checkout-flow">Checkout Flow Guide</a>.
</Note>

## Complete Integration Flow

This diagram shows the complete end-to-end integration flow including eligibility checks, session creation, payment processing, and all possible outcomes:

```mermaid theme={"dark"}
sequenceDiagram
    autonumber
    participant Customer
    participant Merchant Site
    participant Merchant Backend
    participant Tabby Checkout
    participant Tabby API

    Customer ->>+ Merchant Site: Opens Checkout page
    Merchant Site ->>+ Merchant Backend: Check customer eligibility with Tabby
    Merchant Backend ->>+ Tabby API: POST /api/v2/checkout<br/>{ amount, currency, buyer.phone, buyer.email, merchant_code }
    Tabby API -->>- Merchant Backend: Response<br/>{"status" of session}

    alt "status" of session == "created"
        Merchant Backend -->> Merchant Site: Customer is eligible
        Merchant Site -->> Customer: Show Tabby on Checkout
        Note right of Customer: Customer can select Tabby payment

        Customer ->>+ Merchant Site: Selects Tabby & clicks Place Order
        Merchant Site ->>+ Merchant Backend: Create Tabby payment session
        Note over Merchant Backend,Tabby API: New session is created (not eligibility check)

        Merchant Backend ->>+ Tabby API: POST /api/v2/checkout<br/>{ all required attributes }
        Tabby API -->>- Merchant Backend: Response<br/>{"payment.id", "web_url"}

    else "status" of session == "rejected"
        Merchant Backend -->> Merchant Site: Customer is not eligible
        Merchant Site -->> Customer: Hide Tabby on Checkout
    end
            Merchant Backend ->>+ Tabby Checkout: Redirect to Tabby Checkout
            loop Tabby Checkout steps
                Tabby Checkout -->> Customer: Guide through payment steps
            end
    alt Customer is redirected back to Merchant Site

        Tabby Checkout ->> Merchant Site: Redirect via success/cancel/failure url
        Merchant Site ->> Customer: Show success/cancel/failure screen and message
        Note right of Customer: If payment is unsuccessful, customer can retry <br/>or select a different payment method
        Merchant Backend ->>+ Tabby API: GET /api/v2/payments/{payment.id}
        Tabby API -->>- Merchant Backend: { "status" of the payment }

    else Customer is not redirected
        Note over Tabby API,Merchant Backend: Tabby sends payment status<br/>via webhook or merchant checks it via API
        Tabby API -->>+ Merchant Backend: POST webhook <br />{ "id" of the payment, "status" of the payment }
        Merchant Backend ->>+ Tabby API: GET /api/v2/payments/{payment.id}
        Tabby API -->>- Merchant Backend: { "status" of the payment }

    end

Note over Merchant Backend: Always verify payment status via Tabby API<br/>Do not rely on redirect URL or query params alone
    alt payment.status == "AUTHORIZED" or "CLOSED"
        Merchant Backend ->>+ Merchant Site: Create order in backend
        Merchant Backend -->> Tabby API: POST /api/v2/payments/{payment.id}/captures<br/>{ amount, reference_id}
    else payment.status == "REJECTED" or "EXPIRED"
        Merchant Backend -->> Merchant Site: Payment failed/cancelled
    end
```

## Next Steps

After completing this guide, you're ready to:

**📚 Explore Advanced Features**

* <a href="/pay-in-4-custom-integration/webhooks">Webhooks configuration</a> for real-time payment updates
* <a href="/api-reference/payments/refund-a-payment">Refunds and cancellations</a>
* <a href="/pay-in-4-custom-integration/disputes">Disputes handling</a> and customer support

**🎯 Optimize Your Integration**

* <a href="/introduction/faq">FAQ</a> for common implementation questions
* <a href="/marketing/website-app-assets">Website / app assets</a> for better conversion
* <a href="/marketing/toolkit">Marketing toolkit</a> with assets for every channel

**🚀 Additional Resources**

* <a href="/pay-in-4-custom-integration/payment-statuses">Payment statuses reference</a>
* <a href="/api-reference/overview">Complete API Reference</a>

## Need Help?

**Integration support:**\
Contact your assigned Business Manager or Integrations Team via your integration email thread.

**Technical or API questions:**\
Email `partner@tabby.ai` / `partner@tabby.sa` or use Partner Support in Tabby Business App.

**Direct your customers to:**\
Customer Support in Tabby App or `help@tabby.ai` / `help@tabby.sa`.
