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

# Quick start

> Make your first Pasteaza API request in minutes.

Use this guide to create your first virtual account collection with Pasteaza.

You will create a merchant account, get your API keys, make an authenticated request, and verify the payment status.

<Info>
  Start in test mode with your `sk_test_` key. Switch to live mode only after you have tested collections, webhooks, and idempotency.
</Info>

## Before you begin

You need:

* A Pasteaza merchant account
* Your test secret key
* A backend environment that can send HTTPS requests
* A webhook endpoint if you want real-time transaction updates

## Get started

<Steps>
  <Step title="Create a merchant account">
    Create your merchant account at Pasteaza.

    ```http theme={null}
    https://oyapasteaza.com
    ```

    After your account is ready, open the developer dashboard to access your API credentials.
  </Step>

  <Step title="Get your API keys">
    Pasteaza provides separate keys for test mode and live mode.

    | Key type   | Test mode               | Live mode               |
    | ---------- | ----------------------- | ----------------------- |
    | Public key | `pk_test_xxxxxxxxxxxxx` | `pk_live_xxxxxxxxxxxxx` |
    | Secret key | `sk_test_xxxxxxxxxxxxx` | `sk_live_xxxxxxxxxxxxx` |

    Keep your secret key on your backend server. Never expose it in frontend code or mobile apps.
  </Step>

  <Step title="Make your first request">
    Create a virtual account collection request from your backend using your test secret key.

    ```bash theme={null}
    curl https://api.oyapasteaza.com/v1/collections/virtual-accounts \
      -X POST \
      -H "Authorization: Bearer sk_test_xxxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -d '{
        "merchantReference": "COL-10001",
        "amount": 500000,
        "metadata": {
          "customerId": "cust_001"
        }
      }'
    ```
  </Step>

  <Step title="Receive bank transfer details">
    Pasteaza returns a virtual account that your customer can use to complete payment.
  </Step>

  <Step title="Verify the payment">
    Verify the collection from your backend or listen for a webhook notification when the payment status changes.
  </Step>
</Steps>

## Example flow

<CardGroup cols={2}>
  <Card title="Create a virtual account" icon="arrow-down-to-line" href="/collections/virtual-accounts/create-virtual-account">
    Initialize a bank transfer collection for your customer.
  </Card>

  <Card title="Verify virtual account status" icon="circle-check" href="/collections/virtual-accounts/verify-virtual-account-status">
    Confirm the final payment status before you fulfill an order.
  </Card>
</CardGroup>

## Recommended setup

* Use the sandbox base URL while building.
* Authenticate every request with your secret key.
* Use an `Idempotency-Key` when creating bank transfers.
* Verify webhooks before processing events.
* Store transaction references in your database.

## Next steps

<CardGroup cols={2}>
  <Card title="Base URL" icon="globe" href="/getting-started/base-url">
    Review sandbox and production endpoints.
  </Card>

  <Card title="Authentication" icon="shield-check" href="/getting-started/authentication">
    Learn how to authenticate requests with API keys.
  </Card>

  <Card title="Idempotency" icon="rotate" href="/getting-started/idempotency">
    Prevent duplicate transactions when retrying requests.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/getting-started/webhooks">
    Receive and verify real-time transaction notifications.
  </Card>
</CardGroup>
