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

# Purchase Gift Card

> Purchase a gift card and receive a redemption code

Purchase a gift card. PayVessel debits your business wallet and returns the gift card redemption details.

## Usage

```bash theme={null}
curl -X POST https://api.payvessel.com/vaas/api/v1/gift-cards/orders \
  -H "api-key: YOUR_API_KEY" \
  -H "api-secret: YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference": "gift-order-001",
    "operator_id": "AMAZON_US",
    "product_id": "AMAZON_25_USD"
  }'
```

## Request body

| Field         | Type   | Required | Description                                                       |
| ------------- | ------ | -------- | ----------------------------------------------------------------- |
| `reference`   | string | Yes      | Your unique merchant order reference (max 64 characters)          |
| `operator_id` | string | Yes      | The operator ID from [List Operators](/gift-cards/list-operators) |
| `product_id`  | string | Yes      | The product ID from [List Products](/gift-cards/list-products)    |
| `webhook_url` | string | No       | Webhook URL for order status notifications (max 512 characters)   |

<Warning>
  The order amount is debited from your business wallet immediately. Make sure you have sufficient balance before creating an order.
</Warning>

## Response

The response returns an order object. Key fields:

| Field                   | Type             | Description                                            |
| ----------------------- | ---------------- | ------------------------------------------------------ |
| `id`                    | string (uuid)    | PayVessel order ID                                     |
| `merchant_reference`    | string           | Your merchant reference                                |
| `order_reference`       | string           | PayVessel's internal order reference                   |
| `operator_id`           | string           | Operator ID                                            |
| `product_id`            | string           | Product ID                                             |
| `product_name`          | string           | Gift card name                                         |
| `country`               | string           | Country                                                |
| `amount_usd`            | number           | Amount in USD                                          |
| `amount_naira`          | number           | Amount in NGN                                          |
| `redeem_code`           | string or null   | Gift card redemption code (available when `completed`) |
| `serial_number`         | string or null   | Gift card serial number                                |
| `status`                | string           | `pending`, `processing`, `completed`, or `cancelled`   |
| `error_message`         | string or null   | Error details if the order failed                      |
| `wallet_transaction_id` | string or null   | Associated wallet transaction                          |
| `created_datetime`      | datetime         | When the order was created                             |
| `updated_datetime`      | datetime         | Last status update                                     |
| `completed_datetime`    | datetime or null | When the order was fulfilled                           |

## Next step

If the status is not yet `completed`, use [Verify Order](/gift-cards/verify-order) or [Get Order](/gift-cards/get-order) to check the status and retrieve the redemption code.

<Card title="API Reference" icon="code" href="/api-reference/gift-cards/purchase">
  Full request/response details and Try it
</Card>
