# PATCH /transactions/{transaction_id}

**Update a transaction**

Updates a transaction using its ID.

You can update transactions that are `draft` or `ready`. `billed` and `completed` transactions are considered records for tax and legal purposes, so they can't be changed. You can either:

* Create [an adjustment](https://developer.paddle.com/api-reference/adjustments/overview) to record a refund or credit for a transaction.
* Cancel a `billed` transaction by sending a PATCH request to set `status` to `canceled`.

The transaction `status` may only be set to `billed` or `canceled`. Other statuses are set automatically by Paddle. Set a manually-collected transaction to `billed` to mark it as finalized. This is essentially issuing an invoice. At this point, it becomes a legal record so you can't make changes to it. Paddle automatically assigns an invoice number, creates [a related subscription](https://developer.paddle.com/api-reference/subscriptions/overview), and sends it to your customer.

When making changes to items on a transaction, send the complete list of items that you'd like to be on a transaction — including existing items. For each item, send an object containing `price_id` and `quantity`. Paddle responds with the full `price` object for each item. See: [Work with lists](https://developer.paddle.com/api-reference/about/lists)

If successful, your response includes a copy of the updated transaction entity.

**Required permissions:** `transaction.write`

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `transaction_id` | string | required | Paddle ID of the transaction entity to work with. |

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `include` | array | optional | Include related entities in the response. Use a comma-separated list to specify multiple entities. |

## Request body

- `status`: string — Status of this transaction. You may set a transaction to `billed` or `canceled`. Billed transactions cannot be changed.

For manually-collected transactions, marking as `billed` is essentially issuing an invoice.
- `customer_id` — Paddle ID of the customer that this transaction is for, prefixed with `ctm_`.
- `address_id` — Paddle ID of the address that this transaction is for, prefixed with `add_`.
- `business_id` — Paddle ID of the business that this transaction is for, prefixed with `biz_`.
- `custom_data` — Your own structured key-value data.
- `currency_code` — Supported three-letter ISO 4217 currency code. Must be `USD`, `EUR`, or `GBP` if `collection_mode` is `manual`.
- `origin`
- `collection_mode`: string — How payment is collected for this transaction. `automatic` for checkout, `manual` for invoices.
- `discount_id` — Paddle ID of the discount to apply to this transaction, prefixed with `dsc_`.
- `discount` — Apply a non-catalog discount to a transaction. Send one of `discount_id` or `discount`.
- `billing_details` — Details for invoicing. Required if `collection_mode` is `manual`.
- `billing_period` — Time period that this transaction is for. Set automatically by Paddle for subscription renewals to describe the period that charges are for.
- `items`: array — List of items on this transaction.

When making a request, each object must contain either a `price_id` or a `price` object, and a `quantity`.

Include a `price_id` to charge for an existing catalog item, or a `price` object to charge for a non-catalog item. (Items: 1–100)
- `checkout` — Paddle Checkout details for this transaction. You may pass a URL when creating or updating an automatically-collected transaction, or when creating or updating a manually-collected transaction where `billing_details.enable_checkout` is `true`.

### Request example

```json
{
  "discount_id": "dsc_01gtgztp8fpchantd5g1wrksa3",
  "items": [
    {
      "quantity": 50,
      "price_id": "pri_01gsz91wy9k1yn7kx82aafwvea"
    },
    {
      "quantity": 1,
      "price_id": "pri_01gsz96z29d88jrmsf2ztbfgjg"
    },
    {
      "quantity": 1,
      "price_id": "pri_01gsz98e27ak2tyhexptwc58yk"
    }
  ]
}
```

## Response (200)

- `data`: object (required) — Represents a transaction entity with included entities.
  - `id`: string (required) — Unique Paddle ID for this transaction entity, prefixed with `txn_`. (pattern: `^txn_[a-z\d]{26}$`)
  - `status`: string (required) — Status of this transaction. You may set a transaction to `billed` or `canceled`, other statuses are set automatically by Paddle. Automatically-collected transactions may return `completed` if payment is captured successfully, or `past_due` if payment failed.
  - `customer_id` (required) — Paddle ID of the customer that this transaction is for, prefixed with `ctm_`.
  - `address_id` (required) — Paddle ID of the address that this transaction is for, prefixed with `add_`.
  - `business_id` (required) — Paddle ID of the business that this transaction is for, prefixed with `biz_`.
  - `custom_data` (required) — Your own structured key-value data.
  - `currency_code`: string (required) — Supported three-letter ISO 4217 currency code. Must be `USD`, `EUR`, or `GBP` if `collection_mode` is `manual`.
  - `origin` (required) — Describes how this transaction was created.
  - `subscription_id` (required) — Paddle ID of the subscription that this transaction is for, prefixed with `sub_`.
  - `invoice_id` (required) — Paddle ID of the invoice that this transaction is related to, prefixed with `inv_`. Used for compatibility with the Paddle Invoice API, which is now deprecated. This field is scheduled to be removed in the next version of the Paddle API. (pattern: `^inv_[a-z\d]{26}$`)
  - `invoice_number` (required) — Invoice number for this transaction. Automatically generated by Paddle when you mark a transaction as `billed` where `collection_mode` is `manual`.
  - `collection_mode`: string (required) — How payment is collected for this transaction. `automatic` for checkout, `manual` for invoices.
  - `discount_id` (required) — Paddle ID of the discount applied to this transaction, prefixed with `dsc_`.
  - `billing_details` (required) — Details for invoicing. Required if `collection_mode` is `manual`.
  - `billing_period` (required) — Time period that this transaction is for. Set automatically by Paddle for subscription renewals to describe the period that charges are for.
  - `items`: array (required) — List of items on this transaction. For calculated totals, use `details.line_items`. (Items: 1–100)
  - `details`: object (required) — Calculated totals for a transaction, including proration, discounts, tax, and currency conversion. Considered the source of truth for totals on a transaction.
    - `tax_rates_used`: array (required) — List of tax rates applied for this transaction.
    - `totals`: object (required) — Breakdown of the total for a transaction. These numbers can be negative when dealing with subscription updates that result in credit.
      - `subtotal`: string (required) — Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
      - `discount`: string (required) — Total discount as a result of any discounts applied.

Except for percentage discounts, Paddle applies tax to discounts based on the line item `price.tax_mode`. If `price.tax_mode` for a line item is `internal`, Paddle removes tax from the discount applied.
      - `tax`: string (required) — Total tax on the subtotal.
      - `total`: string (required) — Total after discount and tax.
      - `credit`: string (required) — Total credit applied to this transaction. This includes credits applied using a customer's credit balance and adjustments to a `billed` transaction.
      - `credit_to_balance`: string (required) — Additional credit generated from negative `details.line_items`. This credit is added to the customer balance.
      - `balance`: string (required) — Total due on a transaction after credits and any payments.
      - `grand_total`: string (required) — Total due on a transaction after credits but before any payments.
      - `grand_total_tax`: string (required) — Net tax amount included in `grand_total`. Equals the full `tax` amount unless credits are applied, in which case this value is proportionally reduced.
      - `fee` (required) — Total fee taken by Paddle for this transaction. `null` until the transaction is `completed` and the fee is processed.
      - `earnings` (required) — Total earnings for this transaction. This is the total minus the Paddle fee. `null` until the transaction is `completed` and the fee is processed.
      - `currency_code`: string (required) — Three-letter ISO 4217 currency code of the currency used for this transaction.
    - `adjusted_totals`: object (required) — Breakdown of the totals for a transaction after adjustments.
      - `subtotal`: string (required) — Subtotal before discount, tax, and deductions. If an item, unit price multiplied by quantity.
      - `tax`: string (required) — Total tax on the subtotal.
      - `total`: string (required) — Total after tax.
      - `grand_total`: string (required) — Total due after credits but before any payments.
      - `grand_total_tax`: string (required) — Net tax amount included in `grand_total`. Equals the full `tax` amount unless credits are applied, in which case this value is proportionally reduced.
      - `fee` (required) — Total fee taken by Paddle for this transaction. `null` until the transaction is `completed` and the fee is processed.
      - `retained_fee`: string (required) — Total Paddle fees retained for this adjustment.
      - `earnings` (required) — Total earnings for this transaction. This is the total minus the Paddle fee.
`null` until the transaction is `completed` and the fee is processed.
      - `currency_code`: string (required) — Three-letter ISO 4217 currency code of the currency used for this transaction.
    - `payout_totals` (required) — Breakdown of the payout total for a transaction. `null` until the transaction is `completed`. Returned in your payout currency.
    - `adjusted_payout_totals` (required) — Breakdown of the payout total for a transaction after adjustments. `null` until the transaction is `completed`.
    - `line_items`: array (required) — Information about line items for this transaction. Different from transaction `items` as they include totals calculated by Paddle. Considered the source of truth for line item totals.
  - `payments`: array (required) — List of payment attempts for this transaction, including successful payments. Sorted by `created_at` in descending order, so most recent attempts are returned first.
  - `checkout` (required)
  - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
  - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
  - `billed_at` (required) — RFC 3339 datetime string of when this transaction was marked as `billed`. `null` for transactions that aren't `billed` or `completed`. Set automatically by Paddle.
  - `revised_at` (required) — RFC 3339 datetime string of when a transaction was revised. Revisions describe an update to customer information for a billed or completed transaction. `null` if not revised. Set automatically by Paddle.
  - `address`: object — Address for this transaction. Reflects the entity at the time it was added to the transaction, or its revision if `revised_at` is not `null`. Returned when the `include` parameter is used with the `address` value and the transaction has an `address_id`.
    - `id`: string (required) — Unique Paddle ID for this address entity, prefixed with `add_`. (pattern: `^add_[a-z\d]{26}$`)
    - `customer_id`: string (required) — Paddle ID for the customer related to this address, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
    - `description` (required)
    - `first_line` (required)
    - `second_line` (required)
    - `city` (required)
    - `postal_code` (required)
    - `region` (required)
    - `country_code` (required) — Supported two-letter ISO 3166-1 alpha-2 country code for this address.
    - `custom_data` (required) — Your own structured key-value data.
    - `status`: string (required) — Whether this entity can be used in Paddle.
    - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
    - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
    - `import_meta` (required)
  - `adjustments`: array — List of adjustments for this transaction. Returned when the `include` parameter is used with the `adjustment` value and the transaction has adjustments.
  - `adjustments_totals`: object — Object containing totals for all adjustments on a transaction. Returned when the `include` parameter is used with the `adjustments_totals` value.
    - `subtotal`: string (required) — Total before tax.
    - `tax`: string (required) — Total tax on the subtotal.
    - `total`: string (required) — Total after tax.
    - `fee`: string (required) — Total fee taken by Paddle.
    - `retained_fee`: string (required) — Total gateway fee retained by Paddle.
    - `earnings`: string (required) — Total earnings. This is the subtotal minus the Paddle fee.
For tax adjustments, this value is negative, which means a positive effect in the transaction earnings.
This is because the fee is originally calculated from the transaction total, so if a tax adjustment is made,
then the fee portion of it is returned.
As a result, the earnings from all the adjustments performed could be either negative, positive or zero.
    - `breakdown`: object (required) — Breakdown of the total adjustments by adjustment action.
      - `credit`: string (required) — Total amount of credit adjustments.
      - `refund`: string (required) — Total amount of refund adjustments.
      - `chargeback`: string (required) — Total amount of chargeback adjustments.
    - `currency_code`: string (required) — Three-letter ISO 4217 currency code used for adjustments for this transaction.
  - `business`: object — Business for this transaction. Reflects the entity at the time it was added to the transaction, or its revision if `revised_at` is not `null`. Returned when the `include` parameter is used with the `business` value and the transaction has a `business_id`.
    - `id`: string (required) — Unique Paddle ID for this business entity, prefixed with `biz_`. (pattern: `^biz_[a-z\d]{26}$`)
    - `customer_id`: string (required) — Paddle ID for the customer related to this business, prefixed with `cus_`. (pattern: `^ctm_[a-z\d]{26}$`)
    - `name`: string (required) — Name of this business. (Length: 1–1024)
    - `company_number` (required) — Company number for this business. (Max length: 1024)
    - `tax_identifier` (required) — Tax or VAT Number for this business. (Max length: 1024)
    - `status`: string (required) — Whether this entity can be used in Paddle.
    - `contacts`: array (required) — List of contacts related to this business, typically used for sending invoices. (Items: max 100, unique)
    - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
    - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
    - `custom_data` (required) — Your own structured key-value data.
    - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
  - `customer`: object — Customer for this transaction. Reflects the entity at the time it was added to the transaction, or its revision if `revised_at` is not `null`. Returned when the `include` parameter is used with the `customer` value and the transaction has a `customer_id`.
    - `id`: string (required) — Unique Paddle ID for this customer entity, prefixed with `ctm_`. (pattern: `^ctm_[a-z\d]{26}$`)
    - `name` (required) — Full name of this customer. Required when creating transactions where `collection_mode` is `manual` (invoices).
    - `email`: string (email) (required) — Email address for this customer. (Length: 1–320)
    - `marketing_consent`: boolean (required) — Whether this customer opted into marketing from you. `false` unless customers check the marketing consent box
when using Paddle Checkout. Set automatically by Paddle.
    - `status`: string (required) — Whether this entity can be used in Paddle.
    - `custom_data` (required) — Your own structured key-value data.
    - `locale`: string (required) — Valid IETF BCP 47 short form locale tag. If omitted, defaults to `en`.
    - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
    - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
    - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
  - `discount`: object — Discount for this transaction. Reflects the entity at the time it was added to the transaction. Returned when the `include` parameter is used with the `discount` value and the transaction has a `discount_id`.
    - `id`: string (required) — Unique Paddle ID for this discount, prefixed with `dsc_`. (pattern: `^dsc_[a-z\d]{26}$`)
    - `status`: string (required) — Whether this entity can be used in Paddle.
    - `description`: string (required) — Short description for this discount for your reference. Not shown to customers. (Length: 1–500)
    - `enabled_for_checkout`: boolean (required) — Whether this discount can be redeemed by customers at checkout (`true`) or not (`false`).
    - `code` (required) — Unique code that customers can use to redeem this discount at checkout. Not case-sensitive.
    - `type`: string (required) — Type of discount. Determines how this discount impacts the checkout or transaction total.
    - `mode`: string (required) — Discount mode. Standard discounts are considered part of your catalog and are shown in the Paddle dashboard.
    - `amount`: string (required) — Amount to discount by. For `percentage` discounts, must be an amount between `0.01` and `100`. For `flat` and `flat_per_seat` discounts, amount in the lowest denomination for a currency.
    - `currency_code` (required) — Supported three-letter ISO 4217 currency code. Required where discount type is `flat` or `flat_per_seat`.
    - `recur`: boolean (required) — Whether this discount applies for multiple subscription billing periods (`true`) or not (`false`).
    - `maximum_recurring_intervals` (required) — Number of subscription billing periods that this discount recurs for. Requires `recur`. `null` if this discount recurs forever.

Subscription renewals, midcycle changes, and one-time charges billed to a subscription aren't considered a redemption. `times_used` is not incremented in these cases. (Min: 1)
    - `usage_limit` (required) — Maximum number of times this discount can be redeemed. This is an overall limit for this discount, rather than a per-customer limit. `null` if this discount can be redeemed an unlimited amount of times.

Paddle counts a usage as a redemption on a checkout, transaction, or the initial application against a subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption. (Min: 1)
    - `restrict_to` (required) — Product or price IDs that this discount is for. When including a product ID, all prices for that product can be discounted. `null` if this discount applies to all products and prices. (Items: unique)
    - `expires_at` (required) — RFC 3339 datetime string of when this discount expires. Discount can no longer be redeemed after this date has elapsed. `null` if this discount can be redeemed forever.

Expired discounts can't be redeemed against transactions or checkouts, but can be applied when updating subscriptions.
    - `custom_data` (required)
    - `times_used`: integer (required) — How many times this discount has been redeemed. Automatically incremented by Paddle.

Paddle counts a usage as a redemption on a checkout, transaction, or subscription. Transactions created for subscription renewals, midcycle changes, and one-time charges aren't considered a redemption.
    - `discount_group_id` (required) — Paddle ID for the discount group related to this discount, prefixed with `dsg_`. `null` if not in a discount group.
    - `created_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.
    - `updated_at`: string (date-time) (required) — RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.
    - `import_meta` (required) — Import information for this entity. `null` if this entity is not imported.
  - `available_payment_methods`: array — List of available payment methods for this transaction. Returned when the `include` parameter is used with the `available_payment_methods` value.
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

### Response example

```json
{
  "data": {
    "id": "txn_01hv8m0mnx3sj85e7gxc6kga03",
    "status": "ready",
    "customer_id": "ctm_01hv6y1jedq4p1n0yqn5ba3ky4",
    "address_id": "add_01hv8gq3318ktkfengj2r75gfx",
    "business_id": null,
    "custom_data": null,
    "origin": "api",
    "collection_mode": "manual",
    "subscription_id": null,
    "invoice_id": "inv_01hv8m0nn5nbvdejcvv9cpg8jf",
    "invoice_number": null,
    "billing_details": {
      "enable_checkout": false,
      "payment_terms": {
        "interval": "day",
        "frequency": 14
      },
      "purchase_order_number": "PO-123",
      "additional_information": null
    },
    "billing_period": {
      "starts_at": "2024-04-12T00:00:00Z",
      "ends_at": "2025-04-11T23:59:00Z"
    },
    "currency_code": "USD",
    "discount_id": "dsc_01gtgztp8fpchantd5g1wrksa3",
    "created_at": "2024-04-12T07:40:38.00704Z",
    "updated_at": "2024-04-12T10:00:03.871169408Z",
    "billed_at": null,
    "revised_at": null,
    "items": [
      {
        "price": {
          "id": "pri_01gsz91wy9k1yn7kx82aafwvea",
          "description": "Annual",
          "type": "standard",
          "name": "Annual (per seat)",
          "product_id": "pro_01gsz4vmqbjk3x4vvtafffd540",
          "billing_cycle": {
            "interval": "year",
            "frequency": 1
          },
          "trial_period": null,
          "tax_mode": "account_setting",
          "unit_price": {
            "amount": "50000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "quantity": {
            "minimum": 1,
            "maximum": 100
          },
          "status": "active",
          "created_at": "2023-02-23T13:57:54.249913Z",
          "updated_at": "2024-04-05T14:32:00.471447Z",
          "import_meta": null
        },
        "quantity": 50,
        "proration": null
      },
      {
        "price": {
          "id": "pri_01gsz96z29d88jrmsf2ztbfgjg",
          "description": "Annual (recurring addon)",
          "type": "standard",
          "name": "Annual (recurring addon)",
          "product_id": "pro_01gsz92krfzy3hcx5h5rtgnfwz",
          "billing_cycle": {
            "interval": "year",
            "frequency": 1
          },
          "trial_period": null,
          "tax_mode": "account_setting",
          "unit_price": {
            "amount": "300000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "quantity": {
            "minimum": 1,
            "maximum": 1
          },
          "status": "active",
          "created_at": "2023-02-23T14:00:40.265185Z",
          "updated_at": "2024-03-25T14:31:18.587603Z",
          "import_meta": null
        },
        "quantity": 1,
        "proration": null
      },
      {
        "price": {
          "id": "pri_01gsz98e27ak2tyhexptwc58yk",
          "description": "One-time addon",
          "type": "standard",
          "name": "One-time addon",
          "product_id": "pro_01gsz97mq9pa4fkyy0wqenepkz",
          "billing_cycle": null,
          "trial_period": null,
          "tax_mode": "account_setting",
          "unit_price": {
            "amount": "19900",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "quantity": {
            "minimum": 1,
            "maximum": 1
          },
          "status": "active",
          "created_at": "2023-02-23T14:01:28.391712Z",
          "updated_at": "2024-04-09T07:23:10.921392Z",
          "import_meta": null
        },
        "quantity": 1,
        "proration": null
      }
    ],
    "details": {
      "tax_rates_used": [
        {
          "tax_rate": "0.08875",
          "totals": {
            "subtotal": "2819900",
            "discount": "281990",
            "tax": "225239",
            "total": "2763149"
          }
        }
      ],
      "totals": {
        "subtotal": "2819900",
        "tax": "225239",
        "discount": "281990",
        "total": "2763149",
        "grand_total": "2763149",
        "grand_total_tax": "225239",
        "fee": null,
        "credit": "0",
        "credit_to_balance": "0",
        "balance": "2763149",
        "earnings": null,
        "currency_code": "USD"
      },
      "adjusted_totals": {
        "subtotal": "2537910",
        "tax": "225239",
        "total": "2763149",
        "grand_total": "2763149",
        "grand_total_tax": "225239",
        "fee": "0",
        "retained_fee": "0",
        "earnings": "0",
        "currency_code": "USD"
      },
      "payout_totals": null,
      "adjusted_payout_totals": null,
      "line_items": [
        {
          "id": "txnitm_01hv8vzz0sjdj6grvpxyyjsmvf",
          "price_id": "pri_01gsz91wy9k1yn7kx82aafwvea",
          "quantity": 50,
          "totals": {
            "subtotal": "2500000",
            "tax": "199687",
            "discount": "250000",
            "total": "2449687"
          },
          "product": {
            "id": "pro_01gsz4vmqbjk3x4vvtafffd540",
            "name": "AeroEdit Enterprise",
            "description": "The ultimate solution for organizations, featuring all Pro capabilities plus multi-user support, advanced data storage capabilities, plus personalized onboarding, dedicated account management, and the ability to pay via invoice.",
            "type": "standard",
            "tax_category": "standard",
            "image_url": "https://paddle.s3.amazonaws.com/user/165798/Ws808ziTS76a6YbnMkiK_enterprise.png",
            "custom_data": {
              "features": {
                "aircraft_performance": true,
                "compliance_monitoring": true,
                "flight_log_management": true,
                "payment_by_invoice": true,
                "route_planning": true,
                "sso": true
              },
              "suggested_addons": [],
              "upgrade_description": "Ready to reach new heights? Upgrade to enterprise to unlock single sign-on, payment by invoice, and dedicated account management."
            },
            "status": "active",
            "created_at": "2023-02-23T12:44:34.923Z",
            "updated_at": "2024-04-05T15:58:28.309Z",
            "import_meta": null
          },
          "tax_rate": "0.08875",
          "unit_totals": {
            "subtotal": "50000",
            "tax": "3994",
            "discount": "5000",
            "total": "48994"
          },
          "proration": null
        },
        {
          "id": "txnitm_01hv8vzz0sjdj6grvpy1fzm46f",
          "price_id": "pri_01gsz96z29d88jrmsf2ztbfgjg",
          "quantity": 1,
          "totals": {
            "subtotal": "300000",
            "tax": "23962",
            "discount": "30000",
            "total": "293962"
          },
          "product": {
            "id": "pro_01gsz92krfzy3hcx5h5rtgnfwz",
            "name": "VIP support",
            "description": "Get exclusive access to our expert team of product specialists, available to help you make the most of your AeroEdit subscription.",
            "type": "standard",
            "tax_category": "standard",
            "image_url": "https://paddle.s3.amazonaws.com/user/165798/qgyipKJwRtq98YNboipo_vip-support.png",
            "custom_data": null,
            "status": "active",
            "created_at": "2023-02-23T13:58:17.615Z",
            "updated_at": "2024-04-05T15:44:02.893Z",
            "import_meta": null
          },
          "tax_rate": "0.08875",
          "unit_totals": {
            "subtotal": "300000",
            "tax": "23962",
            "discount": "30000",
            "total": "293962"
          },
          "proration": null
        },
        {
          "id": "txnitm_01hv8vzz0sjdj6grvpy6g84gyw",
          "price_id": "pri_01gsz98e27ak2tyhexptwc58yk",
          "quantity": 1,
          "totals": {
            "subtotal": "19900",
            "tax": "1590",
            "discount": "1990",
            "total": "19500"
          },
          "product": {
            "id": "pro_01gsz97mq9pa4fkyy0wqenepkz",
            "name": "Custom domains",
            "description": "Make AeroEdit truly your own with custom domains. Custom domains reinforce your brand identity and make it easy for your team to access your account.",
            "type": "standard",
            "tax_category": "standard",
            "image_url": "https://paddle.s3.amazonaws.com/user/165798/XIG7UXoJQHmlIAiKcnkA_custom-domains.png",
            "custom_data": null,
            "status": "active",
            "created_at": "2023-02-23T14:01:02.441Z",
            "updated_at": "2024-04-05T15:43:28.971Z",
            "import_meta": null
          },
          "tax_rate": "0.08875",
          "unit_totals": {
            "subtotal": "19900",
            "tax": "1590",
            "discount": "1990",
            "total": "19500"
          },
          "proration": null
        }
      ]
    },
    "payments": [],
    "checkout": {
      "url": null
    }
  },
  "meta": {
    "request_id": "ba7c3eb9-e88d-4239-be61-a47b8aceab66"
  }
}
```
