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

# Charge a client plan

> Charge a client plan's current cycle. Line items and amount are derived from the plan; only the payment details are supplied. For a recurring plan this kicks off its current-due cycle (e.g. the first cycle) immediately and advances the billing schedule; subsequent cycles are billed automatically. Returns the charge, which may be pending until an asynchronous payment (e.g. a payment link) completes.



## OpenAPI

````yaml https://api.halth.com/v1/api-yaml post /v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/transactions
openapi: 3.0.0
info:
  title: HaltH API
  description: The API for the HaltH platform business services
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.halth.com
    description: Production
  - url: https://api.stg.halth.com
    description: Staging
security: []
tags: []
paths:
  /v1/organisations/{organisationId}/clients/{clientId}/plans/{clientPlanId}/transactions:
    post:
      tags:
        - Client Plan
      summary: Charge a client plan
      description: >-
        Charge a client plan's current cycle. Line items and amount are derived
        from the plan; only the payment details are supplied. For a recurring
        plan this kicks off its current-due cycle (e.g. the first cycle)
        immediately and advances the billing schedule; subsequent cycles are
        billed automatically. Returns the charge, which may be pending until an
        asynchronous payment (e.g. a payment link) completes.
      operationId: ClientPlanController_charge
      parameters:
        - name: organisationId
          required: true
          in: path
          schema:
            type: string
        - name: clientId
          required: true
          in: path
          schema:
            type: string
        - name: clientPlanId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientPlanChargeCreateParams'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    ClientPlanChargeCreateParams:
      type: object
      properties:
        payment:
          $ref: '#/components/schemas/TransactionPaymentParams'
        sessionType:
          type: string
          enum:
            - off_session
            - interactive
      required:
        - payment
    TransactionPaymentParams:
      type: object
      properties:
        type:
          enum:
            - cash
            - card_saved
            - card_present
            - payment_link
            - booking_credit
            - none
          type: string
        paymentMethodId:
          type: string
        bookingCreditId:
          type: string
        expectedChargeAmount:
          type: number
      required:
        - type

````