# PaymentSession - payments-apps - OBJECT Version: 2024-10 ## Description A unique payment transaction. ### Access Scopes `read_payment_sessions` access scope. ## Fields * [authorizationExpiresAt](/docs/api/payments-apps/2024-10/scalars/DateTime): DateTime - The date and time when an authorized payment session expires. * [id](/docs/api/payments-apps/2024-10/scalars/ID): ID! - A globally-unique ID. * [nextAction](/docs/api/payments-apps/2024-10/objects/PaymentSessionNextAction): PaymentSessionNextAction - The next action expected of the partner. * [pendingExpiresAt](/docs/api/payments-apps/2024-10/scalars/DateTime): DateTime - The date and time when a pending payment session expires. * [state](/docs/api/payments-apps/2024-10/unions/PaymentSessionStates): PaymentSessionStates! - Details about the payment state. ## Connections ## Related queries ## Related mutations * [paymentSessionConfirm](/docs/api/payments-apps/2024-10/mutations/paymentSessionConfirm) Initiates the confirmation process of the given payment_session. Shopify will start confirming the payment. According to its business logic, Shopify determines if the payment can be authorized and sends a POST request to the payments app, delivering the confirmation result. * [paymentSessionPending](/docs/api/payments-apps/2024-10/mutations/paymentSessionPending) Change a payment session status to pending. Upon receiving the response from the `PaymentSessionPending` mutation, you must redirect the customer back to Shopify, using `redirectUrl` in `nextAction`. Upon completion, pending payments must be finalized into either a successful or failed state using the `paymentSessionResolve` or `paymentSessionReject` mutations. Both `sale` and `authorization` payments can be marked as pending. * [paymentSessionRedirect](/docs/api/payments-apps/2024-10/mutations/paymentSessionRedirect) Redirects the buyer to the given URL for the payment session. For example, Shopify will redirect the buyer to the URL where the 3DS authentication will take place for onsite payment with `credit_card` payment method. * [paymentSessionReject](/docs/api/payments-apps/2024-10/mutations/paymentSessionReject) Rejects an open payment session. After the `paymentSessionReject` mutation completes on a given payment session, any `paymentSessionResolve` mutation attempts will fail. Subsequent `paymentSessionReject` mutation attempts will succeed, but the `RejectionReasonInput` argument will be ignored. * [paymentSessionResolve](/docs/api/payments-apps/2024-10/mutations/paymentSessionResolve) Resolves an open payment session. After the `paymentSessionResolve` mutation completes on a given payment session, any `paymentSessionReject` mutation attempts will fail. Subsequent `paymentSessionResolve` mutation attempts will succeed, but the `Details` argument will be ignored. ## Related Unions ## Examples