Payment session has already been resolved

Topic summary

A developer encounters an error when attempting to resolve a payment session using the paymentSessionResolve mutation: “Payment session has already been resolved with a different authentication, has already been rejected, or the response to start_payment_session request has not been received.”

Key Details:

  • The mutation is being called with an offline access token from a Shopify payment app
  • The order is not updating despite the API call
  • Request ID provided for debugging: fdf90d4a-c3d2-4f0b-a32d-bb333e303030-1732549020

Solution Identified:
A second developer experienced the same issue and found the root cause relates to the authorizationExpiresAt parameter:

  • Problem: Setting authorizationExpiresAt = date() + 1Year on subsequent webhook requests causes the error
  • Fix: The parameter must remain consistent with the value set in the initial call (e.g., authorizationExpiresAt = previous_date + 1Year)
  • Changing this value between requests triggers the “already resolved” error

The issue appears resolved through maintaining parameter consistency across payment session calls.

Summarized with AI on October 25. AI used: claude-sonnet-4-5-20250929.
mutation PaymentSessionResolve(
  $id: ID!,
  $authorizationExpiresAt: DateTime
) {
  paymentSessionResolve(
    id: $id,
    authorizationExpiresAt: $authorizationExpiresAt
  ) {
    paymentSession {
      id
      state {
        ... on PaymentSessionStateResolved {
          code
        }
      }
      nextAction {
        action
        context {
          ... on PaymentSessionActionsRedirect {
            redirectUrl
          }
        }
      }
    }
    userErrors {
      field
      message
    }
  }
}

When trying to resolve a payment session (confirm a payment to an order)

it is returning the following error

Payment session has already been resolved with a different authentication, has already been rejected, or the response to start_payment_session request has not been received.

we have an offline access token from our shopify payment app

what does causes this? the order is not updated

Below is the X-REQUEST-ID:

xRequestId: ‘fdf90d4a-c3d2-4f0b-a32d-bb333e303030-1732549020’

We have experienced the same issue on a payment gateway app while processing payments

We have found that the issue was with the parameter: authorizationExpiresAt

When the order was placed for the first time we set this parameter (authorizationExpiresAt)

with the value date() + 1Year and it worked fine but in subsequent requests with webhooks we got the following error: “Payment session has already been resolved with a different authentication, has already been rejected, or the response to start_payment_session request has not been received“. We’ve realized that parameter authorizationExpiresAt had to be the same as it was set for the very first call. So not like this:

authorizationExpiresAt = date() + 1Year

but

authorizationExpiresAt = previouse_date + 1Year