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

# Create Withdrawal Order

> Create a withdrawal order to send funds to a customer's bank account

## Overview

This endpoint creates a withdrawal order that processes a payout from your merchant wallet to a customer's bank account. Use this for disbursements, refunds, commission payments, or any scenario where you need to send money to customers.

## Path Parameters

<ParamField path="version" type="string" required>
  API version (e.g., "1")
</ParamField>

## Request Body

<ParamField body="amount" type="number" required>
  Withdrawal amount. Minimum withdrawal amount is 300 (applies to all providers, including JazzCash and Easypaisa).
</ParamField>

<ParamField body="currency" type="string" required>
  Payment currency - exactly 3 characters (e.g., "PKR", "USD")
</ParamField>

<ParamField body="description" type="string" required>
  Withdrawal description (1-200 alphanumeric characters and spaces only)

  **Pattern:** `^[A-Za-z0-9 ]{1,200}$`
</ParamField>

<ParamField body="intentType" type="string">
  Payment intent type (e.g., "withdrawal")
</ParamField>

<ParamField body="autoProcessPayout" type="boolean">
  Whether to automatically process the payout (default: false)
</ParamField>

<ParamField body="metadataJson" type="string">
  Optional JSON string containing additional metadata for the transaction
</ParamField>

<ParamField body="callbackUrl" type="string">
  Webhook URL on your server to receive real-time payout status updates

  This should be a publicly accessible HTTPS endpoint in your merchant system that can receive POST requests from Waypay. When a payout/withdrawal status changes, Waypay will send a webhook notification to this URL with the transaction details.

  **When to use this parameter:**

  * Use this parameter only if you need a **dynamic webhook URL** that varies per transaction (e.g., session-specific, order-specific URLs)
  * If your webhook URL is **static** (same for all transactions), configure it in your **Merchant Portal** instead. The system will automatically use the portal-configured URL when this parameter is not provided.

  **Maximum length:** 2048 characters

  **Required:** HTTPS URL that can accept POST requests

  **Example (Dynamic):** `https://yoursite.com/api/webhooks/withdrawal?payout_id=12345`

  **Example (Static):** Configure `https://yoursite.com/api/webhooks/payout` in Merchant Portal and omit this parameter

  <Tip>
    **Best Practice:** Use the Merchant Portal for static webhook URLs. Use this parameter only when you need dynamic, per-transaction webhook URLs.
  </Tip>

  See the [Initiate Checkout](/api-reference/endpoints/payment-initiate#callback-url) documentation for complete webhook payload structure and implementation examples.
</ParamField>

<ParamField body="customerRef" type="object" required>
  Customer information with bank account details

  <Expandable title="properties">
    <ParamField body="name" type="string">
      Customer full name
    </ParamField>

    <ParamField body="email" type="string">
      Customer email address (must be valid email format)
    </ParamField>

    <ParamField body="cnic" type="string">
      Customer CNIC number - must be exactly 13 digits

      **Pattern:** `^\d{13}$`

      **Example:** `3520108345678`
    </ParamField>

    <ParamField body="phone" type="string">
      Customer phone number
    </ParamField>

    <ParamField body="bankAccountNumber" type="string" required>
      Customer's bank account number or IBAN (10-24 characters)

      **Example:** `PK36SCBL0000001123456702`
    </ParamField>

    <ParamField body="bankCode" type="string" required>
      Standard bank code for IBFT withdrawals (2-20 characters)

      This code identifies the target bank for processing the withdrawal. Use the standardized bank codes listed in the [Bank Codes Reference](#bank-codes-reference) section below.

      **Examples:**

      * `HBL` - Habib Bank Limited
      * `UBL` - United Bank Limited
      * `MCB` - MCB Bank Limited
      * `JAZZCASH` - JazzCash
      * `EASYPAISA` - Easypaisa

      See the complete list of valid bank codes below.
    </ParamField>

    <ParamField body="bankName" type="string">
      Name of the customer's bank (optional, for display purposes only)

      This field is informational only. The `bankCode` is used for actual processing.

      **Examples:**

      * Habib Bank Limited
      * United Bank Limited
      * Standard Chartered Bank
      * JazzCash
      * Easypaisa
    </ParamField>

    <ParamField body="accountTitle" type="string" required>
      Account holder name as per bank account (2-100 characters)
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="orderRef" type="object" required>
  Order information

  <Expandable title="properties">
    <ParamField body="orderRef" type="string" required>
      Order reference (alphanumeric characters)

      **Pattern:** `^[A-Za-z0-9]+$`
    </ParamField>

    <ParamField body="discount" type="string">
      Discount amount or percentage
    </ParamField>

    <ParamField body="tax" type="string">
      Tax amount or percentage
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="signature" type="string" required>
  Request signature for security verification

  A cryptographic signature generated using MD5 hash algorithm to ensure the integrity and authenticity of the request. The signature is calculated using all request parameters (excluding the signature field itself) combined with your merchant secret key.

  **Format:** 32-character lowercase hexadecimal string

  **Example:** `a1b2c3d4e5f6789012345678abcdef12`

  <Warning>
    Never expose your secret key in client-side code. Always generate signatures on your server.
  </Warning>

  **Learn how to generate signatures:** See the complete [Signature Generation Guide](/signature-guide) for step-by-step instructions and implementation examples in C#, Node.js, Python, PHP, and Java.
</ParamField>

## Response

<ResponseField name="paymentIntentId" type="uuid">
  Unique identifier for the payment intent
</ResponseField>

<ResponseField name="amount" type="number">
  Withdrawal amount
</ResponseField>

<ResponseField name="currency" type="string">
  Payment currency
</ResponseField>

<ResponseField name="merchantReference" type="string">
  Your merchant reference for this transaction
</ResponseField>

<ResponseField name="isLive" type="boolean">
  Whether this is a live or test transaction
</ResponseField>

<ResponseField name="fee" type="number">
  Transaction fee amount
</ResponseField>

<ResponseField name="totalRequired" type="number">
  Total amount required (withdrawal amount + fee)
</ResponseField>

<ResponseField name="availableBalance" type="number">
  Your current available wallet balance
</ResponseField>

<ResponseField name="payoutInfo" type="object">
  Information about the payout processing

  <Expandable title="properties">
    <ResponseField name="status" type="string">
      Payout status
    </ResponseField>

    <ResponseField name="provider" type="string">
      Provider from which transaction is completed
    </ResponseField>

    <ResponseField name="transactionReference" type="string">
      Transaction reference number
    </ResponseField>

    <ResponseField name="message" type="string">
      Status message
    </ResponseField>

    <ResponseField name="isSuccess" type="boolean">
      Whether the payout was successful
    </ResponseField>

    <ResponseField name="errorDetails" type="string">
      Error details if payout failed
    </ResponseField>

    <ResponseField name="estimatedCompletionTime" type="datetime">
      Estimated time when payout will be completed
    </ResponseField>

    <ResponseField name="customerBankName" type="string">
      Customer's bank name
    </ResponseField>

    <ResponseField name="customerAccountNumber" type="string">
      Customer's account number
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://gateway.dev.waypay.live/Gateway/v1/Payment/withdraw \
    --header 'SWICH-API-Key: pk_test_xxxxxxxx' \
    --header 'Content-Type: application/json' \
    --data '{
      "amount": 5000,
      "currency": "PKR",
      "description": "Freelancer Payment",
      "intentType": "withdrawal",
      "autoProcessPayout": true,
      "callbackUrl": "https://yoursite.com/withdrawal/callback",
      "customerRef": {
        "name": "Ahmed Ali",
        "email": "ahmed@example.com",
        "cnic": "3520108345678",
        "phone": "03123456789",
        "bankAccountNumber": "PK36SCBL0000001123456702",
        "bankCode": "SCB",
        "bankName": "Standard Chartered Bank",
        "accountTitle": "Ahmed Ali"
      },
      "orderRef": {
        "orderRef": "WD123456"
      },
      "signature": "a1b2c3d4e5f6789012345678abcdef12"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://gateway.dev.waypay.live/Gateway/v1/Payment/withdraw",
    {
      method: "POST",
      headers: {
        "SWICH-API-Key": "pk_test_xxxxxxxx",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        amount: 5000,
        currency: "PKR",
        description: "Freelancer Payment",
        intentType: "withdrawal",
        autoProcessPayout: true,
        callbackUrl: "https://yoursite.com/withdrawal/callback",
        customerRef: {
          name: "Ahmed Ali",
          email: "ahmed@example.com",
          cnic: "3520108345678",
          phone: "03123456789",
          bankAccountNumber: "PK36SCBL0000001123456702",
          bankCode: "SCB",
          bankName: "Standard Chartered Bank",
          accountTitle: "Ahmed Ali"
        },
        orderRef: {
          orderRef: "WD123456",
        },
        signature: "a1b2c3d4e5f6789012345678abcdef12"
      }),
    }
  );

  const data = await response.json();
  console.log("Withdrawal Intent ID:", data.paymentIntentId);
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      'https://gateway.dev.waypay.live/Gateway/v1/Payment/withdraw',
      headers={
          'SWICH-API-Key': 'pk_test_xxxxxxxx',
          'Content-Type': 'application/json'
      },
      json={
          'amount': 5000,
          'currency': 'PKR',
          'description': 'Freelancer Payment',
          'intentType': 'withdrawal',
          'autoProcessPayout': True,
          'callbackUrl': 'https://yoursite.com/withdrawal/callback',
          'customerRef': {
              'name': 'Ahmed Ali',
              'email': 'ahmed@example.com',
              'cnic': '3520108345678',
              'phone': '03123456789',
              'bankAccountNumber': 'PK36SCBL0000001123456702',
              'bankCode': 'SCB',
              'bankName': 'Standard Chartered Bank',
              'accountTitle': 'Ahmed Ali'
          },
          'orderRef': {
              'orderRef': 'WD123456'
          },
          'signature': 'a1b2c3d4e5f6789012345678abcdef12'
      }
  )

  data = response.json()
  print(f"Payout Status: {data['payoutInfo']['status']}")
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Success theme={null}
  {
    "paymentIntentId": "880e8400-e29b-41d4-a716-446655440000",
    "amount": 5000,
    "currency": "PKR",
    "merchantReference": "WD123456",
    "isLive": false,
    "fee": 150.00,
    "totalRequired": 5150.00,
    "availableBalance": 10000.00,
    "payoutInfo": {
      "status": "Processing",
      "provider": "JazzCash",
      "transactionReference": "WD20251213123456",
      "message": "Payout initiated successfully",
      "isSuccess": true,
      "errorDetails": null,
      "estimatedCompletionTime": "2025-12-14T10:00:00Z",
      "customerBankName": "Standard Chartered Bank",
      "customerAccountNumber": "PK36SCBL0000001123456702"
    }
  }
  ```

  ```json 400 Bad Request theme={null}
  {
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "Bad Request",
    "status": 400,
    "detail": "Invalid bank account number format"
  }
  ```

  ```json 401 Unauthorized theme={null}
  {
    "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
    "title": "Unauthorized",
    "status": 401,
    "detail": "Invalid or missing API key"
  }
  ```

  ```json 422 Unprocessable Content theme={null}
  {
    "type": "https://tools.ietf.org/html/rfc4918#section-11.2",
    "title": "Unprocessable Content",
    "status": 422,
    "detail": "Insufficient balance for withdrawal"
  }
  ```
</ResponseExample>

## Validation Rules

### CNIC Format (Optional)

* Must be exactly 13 digits when provided
* Pattern: `^\d{13}$`
* Example: `3520108345678`

### Phone Number (Optional)

* No specific format required
* Recommended format for Pakistani numbers: `03XXXXXXXXX` or `+923XXXXXXXXX`

### Bank Account Number (Required)

* Length: 10-24 characters
* Supports both IBAN and regular account numbers
* Example IBAN: `PK36SCBL0000001123456702`

### Bank Code (Required)

* Length: 2-20 characters
* Must be a valid standard bank code from the supported banks list
* Case-insensitive (will be automatically normalized)
* Examples: `HBL`, `UBL`, `MCB`, `JAZZCASH`, `EASYPAISA`, `SCB`
* See [Bank Codes Reference](#bank-codes-reference) for complete list

### Bank Name (Optional)

* Length: 2-100 characters
* For informational/display purposes only
* The `bankCode` field is used for actual transaction processing
* Examples: Habib Bank Limited, United Bank Limited, Standard Chartered Bank

### Account Title (Required)

* Length: 2-100 characters
* Must match the bank account holder's name

### Currency (Required)

* Must be exactly 3 characters
* Examples: `PKR`, `USD`, `EUR`

### Description (Required)

* Length: 1-200 characters
* Pattern: `^[A-Za-z0-9 ]{1,200}$`
* Only alphanumeric characters and spaces allowed

## Required vs Optional Fields

### Required Fields

* `amount` - Withdrawal amount
* `currency` - Payment currency (3 characters)
* `description` - Transaction description
* `customerRef` - Customer information object
* `customerRef.bankAccountNumber` - Bank account or IBAN
* `customerRef.bankCode` - Standard bank code for IBFT processing
* `customerRef.accountTitle` - Account holder name
* `orderRef` - Order information object
* `orderRef.orderRef` - Unique order reference
* `signature` - Request signature for security verification

### Optional Fields

* `intentType` - Payment intent type
* `autoProcessPayout` - Auto-process flag (default: false)
* `metadataJson` - Additional metadata
* `callbackUrl` - Dynamic callback URL for post-payout redirect
* `customerRef.name` - Customer full name
* `customerRef.email` - Customer email
* `customerRef.cnic` - Customer CNIC
* `customerRef.phone` - Customer phone
* `customerRef.bankName` - Bank name (informational only)
* `orderRef.discount` - Discount information
* `orderRef.tax` - Tax information

## Auto Process Payout

When `autoProcessPayout` is set to `true`, the system will automatically initiate the bank transfer without requiring manual approval. This is useful for:

* Automated disbursement systems
* Real-time payouts
* High-volume withdrawal processing

When set to `false` (default), the withdrawal will be created but require manual approval before processing.

## Best Practices

* Always verify the customer's bank account details before processing
* Use the correct standardized `bankCode` from the Bank Codes Reference section
* Ensure sufficient balance in your merchant wallet (including transaction fees)
* Use `autoProcessPayout: false` for high-value transactions that need review
* Monitor the `payoutInfo.status` to track withdrawal completion
* Store the `paymentIntentId` for future reference and reconciliation
* Provide name, email and phone when available for better customer communication
* Include CNIC for compliance and verification purposes when available
* Verify account title matches the bank account holder's name
* Use `metadataJson` to store additional transaction context
* The `bankName` field is optional and informational only - use `bankCode` for processing

## Processing Time

Withdrawal processing times vary by bank and amount:

* **Instant**: Some banks support real-time transfers
* **Same Day**: Most local banks (2-4 hours)
* **Next Day**: For high-value transactions or certain banks

The `estimatedCompletionTime` field provides the expected completion timestamp.

## Common Error Scenarios

| Error                | Cause                                    | Solution                                                   |
| -------------------- | ---------------------------------------- | ---------------------------------------------------------- |
| Invalid bank account | Incorrect IBAN or account number format  | Verify account number format (10-24 characters)            |
| Invalid bank code    | Unsupported or incorrect bank code       | Use a valid bank code from the supported list              |
| Bank not found       | Bank code not recognized                 | Check the Bank Codes Reference section for valid codes     |
| Account mismatch     | Account title doesn't match bank records | Verify account holder name                                 |
| Insufficient balance | Not enough funds in merchant wallet      | Top up wallet or reduce withdrawal amount                  |
| Validation error     | Missing required fields                  | Ensure all required fields are provided including bankCode |

## Bank Codes Reference

Use these standardized bank codes in the `bankCode` field when creating withdrawal orders. The codes are case-insensitive.

### Major Banks

| Bank Code | Bank Name             | Also Accepts                     |
| --------- | --------------------- | -------------------------------- |
| `HBL`     | Habib Bank Limited    | HBL, Habib Bank                  |
| `UBL`     | United Bank Limited   | UBL, United Bank                 |
| `MCB`     | MCB Bank Limited      | MCB, MCB Bank                    |
| `ABL`     | Allied Bank Limited   | ABL, Allied Bank, Allied         |
| `ASKARI`  | Askari Bank Limited   | Askari, Askari Bank              |
| `MEEZAN`  | Meezan Bank Limited   | Meezan, Meezan Bank              |
| `FAYSAL`  | Faysal Bank Limited   | Faysal, Faysal Bank              |
| `ALFALAH` | Bank Alfalah Limited  | Alfalah, Bank Alfalah            |
| `ALHABIB` | Bank Al Habib Limited | AlHabib, Al Habib, Bank Al Habib |
| `JSBANK`  | JS Bank Limited       | JS, JS Bank, JSBANK              |

### Islamic Banks

| Bank Code    | Bank Name                           | Also Accepts                                    |
| ------------ | ----------------------------------- | ----------------------------------------------- |
| `BANKISLAMI` | BankIslami Pakistan Limited         | BankIslami, Bank Islami                         |
| `DIB`        | Dubai Islamic Bank Pakistan Limited | DubaiIslamic, Dubai Islamic, Dubai Islamic Bank |
| `ALBARKA`    | Al Baraka Bank (Pakistan) Limited   | Albarka, Al Baraka, ALBARAKA                    |

### Foreign Banks

| Bank Code | Bank Name                                       | Also Accepts                                     |
| --------- | ----------------------------------------------- | ------------------------------------------------ |
| `CITI`    | Citibank N.A.                                   | Citi, Citibank                                   |
| `SCB`     | Standard Chartered Bank (Pakistan) Limited      | SCB, Standard Chartered, Standard Chartered Bank |
| `BOK`     | Bank of Korea                                   | BOK                                              |
| `ICBC`    | Industrial and Commercial Bank of China Limited | ICBC                                             |

### Public Sector Banks

| Bank Code | Bank Name                    | Also Accepts                    |
| --------- | ---------------------------- | ------------------------------- |
| `NBP`     | National Bank of Pakistan    | NBP, National Bank              |
| `SINDH`   | Sindh Bank Limited           | SindhBank, Sindh Bank           |
| `BOP`     | The Bank of Punjab           | PunjabBank, Bank of Punjab, BOP |
| `ZTBL`    | Zarai Taraqiati Bank Limited | Zarai Taraqiati Bank, ZTBL      |

### Digital & Wallet Banks

| Bank Code   | Bank Name                             | Also Accepts                               |
| ----------- | ------------------------------------- | ------------------------------------------ |
| `JAZZCASH`  | JazzCash - Mobilink Bank              | JazzCash, Jazz Cash, Mobilink Bank         |
| `EASYPAISA` | Easypaisa - Telenor Microfinance Bank | EasyPaisa, Easypaisa, Telenor Microfinance |
| `SADAPAY`   | SadaPay                               | SADAPAY, Sada Pay                          |
| `NAYAPAY`   | Nayapay                               | NAYAPAY, NayaPay, Naya Pay                 |
| `UPAISA`    | UPaisa - U Microfinance Bank Limited  | UPaisa, U Paisa, U Microfinance Bank       |
| `KEENU`     | Keenu                                 | KEENU, Keenu Bank                          |
| `TAG`       | TAG                                   | TAG                                        |
| `FINJA`     | Finja                                 | FINJA, Finja Lending                       |
| `BYKEA`     | Bykea                                 | BYKEA                                      |

### Microfinance Banks

| Bank Code | Bank Name                                 | Also Accepts                  |
| --------- | ----------------------------------------- | ----------------------------- |
| `NRSP`    | NRSP Microfinance Bank Limited            | NRSP, NRSP Microfinance       |
| `FMFB`    | First Microfinance Bank Limited           | First Microfinance Bank, FMFB |
| `FINCA`   | FINCA Microfinance Bank Limited           | FINCA, FINCA Microfinance     |
| `FWBL`    | First Women Bank Limited                  | FWBL, First Women Bank        |
| `APNA`    | Apna Microfinance Bank Limited            | Apna, Apna Microfinance       |
| `BURJ`    | Burj Bank Limited                         | Burj, Burj Bank               |
| `MIB`     | Mobilink Microfinance Bank Limited        | MIB, Mobilink Microfinance    |
| `ADVANS`  | Advans Pakistan Microfinance Bank Limited | Advans, Advans Pakistan       |

### Other Banks

| Bank Code | Bank Name                         | Also Accepts                                     |
| --------- | --------------------------------- | ------------------------------------------------ |
| `SILK`    | Silk Bank Limited                 | Silk, Silk Bank                                  |
| `SONERI`  | Soneri Bank Limited               | Soneri, Soneri Bank                              |
| `SUMMIT`  | Summit Bank Limited               | Summit, Summit Bank                              |
| `NIB`     | NIB Bank Limited                  | NIB, NIB Bank                                    |
| `HMB`     | Habib Metropolitan Bank Limited   | HabibMetro, Habib Metro, Habib Metropolitan Bank |
| `SAMBA`   | Samba Bank Limited                | Samba, Samba Bank                                |
| `WASEELA` | Waseela Microfinance Bank Limited | Waseela, Waseela bank                            |

### Financial Services

| Bank Code  | Bank Name                                      | Also Accepts                               |
| ---------- | ---------------------------------------------- | ------------------------------------------ |
| `CDNS`     | Central Directorate of National Savings        | CDNS, National Savings                     |
| `PAYMAX`   | PayMax                                         | PayMax                                     |
| `ALMEEZAN` | Al Meezan Investment Management Limited        | Al Meezan, Al Meezan Investment            |
| `HBLAM`    | HBL Asset Management Limited                   | HBL ASSET MANAGEMENT, HBL Asset Management |
| `NBPFM`    | NBP Fund Management Limited                    | NBP Fund Management                        |
| `MCBAH`    | MCB-Arif Habib Savings and Investments Limited | MCB-Arif Habib, MCB Arif Habib             |

### Non-Bank Financial Institutions

| Bank Code   | Bank Name                            | Also Accepts                     |
| ----------- | ------------------------------------ | -------------------------------- |
| `ABHI`      | Abhi Finance Services Limited        | ABHI                             |
| `SEEDCREED` | SeedCreed Financial Services Limited | SEEDCREED, SeedCreed, Seed Creed |
| `HUMRAH`    | Humrah Financial Services            | Humrah, HUMRAH                   |
| `NUMBERS`   | Numbers Private Limited              | Numbers, NUMBERS                 |
| `TEZPAY`    | TezPay                               | TezPAy, Tez Pay, TEZPAY          |
| `EZWAGE`    | EZ wage                              | EZ wage, EZwage, EZWAGE          |

### Special Codes

| Bank Code | Bank Name | Also Accepts  |
| --------- | --------- | ------------- |
| `AFTIBFT` | AFT IBFT  | AFT IBFT, AFT |

<Note>
  **Important:** The `bankCode` field is required and must match one of the standard codes listed above. The system will validate the bank code before processing the withdrawal. Bank codes are case-insensitive, so you can use `hbl`, `HBL`, or `Hbl`.
</Note>

## Security Considerations

* Never store sensitive bank account information in plain text
* Use HTTPS for all API communications
* Validate bank account details before processing withdrawals
* Implement rate limiting to prevent abuse
* Monitor for suspicious withdrawal patterns
* Keep API keys secure and rotate regularly
* Set up alerts for large withdrawal amounts
* Use `autoProcessPayout: false` for manual review of high-value transactions

## Testing

Use these test credentials in sandbox mode:

* **Name**: `Test User`
* **Email**: `test@example.com` (optional)
* **CNIC**: `3520108345678` (optional)
* **Phone**: `03123456789` (optional)
* **Bank Account**: `PK36SCBL0000001123456702`
* **Bank Code**: `SCB` (required)
* **Bank Name**: `Standard Chartered Bank` (optional)
* **Account Title**: `Test User`

## Next Steps

<CardGroup cols={2}>
  <Card title="Check Transaction Status" icon="magnifying-glass" href="/api-reference/endpoints/transaction-by-ref">
    Monitor withdrawal status by transaction reference
  </Card>

  <Card title="Setup Webhooks" icon="webhook" href="/guides/webhooks">
    Receive real-time notifications for withdrawal events
  </Card>

  <Card title="Handle Refunds" icon="rotate-left" href="/api-reference/endpoints/refunds-create">
    Process refunds if needed
  </Card>

  <Card title="View Settlement" icon="building-columns" href="/api-reference/endpoints/settlements-get">
    Check settlement details
  </Card>
</CardGroup>
