# Transaction

Object · GraphQL API

A charge on a payment method.

## Fields

- `id` (`ID!`) — non-null: Unique identifier.
- `legacyId` (`ID!`) — non-null: Legacy unique identifier.
- `createdAt` (`Timestamp`): Date and time when the transaction was created.
- `paymentMethodSnapshot` (`PaymentMethodSnapshot`): Snapshot of payment method details used to create the transaction, preserved at the time the transaction was created. This will always be present.
- `paymentMethod` (`PaymentMethod`): The multi-use payment method associated with the transaction. Only present if a multi-use payment method was used to create the transaction and it has not been deleted. The details of this PaymentMethod may have changed since the transaction was created; details used for the transaction can be found in the `paymentMethodSnapshot` field.
- `amount` (`MonetaryAmount`): The amount charged in this transaction. For transactions that are partially captured, this amount will be the cummulative amount captured on this transaction. For transactions that are partially authorized, the amount will be less than the `initialRequestedAuthorizationAmount`.
- `initialRequestedAuthorizationAmount` (`MonetaryAmount`): The initial requested authorization amount for this transaction.
- `customFields` (`[CustomField!]`): Collection of custom field/value pairs. Custom fields are [defined in the Control Panel](https://articles.braintreepayments.com/control-panel/custom-fields#store-and-pass-back-fields).
- `merchantId` (`String`): The ID of the merchant that processed this transaction.
- `merchantAccountId` (`ID`): The ID of the merchant account that processed this transaction.
- `merchantName` (`String`): The display name of the merchant that processed this transaction.
- `merchantAddress` (`Address`): The address of the merchant that processed this transaction.
- `orderId` (`String`): The order ID for this transaction. For PayPal transactions, the PayPal Invoice ID.
- `purchaseOrderNumber` (`String`): A purchase order identification value you associate with this transaction.
- `status` (`PaymentStatus`): The current status of this transaction.
- `processorResponse` (`TransactionAuthorizationProcessorResponse`) — deprecated since 2018-12-06: Fields describing the payment processor response.
- `processorAuthorizationResponse` (`TransactionAuthorizationProcessorResponse`): Fields describing the payment authorization processor response.
- `processorSettlementResponse` (`TransactionSettlementProcessorResponse`): Fields describing the payment settlement processor response.
- `riskData` (`RiskData`): Risk data evaluated for this transaction.
- `descriptor` (`TransactionDescriptor`): Fields used to define what will appear on customers' credit card statements for a specific purchase.
- `statusHistory` (`[PaymentStatusEvent!]`): The records of all statuses this transaction has passed through, with additional information on why each status occurred. Returned in reverse chronological order, with the most recent event first in the list.
- `channel` (`String`): If the transaction request was performed through a shopping cart provider or Braintree partner, this field will have a string identifier for that shopping cart provider or partner. For PayPal transactions, this maps to the PayPal account's bn_code.
- `source` (`PaymentSource`): How the transaction was created.
- `customer` (`Customer`): Customer associated with the transaction, if applicable.
- `shipping` (`TransactionShipping`): Shipping information.
- `tax` (`TransactionTaxInformation`): Tax information.
- `scaExemptionRequested` (`ScaExemptionType`): The type of Strong Customer Authentication Exemption that was requested for this transaction.
- `discountAmount` (`String`): Discount amount that was included in the total transaction amount.
- `surchargeAmount` (`String`): Surcharge amount that was included in the total transaction amount.
- `lineItems` (`[TransactionLineItem!]`): Line items for this transaction.
- `refunds` (`[Refund!]`): The list of refunds issued against this transaction.
- `partialCaptureDetails` (`PartialCaptureDetails`): For transactions created or captured using the `partialCaptureTransaction` mutation. This field links a given transaction to its original authorization or all its partial captures.
- `disputes` (`[Dispute!]`): A collection of disputes associated with the transaction.
- `facilitatorDetails` (`FacilitatorDetails`): If the transaction request was performed using payment information from a third party via the Grant API, Shared Vault or Google Pay, these fields will capture information about the third party. These fields are primarily useful for the merchant of record.
- `disbursementDetails` (`DisbursementDetails`): The disbursement details associated with this transaction. This field is only available after the transaction is SETTLED and if you have an eligible merchant account.
- `billingAddress` (`Address`): The billing address associated with the transaction.
- `authorizationAdjustments` (`[AuthorizationAdjustment!]`): A collection of AuthorizationAdjustments associated with the transaction.
- `retried` (`Boolean`): Whether or not the transaction was automatically retried by Braintree's internal systems.
- `retriedParentTransaction` (`Transaction`): If this transaction is an automatic retry of a previous, failed transaction, this is the parent transaction that was retried.
- `retriedTransactions` (`[Transaction!]`): If this transaction was automatically retried, this is a collection of all the retry transactions.
- `upcomingRetryDate` (`Date`): The date an upcoming retry will be submitted, formatted `YYYY-MM-DD`.
- `installmentDetails` (`TransactionInstallmentDetails`): Installment details associated with the transaction.
- `paymentInitiatedAt` (`Timestamp`): The transaction date and time as reported by the in-store payment terminal.
- `processingMode` (`ProcessingMode`): The processing mode of the transaction.
- `partiallyAuthorized` (`Boolean`): Indicates whether the transaction has been authorized for an amount lower than the requested amount.

## Used by

- [ChildCapture](/braintree/graphql/reference/types/child-capture) — Object; parentAuthorization
- [CreateTransactionPackageTrackingPayload](/braintree/graphql/reference/types/create-transaction-package-tracking-payload) — Object; transaction
- [Dispute](/braintree/graphql/reference/types/dispute) — Object; transaction
- [GatewayRejectedEvent](/braintree/graphql/reference/types/gateway-rejected-event) — Object; duplicateOf
- [InStoreContext](/braintree/graphql/reference/types/in-store-context) — Object; transaction
- [Node](/braintree/graphql/reference/types/node) — Interface; Possible type
- [ParentAuthorization](/braintree/graphql/reference/types/parent-authorization) — Object; childCaptures
- [PartialCaptureTransactionPayload](/braintree/graphql/reference/types/partial-capture-transaction-payload) — Object; capture
- [Payment](/braintree/graphql/reference/types/payment) — Interface; Possible type
- [PayPalTransactionPayload](/braintree/graphql/reference/types/pay-pal-transaction-payload) — Object; transaction
- [Refund](/braintree/graphql/reference/types/refund) — Object; refundedTransaction
- [RequestAuthorizeInStoreContext](/braintree/graphql/reference/types/request-authorize-in-store-context) — Object; transaction
- [RequestChargeInStoreContext](/braintree/graphql/reference/types/request-charge-in-store-context) — Object; transaction
- [Transaction](/braintree/graphql/reference/types/transaction) — Object; retriedParentTransaction, retriedTransactions
- [TransactionConnectionEdge](/braintree/graphql/reference/types/transaction-connection-edge) — Object; node
- [TransactionPayload](/braintree/graphql/reference/types/transaction-payload) — Object; transaction
- [TransactionReversal](/braintree/graphql/reference/types/transaction-reversal) — Union; Union member
- [VoidTransactionPayload](/braintree/graphql/reference/types/void-transaction-payload) — Object; transaction

## GraphQL definition

```graphql
type Transaction implements Node & Payment {
  id: ID!
  legacyId: ID!
  createdAt: Timestamp
  paymentMethodSnapshot: PaymentMethodSnapshot
  paymentMethod: PaymentMethod
  amount: MonetaryAmount
  initialRequestedAuthorizationAmount: MonetaryAmount
  customFields: [CustomField!]
  merchantId: String
  merchantAccountId: ID
  merchantName: String
  merchantAddress: Address
  orderId: String
  purchaseOrderNumber: String
  status: PaymentStatus
  processorResponse: TransactionAuthorizationProcessorResponse @deprecated(reason: "Use relevant events in `statusHistory` or `processorAuthorizationResponse` instead.")
  processorAuthorizationResponse: TransactionAuthorizationProcessorResponse
  processorSettlementResponse: TransactionSettlementProcessorResponse
  riskData: RiskData
  descriptor: TransactionDescriptor
  statusHistory: [PaymentStatusEvent!]
  channel: String
  source: PaymentSource
  customer: Customer
  shipping: TransactionShipping
  tax: TransactionTaxInformation
  scaExemptionRequested: ScaExemptionType
  discountAmount: String
  surchargeAmount: String
  lineItems: [TransactionLineItem!]
  refunds: [Refund!]
  partialCaptureDetails: PartialCaptureDetails
  disputes: [Dispute!]
  facilitatorDetails: FacilitatorDetails
  disbursementDetails: DisbursementDetails
  billingAddress: Address
  authorizationAdjustments: [AuthorizationAdjustment!]
  retried: Boolean
  retriedParentTransaction: Transaction
  retriedTransactions: [Transaction!]
  upcomingRetryDate: Date
  installmentDetails: TransactionInstallmentDetails
  paymentInitiatedAt: Timestamp
  processingMode: ProcessingMode
  partiallyAuthorized: Boolean
}
```

---

[View the complete GraphQL schema on GitHub](https://raw.githubusercontent.com/braintree/graphql-api/refs/heads/master/schema.graphql)