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

# Overview

> The Transaction object represents all monetary movements in the payment system - a unified model consolidating payments, refunds, and credit notes.

The Transaction Data Model represents all monetary movements in the payment system. This unified model consolidates what were previously separate Payment, Refund, and Credit Note models. Transactions are distinguished by their `type` field.

* **Unified financial movements**: All payments, refunds, credit notes, fees, chargebacks, and payouts in a single model
* **Type-based filtering**: Query by transaction type to get specific financial movements
* **Complete audit trail**: Full relationship tracking to invoices, orders, subscriptions, and original transactions
* **Gateway integration**: Detailed payment gateway information and transaction IDs

## Attributes

### Transactions Attributes

| Property                  | Type    | Description                                                       |
| ------------------------- | ------- | ----------------------------------------------------------------- |
| `rootfi_id`               | integer | Unique identifier for this transaction                            |
| `rootfi_created_at`       | string  | When this transaction was created in Commenda's system (ISO 8601) |
| `rootfi_updated_at`       | string  | When this transaction was last updated (ISO 8601)                 |
| `rootfi_integration_type` | enum    |                                                                   |
| `platform_id`             | string  | Platform-specific transaction identifier                          |
| `type`                    | enum    | Type of transaction (`PAYMENT`, `REFUND`, `CREDIT_NOTE`, etc.)    |
| `invoice_id`              | string  | Reference to the associated Invoice                               |
| `order_id`                | string  | Reference to the associated Order (if applicable)                 |
| `subscription_id`         | string  | Reference to the associated Subscription (for recurring payments) |
| `contact_id`              | string  | Reference to the Contact                                          |
| `currency_id`             | enum    | ISO 4217 currency code                                            |
| `amount`                  | double  | Transaction amount (always positive; type indicates direction)    |
| `status`                  | enum    | Current status of the transaction                                 |
| `payment_method_type`     | enum    | Payment method used (for payments)                                |
| `gateway`                 | string  | Payment gateway/processor name (e.g., "stripe", "razorpay")       |
| `gateway_transaction_id`  | string  | Platform-specific transaction ID from the gateway                 |
| `original_transaction_id` | string  | For refunds/reversals, reference to the original payment          |
| `reference_number`        | string  | Human-readable reference number                                   |
| `description`             | string  | Human-readable description of the transaction                     |
| `reason`                  | enum    | Standardized reason code (primarily for refunds/credit notes)     |
| `reason_code`             | string  | Platform-specific reason code                                     |
| `metadata`                | object  | Additional platform-specific data                                 |
| `created_at`              | string  | Original transaction timestamp from platform (ISO 8601)           |
| `updated_at`              | string  | Last update timestamp from platform (ISO 8601)                    |

### Type Enum Values

| Value         | Description                                     |
| ------------- | ----------------------------------------------- |
| `PAYMENT`     | Contact payment received                        |
| `REFUND`      | Money returned to contact                       |
| `CREDIT_NOTE` | Credit applied to contact account               |
| `FEE`         | Processing fee or platform charge               |
| `CHARGEBACK`  | Payment disputed and reversed by contact's bank |
| `PAYOUT`      | Transfer to merchant/vendor account             |
| `ADJUSTMENT`  | Manual adjustment to balance                    |

### Status Enum Values

| Value             | Description                                                       |
| ----------------- | ----------------------------------------------------------------- |
| `REQUIRES_ACTION` | Transaction requires additional action before it can be completed |
| `PENDING`         | Transaction is being processed                                    |
| `AUTHORIZED`      | Transaction has been authorized but not yet captured              |
| `PAID`            | Transaction payment was successfully captured                     |
| `FAILED`          | Transaction failed to process                                     |
| `CANCELED`        | Transaction was canceled before completion                        |
| `REFUNDED`        | Transaction funds were returned or credited back                  |
| `UNKNOWN`         | Status cannot be determined                                       |
| `REVERSED`        | Transaction was reversed after completion                         |

### Payment Method Type Enum Values

| Value           | Description                         |
| --------------- | ----------------------------------- |
| `CARD`          | Credit or debit card payment        |
| `BANK_TRANSFER` | Direct bank transfer or ACH         |
| `WIRE_TRANSFER` | Wire transfer                       |
| `PAYPAL`        | PayPal payment                      |
| `APPLE_PAY`     | Apple Pay                           |
| `GOOGLE_PAY`    | Google Pay                          |
| `CHECK`         | Check payment                       |
| `CASH`          | Cash payment                        |
| `CRYPTO`        | Cryptocurrency payment              |
| `OTHER`         | Other payment method                |
| `UNKNOWN`       | Payment method cannot be determined |

### Reason Enum Values

| Value              | Description                         |
| ------------------ | ----------------------------------- |
| `CUSTOMER_REQUEST` | Contact requested the refund/credit |
| `DUPLICATE`        | Duplicate charge                    |
| `FRAUD`            | Fraudulent transaction              |
| `QUALITY_ISSUE`    | Product or service quality issue    |
| `BILLING_ERROR`    | Billing mistake                     |
| `LOYALTY_DISCOUNT` | Loyalty program credit              |
| `PROMOTIONAL`      | Promotional credit or discount      |
| `ADJUSTMENT`       | Manual adjustment                   |
| `OTHER`            | Other reason                        |
