> ## 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.

# Get a Charge by ID

> Retrieve a one-time charge using its unique identifier, chargeId (e.g., 28936112-bcf1-4240-a851-85fb087c282a). This ID can be found at the end of the URL when the charge is created. If the charge has been paid, transaction details will appear under the paylinkTx field in the response. If no transaction has occurred yet, the field will be returned as "paylinkTx": null.

<Info>
  **Note:** When using the production environment at [moonpay.hel.io](http://app.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](http://app.dev.hel.io).
</Info>


## OpenAPI

````yaml GET /v1/charge/{chargeId}
openapi: 3.0.0
info:
  title: Helio Open API
  description: |-
    API schema and definitions for Helio API. <br/> 
          The API is using two types of Authentication, for dashboard endpoints we use <b>JSON Web Token (JWT)</b> that is generated by self custodial wallet signing a message from API.</br> 
          We also support authentication with <b>API Key and Secret</b> which can be generated on <a href='https://hel.io'>Helio dashboard</a>.
  version: 1.0.0
  contact: {}
servers:
  - description: Helio API (Mainnet)
    url: https://api.hel.io
  - description: Helio API (Devnet)
    url: https://api.dev.hel.io
security: []
tags:
  - name: Webhooks
  - name: Exports
  - name: Currencies
    description: >-
      Supported currencies endpoint, includes fiat and digital assets
      </br><i>Authentication: </i><b>None</b>
externalDocs:
  description: Helio product documentation
  url: https://docs.hel.io/
paths:
  /v1/charge/{chargeId}:
    get:
      tags:
        - Charge
      summary: Get a Charge by ID
      description: >-
        Retrieve a one-time charge using its unique identifier, `chargeId`
        (e.g., 28936112-bcf1-4240-a851-85fb087c282a). This ID can be found at
        the end of the URL when the charge is created.

        If the charge has been paid, transaction details will appear under the
        `paylinkTx` field in the response. If no transaction has occurred yet,
        the field will be returned as `"paylinkTx": null`.
      operationId: ChargeController_getChargeWithApiKey
      parameters:
        - name: chargeId
          in: path
          required: true
          description: The unique identifier of the charge to retrieve.
          schema:
            type: string
        - name: apiKey
          in: query
          required: true
          description: >-
            Your API key, which can be generated from the Helio Dashboard
            settings page.
          schema:
            type: string
      responses:
        '200':
          description: Charge successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichedCharge'
              examples:
                success:
                  summary: Full charge response
                  value:
                    id: 681389bfba5dc7557c9608ec
                    currencySymbol: USDC
                    requestAmount: '1000000'
                    usdcAmount: '1000000'
                    token: 28936112-bcf1-4240-a851-85fb087c282a
                    prepareRequestBody:
                      currency: USDC
                      amount: '1000000'
                      quantity: 1
                    expiresAt: '2025-09-03T09:52:41.000Z'
                    paylink:
                      id: 6813481776c142eb631c14fa
                      platform: HELIO
                      template: LEGACY
                      disabled: false
                      inactive: false
                      notifySenderByEmail: false
                      notifyReceiverByEmail: false
                      addDiscordRole: false
                      addTelegramGroup: false
                      features:
                        canChangeQuantity: false
                        canChangePrice: false
                        requireQuantityLimits: false
                        requireCountry: false
                        requireEmail: false
                        requireDeliveryAddress: false
                        requireDiscordUsername: false
                        requireDiscordLogin: false
                        requireFullName: false
                        requirePhoneNumber: false
                        requireTwitterUsername: false
                        requireTelegramUsername: false
                        requireProductDetails: false
                        requireMaxTransactions: false
                        requireNftGate: false
                        requireDiscordAuth: false
                        requireAccessCode: false
                        requireXFollow: false
                        requireRaffle: false
                        splitRevenue: false
                        splitEqually: false
                        canSwapTokens: false
                        canPayWithCard: true
                        nftDropEnabled: false
                        showDiscountCode: false
                        isEscrowed: false
                        requireAllowlist: false
                        allowAffiliate: false
                        isEventEnabled: false
                        enableCountdown: false
                        requireCaptchaValidation: false
                        shouldRedirectOnSuccess: false
                        customThemeEnabled: false
                        isSubscription: false
                        hasRedirectQueryParams: false
                      name: Your paylink name here
                      discordAuthDetails: []
                      dynamic: false
                      affiliateDetails: null
                      price: '1000000'
                      normalizedPrice: '1000000'
                      redirectQueryParams: []
                      createdAt: '2025-05-01T10:08:23.829Z'
                      updatedAt: '2025-05-01T10:13:53.682Z'
                      creator:
                        id: 667c1f9352919e407156128a
                        userType: MERCHANT
                        isDisabled: false
                        kycVerified: false
                        platformDetails:
                          platform: HELIO
                        roles: []
                        wallets: []
                        payoutWallets: []
                      company:
                        id: 667c1f9352919e407156128c
                        name: Helio
                        websiteUrl: ''
                        discordUsername: ''
                        escrowFunds: false
                        twitterConfirmed: false
                        kycVerified: false
                        kybVerified: false
                        logoUrl: >-
                          https://helioimages113109-prod.s3.eu-west-1.amazonaws.com/attachments/l6uYjlJX5WGhnJZE2MBbYDEP0UFFonPObmVL1LJo.png?AWSAccessKeyId=AKIAZIDE2VZR6C743GDI&Expires=1746111914&Signature=g23tB1gz15LKEskaJ0rjLmS7j8s%3D
                      currency:
                        id: 6340313846e4f91b8abc519b
                        name: USD Coin
                        decimals: 6
                        order: 1
                        mintAddress: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                        coinMarketCapId: 3408
                        symbol: USDC
                        symbolPrefix: $
                        type: DIGITAL
                        iconUrl: USDC.svg
                        features:
                          - PAYMENT_PRICING
                          - PAYMENT_RECIPIENT
                          - SWAP
                        blockchain:
                          id: 6340313846e4f91b8abc515c
                          name: SOL
                          symbol: SOL
                          engine:
                            id: 63b6b1200cfb4b3f6131f2b4
                            type: SOL
                      wallet:
                        id: 667c1f9352919e4071561294
                        name: ''
                        publicKey: 7YancRyNQyp9s6G7YNwx9H93UqswoKWqF9GuNJPufyvW
                        btcProperties: null
                        type: EXTENSION
                        blockchainEngine:
                          id: 63b6b1200cfb4b3f6131f2b4
                          type: SOL
                      recipients:
                        - currency:
                            id: 6340313846e4f91b8abc519b
                            name: USD Coin
                            decimals: 6
                            order: 1
                            mintAddress: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                            coinMarketCapId: 3408
                            symbol: USDC
                            symbolPrefix: $
                            type: DIGITAL
                            iconUrl: USDC.svg
                            features:
                              - PAYMENT_PRICING
                              - PAYMENT_RECIPIENT
                              - SWAP
                            blockchain:
                              id: 6340313846e4f91b8abc515c
                              name: SOL
                              symbol: SOL
                              engine:
                                id: 63b6b1200cfb4b3f6131f2b4
                                type: SOL
                          wallet:
                            id: 667c1f9352919e4071561294
                            name: ''
                            publicKey: 7YancRyNQyp9s6G7YNwx9H93UqswoKWqF9GuNJPufyvW
                            btcProperties: null
                            type: EXTENSION
                            blockchainEngine:
                              id: 63b6b1200cfb4b3f6131f2b4
                              type: SOL
                      product: null
                      additionalImageUrls: []
                      discountCodes: []
                      pricingCurrency:
                        id: 6340313846e4f91b8abc519b
                        name: USD Coin
                        decimals: 6
                        order: 1
                        mintAddress: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                        coinMarketCapId: 3408
                        symbol: USDC
                        symbolPrefix: $
                        type: DIGITAL
                        iconUrl: USDC.svg
                        features:
                          - PAYMENT_PRICING
                          - PAYMENT_RECIPIENT
                          - SWAP
                        blockchain:
                          id: 6340313846e4f91b8abc515c
                          name: SOL
                          symbol: SOL
                          engine:
                            id: 63b6b1200cfb4b3f6131f2b4
                            type: SOL
                    paylinkTx:
                      id: 681389c0ba5dc7557c960901
                      paylinkId: 6813481776c142eb631c14fa
                      quantity: 1
                      createdAt: '2025-09-03T09:22:56.000Z'
                      fee: '0'
                      paymentType: PAYLINK
                      claimDetails:
                        tradingView: null
                        discord: null
                      meta:
                        id: 681389c0ba5dc7557c960902
                        amount: '1000000'
                        totalAmount: '1000000'
                        transactionSignature: >-
                          3xF7k2pVmRjKdQyN8mWcTa5bZE9vHpL4nR6sGtU1wXoA7cY2fD8eJ4gH5iK9lM0nO1pQ3rS6tU
                        recipientPK: BZx1GkP3tVmRjKdQyN8mWcTa5bZE9vHpL4nR6sGtU1wX
                        senderPK: 7Xy2hN9kL3mP5qR8sT1vW4xZ6bC0dF3gJ7iK2lM4nO
                        splitRevenue: false
                        remainingAccounts: []
                        transactionStatus: SUCCESS
                        transactionType: PAYLINK
                        currency:
                          id: 6340313846e4f91b8abc5183
                          name: USD Coin
                          symbol: USDC
                          mintAddress: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
                          coinMarketCapId: 3408
                          decimals: 6
                          order: 1
                          type: DIGITAL
                          blockchain:
                            id: 6340313846e4f91b8abc515c
                            name: SOL
                            symbol: SOL
                            engine:
                              id: 63b6b1200cfb4b3f6131f2b4
                              type: SOL
                    pricingCurrencyRequestAmount: '1000000'
                    isSubscriptionRenewal: false
                    redirectUrl: https://example.com/success
                    shopifyPaymentDetails: null
        '401':
          description: API key is missing or invalid.
          content:
            application/json:
              examples:
                unauthorized:
                  summary: Invalid or missing API key
                  value:
                    message: Api key or token is invalid
                    code: 401
      security:
        - bearer: []
components:
  schemas:
    EnrichedCharge:
      type: object
      properties:
        pricingCurrencyRequestAmount:
          type: string
        paylink:
          $ref: '#/components/schemas/Paylink'
        paylinkTx:
          description: >-
            The transaction associated with this charge. Null when the charge
            has not yet been paid.
          nullable: true
          allOf:
            - $ref: '#/components/schemas/PaylinkTxWithPublicMeta'
        isSubscriptionRenewal:
          type: boolean
        id:
          type: string
        prepareRequestBody:
          $ref: '#/components/schemas/PrepareRequestBodyFromCharge'
        requestAmount:
          type: string
        token:
          type: string
        currencySymbol:
          type: string
        redirectUrl:
          type: string
        shopifyPaymentDetails:
          description: >-
            Shopify payment session details. Only present for charges created
            via a Shopify integration, null otherwise.
          nullable: true
          allOf:
            - $ref: '#/components/schemas/ShopifyPaymentDetails'
        expiresAt:
          description: >-
            ISO 8601 timestamp indicating when the charge expires. May be absent
            if no expiry was set at creation.
          type: string
        usdcAmount:
          description: >-
            The charge amount denominated in USDC (minimal units). May be absent
            depending on the payment flow.
          type: string
      required:
        - pricingCurrencyRequestAmount
        - paylink
        - paylinkTx
        - isSubscriptionRenewal
        - id
        - prepareRequestBody
        - requestAmount
        - token
        - currencySymbol
        - redirectUrl
    Paylink:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        template:
          type: string
          enum:
            - PRODUCT
            - SUBSCRIPTION
            - PRE_SALE
            - SINGLE_NFT
            - VIDEO
            - DISCORD_MEMBERSHIP
            - TELEGRAM_MEMBERSHIP
            - INVOICE
            - EMBEDDED
            - LINK_OR_FILE
            - TRADING_VIEW
            - EVENT
            - WOO_COMMERCE
            - OTHER
            - LEGACY
            - RAFFLE
            - SHOPIFY
            - BLINK
            - PAYLINK_V2
            - EMBEDDED_V2
            - SUBSCRIPTION_V2
        description:
          type: string
        price:
          type: string
        normalizedPrice:
          type: string
        platform:
          type: string
          enum:
            - HELIO
            - MAGIC_EDEN
        disabled:
          type: boolean
        inactive:
          type: boolean
        dynamic:
          type: boolean
        createdAt:
          type: string
        updatedAt:
          type: string
        notifySenderByEmail:
          type: boolean
        notifyReceiverByEmail:
          type: boolean
        addDiscordRole:
          type: boolean
        image:
          type: string
        imageUrl:
          type: string
        additionalImages:
          type: array
          items:
            type: string
        additionalImageUrls:
          type: array
          items:
            type: string
        maxTransactions:
          type: number
        redirectUrl:
          type: string
        redirectTimeout:
          type: number
        redirectQueryParams:
          type: array
          items:
            $ref: '#/components/schemas/RedirectQueryParamDto'
        nftCollectionAddress:
          type: string
        discordAuthDetails:
          type: array
          items:
            type: object
        affiliateDetails:
          nullable: true
          type: object
        features:
          $ref: '#/components/schemas/LinkFeatures'
        minQuantity:
          type: number
        maxQuantity:
          type: number
        airdropConfigured:
          type: boolean
        creator:
          $ref: '#/components/schemas/User'
        company:
          $ref: '#/components/schemas/BaseCompany'
        currency:
          $ref: '#/components/schemas/Currency'
        wallet:
          $ref: '#/components/schemas/Wallet'
        product:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/Product'
        pricingCurrency:
          $ref: '#/components/schemas/Currency'
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/Recipient'
        splitWallets:
          type: array
          items:
            $ref: '#/components/schemas/SplitWallet'
        discountCodes:
          type: array
          items:
            $ref: '#/components/schemas/DiscountCode'
      required:
        - id
        - name
        - template
        - price
        - platform
        - notifySenderByEmail
        - notifyReceiverByEmail
        - addDiscordRole
        - features
        - creator
        - company
        - currency
        - wallet
        - pricingCurrency
    PaylinkTxWithPublicMeta:
      type: object
      properties:
        id:
          type: string
        paylinkId:
          type: string
        quantity:
          type: number
        createdAt:
          type: string
        fee:
          type: string
        paymentType:
          type: string
          enum:
            - PAYLINK
            - PAYSTREAM
            - INVOICE
            - DEPOSIT
        claimDetails:
          $ref: '#/components/schemas/ClaimDetails'
        meta:
          $ref: '#/components/schemas/PublicTransactionMeta'
      required:
        - id
        - quantity
        - createdAt
        - paymentType
        - claimDetails
        - meta
    PrepareRequestBodyFromCharge:
      type: object
      properties:
        currency:
          type: string
        amount:
          type: string
        quantity:
          type: number
        pricingCurrencyRateToken:
          type: string
      required:
        - currency
    ShopifyPaymentDetails:
      type: object
      properties:
        shopifyPaymentId:
          type: string
        shopifyPaymentGid:
          type: string
      required:
        - shopifyPaymentId
        - shopifyPaymentGid
    RedirectQueryParamDto:
      type: object
      required:
        - queryParamType
      properties:
        queryParamType:
          type: string
          enum:
            - WALLET_ADDRESS
          description: The type of dynamic query parameter to append to the redirect URL.
        value:
          type: string
          description: Optional custom value for the query parameter.
    LinkFeatures:
      type: object
      properties:
        requireEmail:
          type: boolean
        requireDiscordUsername:
          type: boolean
        requireDiscordLogin:
          type: boolean
        requireFullName:
          type: boolean
        requireTwitterUsername:
          type: boolean
        requireTelegramUsername:
          type: boolean
        requireCountry:
          type: boolean
        requireDeliveryAddress:
          type: boolean
        requirePhoneNumber:
          type: boolean
        requireProductDetails:
          type: boolean
        requireMaxTransactions:
          type: boolean
        splitRevenue:
          type: boolean
        splitEqually:
          type: boolean
        requireNftGate:
          type: boolean
        requireDiscordAuth:
          type: boolean
        requireAccessCode:
          type: boolean
        requireXFollow:
          type: boolean
        canSwapTokens:
          type: boolean
        canPayWithCard:
          type: boolean
        nftDropEnabled:
          type: boolean
        showDiscountCode:
          type: boolean
        allowAffiliate:
          type: boolean
        isEventEnabled:
          type: boolean
        enableCountdown:
          type: boolean
        shouldRedirectOnSuccess:
          type: boolean
        customThemeEnabled:
          type: boolean
        hasRedirectQueryParams:
          type: boolean
        isHelioPlay:
          type: boolean
        canChangePrice:
          type: boolean
        requireQuantityLimits:
          type: boolean
        canChangeQuantity:
          type: boolean
        isEscrowed:
          type: boolean
        requireAllowlist:
          type: boolean
        requireAirdrop:
          type: boolean
        requireRaffle:
          type: boolean
        requireCaptchaValidation:
          type: boolean
        isSubscription:
          type: boolean
        hasStripeApiKey:
          type: boolean
    User:
      type: object
      properties:
        id:
          type: string
        userType:
          nullable: true
          enum:
            - MERCHANT
            - BUYER
          type: string
        name:
          type: string
        email:
          type: string
        discordUsername:
          type: string
        twitterUsername:
          type: string
        isDisabled:
          type: boolean
        kycVerified:
          type: boolean
        helioVerified:
          type: boolean
          description: |-
            undefined = pending helio verification
            Only set to true/false once approved/denied.
        platformDetails:
          $ref: '#/components/schemas/PlatformDetailsBase'
        affiliateCodes:
          type: array
          items:
            $ref: '#/components/schemas/UserAffiliateCode'
      required:
        - id
        - userType
    BaseCompany:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        email:
          type: string
        logoUrl:
          type: string
        websiteUrl:
          type: string
        twitterUsername:
          type: string
        discordUsername:
          type: string
        address:
          type: string
        phoneNumber:
          type: string
        twitterConfirmed:
          type: boolean
        escrowFunds:
          type: boolean
        kycVerified:
          type: boolean
        kybVerified:
          type: boolean
        helioVerified:
          type: boolean
          description: |-
            undefined = pending helio verification
            Only set to true/false once approved/denied.
      required:
        - id
    Currency:
      type: object
      properties:
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        id:
          type: string
        symbol:
          type: string
        name:
          type: string
        mintAddress:
          type: string
        coinMarketCapId:
          type: number
        decimals:
          type: number
        minDecimals:
          type: number
        symbolPrefix:
          type: string
        order:
          type: number
        type:
          enum:
            - FIAT
            - DIGITAL
          type: string
        features:
          type: array
          items:
            type: string
            enum:
              - PAYMENT_PRICING
              - PAYMENT_RECIPIENT
              - SWAP
        iconUrl:
          type: string
      required:
        - blockchain
        - id
        - symbol
        - name
        - mintAddress
        - coinMarketCapId
        - decimals
        - order
    Wallet:
      type: object
      properties:
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        blockchainEngine:
          $ref: '#/components/schemas/BlockchainEngine'
        id:
          type: string
        publicKey:
          type: string
        name:
          type: string
        btcProperties:
          $ref: '#/components/schemas/BTCProperties'
        type:
          enum:
            - EXTENSION
            - WEB3AUTH
          type: string
      required:
        - blockchainEngine
        - id
        - publicKey
    Product:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        type:
          type: string
        active:
          type: boolean
        optional:
          type: boolean
      required:
        - name
        - description
        - type
        - active
        - optional
    Recipient:
      type: object
      properties:
        currency:
          $ref: '#/components/schemas/Currency'
        wallet:
          type: object
      required:
        - currency
        - wallet
    SplitWallet:
      type: object
      properties:
        address:
          type: string
        percent:
          type: number
      required:
        - address
    DiscountCode:
      type: object
      properties:
        id:
          type: string
        token:
          type: string
        percent:
          type: number
        tokenType:
          type: string
      required:
        - percent
        - tokenType
    ClaimDetails:
      type: object
      properties:
        tradingView:
          type: object
          properties:
            username:
              type: string
        discord:
          type: object
          properties:
            username:
              type: string
    PublicTransactionMeta:
      type: object
      properties:
        id:
          type: string
        amount:
          type: string
        totalAmount:
          type: string
        affiliateAmount:
          type: string
        transactionSignature:
          type: string
        recipientPK:
          type: string
        senderPK:
          type: string
        splitRevenue:
          type: boolean
        remainingAccounts:
          type: array
          items:
            $ref: '#/components/schemas/SplitAccount'
        transactionStatus:
          type: string
          enum:
            - INITIATED
            - PENDING
            - SUCCESS
            - FAILED
            - CANCELED
            - SETTLED
        transactionDataHash:
          type: string
        transactionType:
          type: string
          enum:
            - REFUND
            - PAYLINK
            - BLINK
            - HELIO_WALLET
            - SWAP
            - DEPOSIT
        affiliateCode:
          type: string
        affiliatePublicKey:
          type: string
        tokenQuote:
          type: object
        currency:
          $ref: '#/components/schemas/Currency'
      required:
        - id
        - amount
        - totalAmount
        - transactionSignature
        - recipientPK
        - senderPK
        - splitRevenue
        - remainingAccounts
        - currency
    PlatformDetailsBase:
      type: object
      properties:
        platform:
          type: string
          enum:
            - HELIO
            - MAGIC_EDEN
      required:
        - platform
    UserAffiliateCode:
      type: object
      properties:
        affiliateCode:
          type: string
      required:
        - affiliateCode
    Blockchain:
      type: object
      properties:
        engine:
          $ref: '#/components/schemas/BlockchainEngine'
        id:
          type: string
        name:
          type: string
        symbol:
          type: string
          enum:
            - SOL
            - ETH
            - POLYGON
            - BASE
            - BITCOIN
      required:
        - engine
        - id
        - name
        - symbol
    BlockchainEngine:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - EVM
            - SOL
            - BTC
      required:
        - id
        - type
    BTCProperties:
      type: object
      properties: {}
    SplitAccount:
      type: object
      properties:
        amount:
          type: string
        recipient:
          type: string
      required:
        - amount
        - recipient
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Authentication using JWT token

````