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

# Paylink API: Developer Payment Gateway Overview

> Paylink is a JSON HTTP API for collecting payments, issuing virtual accounts, running direct debits, processing refunds, and sending bank transfers.

**Paylink** is a developer-first payment gateway that gives your application a single, consistent API surface for everything money-related: collecting card and bank payments, issuing virtual accounts, running direct debits, triggering refunds, and sending bank transfers — all over plain JSON HTTP.

## Key Capabilities

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" href="/quickstart">
    Go from zero to your first successful payment in minutes. Follow the step-by-step guide to initialize and verify a payment in the sandbox.
  </Card>

  <Card title="Authentication" icon="lock" href="/authentication">
    Learn how to sign every request with HMAC-SHA256 so your integration is secure from day one.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/concepts/webhooks">
    Receive real-time event notifications for payment status changes, refunds, disputes, and more.
  </Card>

  <Card title="Accept Payments" icon="credit-card" href="/guides/accept-payments">
    Build a complete checkout flow — from payment initialization through confirmation — using the Paylink hosted checkout page.
  </Card>
</CardGroup>

## How It Works

All Paylink endpoints accept and return **JSON over HTTPS**. There are two environments — **sandbox** and **live** — each with its own base URL and hosted checkout URL. You build and test your integration against the sandbox, then switch to the live base URL when you are ready to accept real money.

Every merchant-protected request must be authenticated with an **HMAC-SHA256 signature**. You combine your API key ID, a Unix timestamp, and a digest of the raw request body into a set of three headers that the server validates on every call. Timestamps must be within five minutes of the server clock, which prevents replay attacks.

Because payment flows involve third-party card networks and bank rails, the final outcome of a payment is not always available synchronously. Paylink pushes **asynchronous status updates to your webhook URL**, so your backend is notified the moment a payment is confirmed, failed, or reversed — without polling.

## Supported Payment Methods

* **Card** — Visa, Mastercard, and Verve cards via the hosted checkout page
* **Bank Transfer** — Dynamic virtual account numbers for instant bank transfers
* **USSD** — Short-code USSD payments on all major Nigerian mobile networks
* **Direct Debit** — Mandate-based recurring debits from customer bank accounts
