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

# paymentTransactions

> HSA/FSA payment transactions for this store, one row per order. Filter by US Eastern calendar day and, optionally, a search string.

**Required scopes:** [`payments_read`](/docs/api-reference/v3/reference/scopes#scope-payments_read)

## Arguments

<ResponseField name="after" type="String">
  Forward pagination cursor — returns items after it. Cursors are positions in the filtered list, so a row can shift onto another page if new activity lands in the requested range.
</ResponseField>

<ResponseField name="before" type="String">
  Backward pagination cursor — returns items before it. Cursors are positions in the filtered list, so a row can shift onto another page if new activity lands in the requested range.
</ResponseField>

<ResponseField name="dateFrom" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
  Inclusive first order date, as a US Eastern (America/New\_York) calendar day. Rejected when it is after `dateTo`.
</ResponseField>

<ResponseField name="dateTo" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
  Inclusive last order date, as a US Eastern (America/New\_York) calendar day.
</ResponseField>

<ResponseField name="first" type="Int">
  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
</ResponseField>

<ResponseField name="last" type="Int">
  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
</ResponseField>

<ResponseField name="search" type="String">
  Matches order reference, checkout id, receipt number, merchant reference, or customer name. Fewer than 2 characters is rejected.
</ResponseField>

## Returns

<ResponseField name="paymentTransactions" type={<a href="/docs/api-reference/v3/pagination">PaymentTransactionConnection!</a>} required>
  A paginated list of PaymentTransaction items.

  <Expandable title="fields" lazyRender>
    <ResponseField name="edges" type={<a href="/docs/api-reference/v3/pagination">[PaymentTransactionEdge!]!</a>} required>
      The list of edges (each a node plus its pagination `cursor`).

      <Expandable title="fields" lazyRender>
        <ResponseField name="cursor" type="String!" required>
          Opaque cursor for this item; pass to `after`/`before` to page from here.
        </ResponseField>

        <ResponseField name="node" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction">PaymentTransaction!</a>} required>
          The item at this edge.

          <Expandable title="fields" lazyRender>
            <ResponseField name="cartType" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction-cart-type">PaymentTransactionCartType!</a>} required>
              Whether the cart was HSA/FSA eligible, regular, or split.
            </ResponseField>

            <ResponseField name="checkoutId" type="String">
              Public checkout id for the session that took this payment.
            </ResponseField>

            <ResponseField name="customerName" type="String">
              Customer name on the order, when the checkout collected one.
            </ResponseField>

            <ResponseField name="gross" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              Amount charged for the order, before fees and refunds.
            </ResponseField>

            <ResponseField name="lmnFee" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              Letter-of-medical-necessity fee taken from this order.
            </ResponseField>

            <ResponseField name="merchantReference" type="String">
              The merchant's own reference for the order, when the checkout recorded one. Use this, with `orderReference`, to match a row to an order in your system.
            </ResponseField>

            <ResponseField name="netToMerchant" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              Amount kept by the merchant after fees and refunds.
            </ResponseField>

            <ResponseField name="orderReference" type="String!" required>
              Provider order reference for this charge.
            </ResponseField>

            <ResponseField name="orderedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the order was placed, as a UTC instant.
            </ResponseField>

            <ResponseField name="paymentMethods" type={<a href="/docs/api-reference/v3/reference/payments/payment-method">[PaymentMethod!]!</a>} required>
              Cards charged for this order, one per payment leg. A split payment lists more than one.
            </ResponseField>

            <ResponseField name="payout" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction-payout">PaymentTransactionPayout</a>}>
              Payout that settled this order's capture. Null until the payout is known.
            </ResponseField>

            <ResponseField name="platformFee" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              Redo's platform commission on the order (excludes the LMN fee). Card-processing costs are not charged to the merchant.
            </ResponseField>

            <ResponseField name="refunded" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              Amount refunded to the customer. Zero when nothing was refunded.
            </ResponseField>

            <ResponseField name="status" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction-status">PaymentTransactionStatus!</a>} required>
              Refund status of the payment.
            </ResponseField>

            <ResponseField name="totalFees" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
              Platform fee plus LMN fee.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="nodes" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction">[PaymentTransaction!]!</a>} required>
      The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

      <Expandable title="fields" lazyRender>
        <ResponseField name="cartType" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction-cart-type">PaymentTransactionCartType!</a>} required>
          Whether the cart was HSA/FSA eligible, regular, or split.
        </ResponseField>

        <ResponseField name="checkoutId" type="String">
          Public checkout id for the session that took this payment.
        </ResponseField>

        <ResponseField name="customerName" type="String">
          Customer name on the order, when the checkout collected one.
        </ResponseField>

        <ResponseField name="gross" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          Amount charged for the order, before fees and refunds.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="lmnFee" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          Letter-of-medical-necessity fee taken from this order.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="merchantReference" type="String">
          The merchant's own reference for the order, when the checkout recorded one. Use this, with `orderReference`, to match a row to an order in your system.
        </ResponseField>

        <ResponseField name="netToMerchant" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          Amount kept by the merchant after fees and refunds.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="orderReference" type="String!" required>
          Provider order reference for this charge.
        </ResponseField>

        <ResponseField name="orderedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
          When the order was placed, as a UTC instant.
        </ResponseField>

        <ResponseField name="paymentMethods" type={<a href="/docs/api-reference/v3/reference/payments/payment-method">[PaymentMethod!]!</a>} required>
          Cards charged for this order, one per payment leg. A split payment lists more than one.

          <Expandable title="fields" lazyRender>
            <ResponseField name="brand" type="String">
              Display label for the card brand, for example "Visa". Not a processor code.
            </ResponseField>

            <ResponseField name="lastFour" type="String">
              Last four digits of the card, when the method display includes them.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="payout" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction-payout">PaymentTransactionPayout</a>}>
          Payout that settled this order's capture. Null until the payout is known.

          <Expandable title="fields" lazyRender>
            <ResponseField name="date" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
              Banking value date of the payout (YYYY-MM-DD), or null while that date is not known.
            </ResponseField>

            <ResponseField name="id" type="ID!" required>
              Opaque id of the payout. Pass it to `payoutBreakdown` for the per-order lines.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="platformFee" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          Redo's platform commission on the order (excludes the LMN fee). Card-processing costs are not charged to the merchant.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="refunded" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          Amount refunded to the customer. Zero when nothing was refunded.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="status" type={<a href="/docs/api-reference/v3/reference/payments/payment-transaction-status">PaymentTransactionStatus!</a>} required>
          Refund status of the payment.
        </ResponseField>

        <ResponseField name="totalFees" type={<a href="/docs/api-reference/v3/reference/common/money">Money!</a>} required>
          Platform fee plus LMN fee.

          <Expandable title="fields" lazyRender>
            <ResponseField name="amount" type={<a href="/docs/api-reference/v3/reference/common/decimal">Decimal!</a>} required>
              The exact amount as a decimal string (e.g. "19.99").
            </ResponseField>

            <ResponseField name="currency" type="String!" required>
              ISO 4217 currency code (e.g. USD).
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="pageInfo" type={<a href="/docs/api-reference/v3/pagination">PageInfo!</a>} required>
      Pagination metadata for the current page.

      <Expandable title="fields" lazyRender>
        <ResponseField name="endCursor" type="String">
          Cursor of the last edge in this page; pass to `after` to page forward.
        </ResponseField>

        <ResponseField name="hasNextPage" type="Boolean!" required>
          Whether more items exist after this page (drives forward pagination with `first`/`after`).
        </ResponseField>

        <ResponseField name="hasPreviousPage" type="Boolean!" required>
          Whether more items exist before this page (drives backward pagination with `last`/`before`).
        </ResponseField>

        <ResponseField name="startCursor" type="String">
          Cursor of the first edge in this page; pass to `before` to page backward.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

```graphql theme={null}
query {
  paymentTransactions(after: "...", before: "...", dateFrom: "...", dateTo: "...", first: 10, last: 10, search: "...") {
    nodes {
      cartType
      checkoutId
      customerName
      merchantReference
      orderReference
      orderedAt
      status
    }
    pageInfo { hasNextPage endCursor }
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.