Transaction details
The transaction system is a critical part of Kajabi’s payment infrastructure, handling all monetary operations while maintaining detailed records for accounting, reporting, and compliance purposes.
Transaction Attributes
provider(string) - The payment processor used for the paymentaction(string) - Indicate the type of transaction:charge- One-time paymentrefund- Money returned to customersubscribe- New subscriptionsubscription_charge- Recurring subscription paymentfree_purchase- $0 transactiontest- Test transactiondispute- Disputed chargesubscription_update- Subscription modification
state(string) - The transaction’s status:initialized- Transaction startedsucceeded- Transaction completed successfullyfailed- Transaction failed
payment_type(string) - Indicates the payment structure (nullable)amount_in_cents(integer) - The USD price in cents (for precise decimal handling) can be negative for refundssales_tax_in_cents(integer) - The USD sales tax in cents (for precise decimal handling)payment_fee_in_cents(integer) - Payment processing fee associated with the transaction (Kajabi Payments only)currency(string) - String representing the currency code (nullable) automatically upcased- Defaults to “USD” if not specified
currency_symbol(string) - String representing the currency symbol (nullable)- Example: ”$” for USD
formatted_amount(string) - String representing the amount in a human-readable format- Includes currency symbol
- Does not include currency code
- Example: “$19.99”
settlement_amount_in_cents(integer) - Price of the payment in cents based on the settlement currency (Kajabi Payments only)settlement_fee_amount_in_cents(integer) - Payment processing fee associated with the transaction based on the settlement currency (Kajabi Payments only)settlement_currency(string) - Currency of the payment based on settlement, typically the currency of the attached bank account (Kajabi Payments only)created_at(string) - The creation date and time, ISO date string format (read-only)
Sparse Fields
Use the fields[transactions] parameter to request only specific attributes:
Only return amount_in_cents and sales_tax_in_cents attributes
GET /v1/transactions/123?fields[transactions]=amount_in_cents,sales_tax_in_cents
Response will only include requested fields
{
"data": {
"id": "123",
"type": "transactions",
"attributes": {
"amount_in_cents": 9900,
"sales_tax_in_cents": 990
}
}
}
Include Relationships
Use the include parameter to include related resources:
Include customer and offer relationships
GET /v1/transactions/123?include=customer,offer
Response will include related resources
{
"data": {
"id": "123",
"type": "transactions",
"attributes": {
"action": "subscription_charge",
"state": "succeeded",
"payment_type": "subscription",
"amount_in_cents": 100,
"sales_tax_in_cents": 0,
"currency": "USD",
"currency_symbol": "$",
"formatted_amount": "$1.00",
"created_at": "2025-03-14T19:17:38.000Z"
},
"relationships": {
"customer": {
"data": {
"id": "456",
"type": "customers"
}
},
"offer": {
"data": {
"id": "789",
"type": "offers"
}
}
}
},
"included": [
{
"id": "456",
"type": "customers",
"attributes": {
"name": "John Doe",
"email": "email@example.com",
"avatar": "https://example.com/avatar.jpg",
"external_user_id": "123",
"public_bio": "Public Bio",
"public_location": "Public Location",
"public_website": "https://example.com",
"socials": {
"twitter": "https://twitter.com",
"facebook": "https://facebook.com",
"linkedin": "https://linkedin.com"
},
"net_revenue": 10000,
"sign_in_count": 10,
"last_request_at": "2024-01-15T10:30:00Z",
"bounced_at": "2024-01-15T10:30:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
},
{
"id": "789",
"type": "offers",
"attributes": {
"title": "Offer Title",
"description": "Offer Description",
"internal_title": "Internal Title",
"price_in_cents": 9900,
"payment_type": "payment_method",
"token": "offer_token",
"payment_method": "payment_method",
"price_description": "Price Description",
"checkout_url": "https://example.com/checkout",
"recurring_offer": true,
"subscription": true,
"one_time": false,
"single": false,
"free": false
}
}
]
}
Using Multiple Parameters Together
You can combine sparse fields and include in a single request:
Get transaction with specific fields and included relationships
GET /v1/transactions/123?include=customer&fields[transactions]=amount_in_cents,sales_tax_in_cents&fields[customers]=name,email
Response will include transaction with only requested fields and included customer with only name and email fields
{
"data": {
"id": "123",
"type": "transactions",
"attributes": {
"amount_in_cents": 9900,
"sales_tax_in_cents": 990
},
"relationships": {}
},
"included": [
{
"id": "456",
"type": "customers",
"attributes": {
"name": "John Doe"
"email": "john@example.com"
}
}
]
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Partial attributes as specified, e.g. fields[transactions]=amount_in_cents,sales_tax_in_cents
Load the related resources, for example ?include=customer,offer