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

# Airtime

> Send airtime to a phone number.

Submit an airtime purchase with the recipient number, airtime product, amount, and reference. `amount` is required for airtime and should be the top-up value to send to the recipient.

## Request body

<ParamField body="customer_id" type="string" required>
  Recipient phone number.
</ParamField>

<ParamField body="product_name" type="string" required>
  Airtime product selected from List products.
</ParamField>

<ParamField body="amount" type="number" required>
  Airtime top-up value to send to the recipient.
</ParamField>

<ParamField body="reference" type="string" required>
  Unique transaction reference from your system. Must be 15 to 40 characters.
</ParamField>

## Request

```json theme={null}
{
  "customer_id": "08030000000",
  "product_name": "mtn-airtime",
  "amount": 500,
  "reference": "merchant-ref-20260812002"
}
```

## Successful response

```json theme={null}
{
  "status": true,
  "message": "Purchase processed successfully.",
  "data": {
    "reference": "merchant-ref-20260812002",
    "customer_id": "08030000000",
    "service": "airtime",
    "provider": "MTN",
    "product_name": "mtn-airtime",
    "quantity": 500,
    "paid_amount": 500,
    "transaction_status": "successful",
    "remark": "Purchase successful"
  }
}
```

## Processing response

```json theme={null}
{
  "status": true,
  "message": "Purchase is processing.",
  "data": {
    "reference": "merchant-ref-20260812002",
    "customer_id": "08030000000",
    "service": "airtime",
    "provider": "MTN",
    "product_name": "mtn-airtime",
    "quantity": 500,
    "paid_amount": 500,
    "transaction_status": "processing"
  }
}
```

## Failed response

```json theme={null}
{
  "status": false,
  "message": "Error message"
}
```
