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

# Create Offline Transaction

> Record an offline donation transaction against a CrowdChange campaign on behalf of a donor, including amount, payment method, and donor details.

## Path parameters

<ParamField path="id" type="integer" required>
  Campaign ID.
</ParamField>

## Body

<ParamField body="amount" type="number">
  Full amount of offline transaction in xxx.xx format.
</ParamField>

<ParamField body="name" type="string">
  Donor's full name.
</ParamField>

<ParamField body="fundraiser_team_id" type="integer">
  Team ID.
</ParamField>

<ParamField body="fundraiser_page_id" type="integer">
  Page ID.
</ParamField>

<ParamField body="email" type="string">
  Donor's email.
</ParamField>

<ParamField body="is_lump_sum" type="boolean">
  Whether the transaction is recorded as a lump sum.
</ParamField>

<ParamField body="is_pending" type="boolean">
  Whether the transaction is pending.
</ParamField>

<ParamField body="pay_method" type="string">
  Payment method used for the offline transaction.
</ParamField>

<ParamField body="comment" type="string">
  Comment associated with the transaction.
</ParamField>

<ParamField body="billing" type="object">
  Billing information.

  <Expandable title="properties">
    <ParamField body="first_name" type="string">
      Donor's First Name.
    </ParamField>

    <ParamField body="last_name" type="string">
      Donor's Last Name.
    </ParamField>

    <ParamField body="business_name" type="string">
      Business Name
    </ParamField>

    <ParamField body="is_foundation" type="boolean">
      Whether the donation is made by a foundation.
    </ParamField>

    <ParamField body="address" type="string">
      Street Address.
    </ParamField>

    <ParamField body="city" type="string">
      City.
    </ParamField>

    <ParamField body="state" type="string">
      State or province.
    </ParamField>

    <ParamField body="zip" type="string">
      Zip or Postal code.
    </ParamField>

    <ParamField body="country" type="string">
      ISO 3166-1 alpha-2 country code.
    </ParamField>

    <ParamField body="phone" type="string">
      Donor's phone number.
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="id" type="integer">
  Transaction ID.
</ResponseField>

<ResponseField name="user_id" type="integer">
  Donor ID.
</ResponseField>

<ResponseField name="email" type="string">
  Donor email.
</ResponseField>

<ResponseField name="amount" type="number">
  Full amount.
</ResponseField>

<ResponseField name="currency" type="string">
  Currency code. Allowed values: `CAD`, `USD`, `AUD`, `EUR`
</ResponseField>

<ResponseField name="fundraiser_id" type="integer">
  Campaign ID.
</ResponseField>

<ResponseField name="fundraiser_team_id" type="integer">
  Team ID.
</ResponseField>

<ResponseField name="fundraiser_page_id" type="integer">
  Page ID.
</ResponseField>

**Other responses**

| Status | Description |
| ------ | ----------- |
| `400`  | Bad Request |
| `403`  | Forbidden   |

<ResponseExample>
  ```json theme={null}
  {
    "id": 123123,
    "user_id": 120120,
    "email": "john@example.com",
    "amount": 49.95,
    "currency": "USD",
    "fundraiser_id": 1,
    "fundraiser_team_id": 1,
    "fundraiser_page_id": 1
  }
  ```
</ResponseExample>
