> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appcharge.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

This article lists the Frontend SDK error codes returned in the `error.code` parameter of the `onPaymentIntentFailed` and `onOrderCompletedFailed` event callbacks.

For event details, see [Frontend Events](./frontend-sdk-events).

## Error codes

| Error Code | Description | When It Occurs | Troubleshoot |
| - | - | - | - |
| `SESSION_ENDED` | The checkout session has ended and is no longer valid. | When the session time to live (TTL) elapsed, the idle timeout expired, the player canceled the checkout, or the checkout token is missing, malformed, or unrecognized. | Open a new checkout session to continue, or check the integration that generates the session token. |
| `SESSION_ALREADY_USED` | The checkout session has already been opened and can't be reused. | When the checkout is reopened or refreshed after the session was already used or closed. | Open a new checkout session to continue. |
| `INTERNAL_ERROR` | The request failed due to an unexpected server error. For `onOrderCompletedFailed`, this is the only error code returned. | When an unhandled application error is raised, or on `onOrderCompletedFailed` when there's an issue with the [Grant Award Callback](/../../api-reference/checkout/awards/grant-award-callback), for example, an invalid link. | Retry the request, and contact Appcharge support if it persists. For Grant Award Callback failures, verify your callback URL. |
