Payment session has already been resolved/rejected

hey community, has someone faced something like this?

we are building a Onsite payment app with shopify,
sometimes it works, sometimes it doesn’t…

we send this to the graphl endpoint of the shop:

{
  "query": "mutation {paymentSessionPending(id: \"gid://shopify/PaymentSession/12312313131231\", pendingExpiresAt: \"2025-04-20T07:15:51.449Z\", reason: BUYER_ACTION_REQUIRED){ paymentSession { id state { ... on PaymentSessionStatePending { __typename code reason } } nextAction { context { ... on PaymentSessionActionsRedirect { __typename redirectUrl } } } } userErrors { field message } } }",
  "variables": {}
}

the response obtained:

{
  "data": {
    "paymentSessionPending": {
      "userErrors": [
        {
          "field": [
            "id"
          ],
          "message": "Payment session has already been resolved/rejected, has already been pended with a different reason, or the response to start_payment_session request has not been received."
        }
      ]
    }
  },
  "extensions": {
    "cost": {
      "requestedQueryCost": 13,
      "actualQueryCost": 10,
      "throttleStatus": {
        "maximumAvailable": 546000,
        "currentlyAvailable": 545990,
        "restoreRate": 27300
      }
    }
  }
}

do we need to retry this ? any documentation..I saw others having the same problem, but I can’t seem to understand why this happens sometimes and sometimes it doesn’t. I haven't seen it happening with our offsite payment apps. which is in production… both use the same API, so this is quite odd.