> ## 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 on behalf of the authenticated user against a CrowdChange campaign, with amount and donor details.

## Path parameters

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

## Body

<ParamField body="token" type="string" required>
  User's access token.
</ParamField>

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

<ParamField body="fundraiser_id" type="integer" required>
  Campaign ID.
</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="business_name" type="string">
  Business Name
</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="address" type="string" required>
      Street Address.
    </ParamField>

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

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

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

    <ParamField body="country" type="string" required>
      ISO 3166-1 alpha-2 country code.
    </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>
