# Payment

Interface · GraphQL API

A merchant-initiated movement of money between the merchant and a customer, by way of a payment method. Payments can represent money moving either from a customer to the merchant by charging a payment method (a Transaction), or from the merchant back to a customer by refunding a previous transaction (a Refund).

## Fields

- `id` (`ID!`) — non-null: Unique identifier.
- `legacyId` (`ID!`) — non-null: Legacy unique identifier.
- `createdAt` (`Timestamp`): Date and time when the payment was created.
- `amount` (`MonetaryAmount`): The amount charged or credited to the payment method. Note that in the case of a Transaction, this amount will represent the amount moving from the customer to the merchant, and in the case of a Refund, will represent the amount moving from the merchant back to the customer.
- `orderId` (`String`): The order ID.
- `status` (`PaymentStatus`): The current status of this payment.
- `statusHistory` (`[PaymentStatusEvent!]`): The records of all statuses this payment 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.
- `merchantAccountId` (`ID`): The ID of the merchant account that processed this payment.
- `source` (`PaymentSource`): How the payment was created.
- `paymentMethodSnapshot` (`PaymentMethodSnapshot`): Snapshot of payment method details used to create the payment, preserved at the time the transaction was created. This will always be present.
## Possible types

- `Transaction`
- `Refund`

## Used by

- [PaymentConnectionEdge](/braintree/graphql/reference/types/payment-connection-edge) — Object; node
- [Refund](/braintree/graphql/reference/types/refund) — Object; Implements
- [Transaction](/braintree/graphql/reference/types/transaction) — Object; Implements

## GraphQL definition

```graphql
interface Payment {
  id: ID!
  legacyId: ID!
  createdAt: Timestamp
  amount: MonetaryAmount
  orderId: String
  status: PaymentStatus
  statusHistory: [PaymentStatusEvent!]
  merchantAccountId: ID
  source: PaymentSource
  paymentMethodSnapshot: PaymentMethodSnapshot
}
```

---

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