Skip to main content
POST
/
v1
/
charge
/
api-key
Create a Charge
curl --request POST \
  --url https://api.hel.io/v1/charge/api-key \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "paymentRequestId": "<string>",
  "requestAmount": "<string>",
  "expiresAt": "<string>",
  "successRedirectUrl": "<string>",
  "cancelRedirectUrl": "<string>",
  "prepareRequestBody": {
    "customerDetails": {
      "additionalJSON": "<string>"
    }
  }
}
'
{
  "id": "68123806f923f09544c5c6a5",
  "pageUrl": "https://app.hel.io/charge/2ac13665-9cfe-4466-b294-05069d57b0a2"
}
Note: When using the production environment at moonpay.hel.io, set your API endpoint to api.hel.io/v1 and generate API keys there. For the development environment, use api.dev.hel.io/v1 and generate API keys from moonpay.dev.hel.io.

Authorizations

Authorization
string
header
required

Authentication using JWT token

Query Parameters

apiKey
string
required

Your API key can be generated on the Helio Dashboard’s settings page.

Body

application/json
paymentRequestId
string
required

The unique identifier of the pay link you want to use to create a charge.

requestAmount
string

The amount to charge when using a dynamic pay link.

expiresAt
string

The expiration date and time of the charge in ISO 8601 format (e.g., 2025-09-01T14:31:44.171Z).

successRedirectUrl
string

Redirect URL to use after a successful payment. The parent Pay Link must have a redirect URL enabled, and this value overrides the Paylink’s default success redirect URL.

cancelRedirectUrl
string

Redirect URL to use after a cancelled payment. The parent Pay Link must have a redirect URL enabled, and this value overrides the Paylink’s default success redirect URL.

prepareRequestBody
object

Optional configuration passed when preparing the charge.

Response

Charge successfully created

id
string
required
pageUrl
string
required