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

# Overview

> Create single-use Pay Links and checkout sessions

**Charges** are an extension of Pay Links that let you generate unique, single-use checkout pages from the same `paylinkId`. They're ideal for mobile-first flows, QR codes, deep linking, embedded pay buttons, and custom e-commerce integrations.

**Using the API to create charges you can:**

* Dynamically set the price of each checkout using the `requestAmount` parameter.
* Pass through custom metadata with additionalJSON in the `customerDetails` object.
* Trigger a card-only payment flow by appending `?cardonly=true` to the charge URL.

The following sections show how to include extra fields in your request and how to configure specific flows like card-only payments.

## Using additionalJSON in Your Request:

You can use the additionalJSON field within the customerDetails object to include any extra information you'd like to pass along with your payment request.

**Example Request Body:**

```json theme={null}
{  
  "paymentRequestId": "66c49e24701f6930ee9c77dd",
  "requestAmount": "0.01",
  "prepareRequestBody": {
    "customerDetails": {
      "additionalJSON": "[]"
    }
  }
}
```

**Example Query:**

```curl theme={null}
curl --location 'https://api.hel.io/v1/charge/api-key?apiKey=<YOUR_PUBLIC_API_KEY>' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_API_KEY' \
--data '{
    "paymentRequestId": "667974dbb38d45b726751902",
    "requestAmount": "0.2",
    "prepareRequestBody": {
    "customerDetails": {
      "additionalJSON": "[]" # or whatever json you want here.
    }
  }
}'
```

## Trigger Pay with Card via Charge

To trigger the Pay with Card flow directly from a charge page, simply append the query parameter `?cardonly=true` to the end of the charge URL.

This will automatically launch the card payment flow without requiring the user to connect a Web3 wallet, which is useful for streamlining checkout for non-crypto users, enabling faster payments, or setting card as the default in your payment flow.

Example:

```
https://app.hel.io/charge/0f577645-b680-4d0a-8678-6fec0713ff3d?cardonly=true
```

<Frame>
  <img src="https://files.readme.io/2587d51e2bedbcfcbeea1b45c410f311232855fdc6570447c7f3b9f56feceeb6-Screenshot_2025-06-04_at_10.00.40.png" />
</Frame>
