--- title: "Session details" slug: "session-details" description: "Understand checkout sessions, troubleshoot issues, and access detailed customer and payment information for subscriptions and invoices effectively." updated: 2026-08-07T09:39:23Z published: 2026-08-07T09:39:23Z canonical: "help.frisbii.com/session-details" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.frisbii.com/llms.txt > Use this file to discover all available pages before exploring further. # Session details ## Overview A session is created every time a customer opens a checkout, whether they're signing up for a subscription, paying a one-off invoice, or saving a payment method. Session details show you the parameters the session was created with, including settings controlled by the Checkout configuration used, and exactly what happened during that checkout attempt: which device and browser the customer used, whether they hit a 3-D Secure challenge, and where they ended up. Use this article to understand what you're looking at and how to use it for troubleshooting. --- ## Where to find session details - **Customer details**: for every session across that customer's account (subscriptions, invoices, and payment-method updates together). Open the customer and go to the **Sessions** section. Use this when you don't know which specific subscription or invoice a checkout attempt belongs to. - **Subscription details**: for recurring and subscription sign-up sessions. Open a subscription and go to the **Sessions** section. - **Invoice details**: for one-off payments (charges). Open the invoice and go to the **Sessions** section. **Note** A subscription or invoice can have more than one session. Every time a customer opens the checkout, including retries after a failed or abandoned attempt, a new session is created. On subscription and invoice pages, the Sessions section only appears once at least one session exists. ![](https://cdn.document360.io/b84e1b5d-2ba6-4465-8c62-fb45a2f31314/Images/Documentation/image-Q493150K.png) --- ## What you can do with session details **Customer says the checkout link doesn't work** Check `expires` in the session summary first — the link may have simply timed out. **Customer's payment failed or they abandoned checkout** Walk through the activity log in order to see exactly where things stopped. A few key events to look for: - `SHOW` — confirms what device/browser/OS they actually saw, useful if they describe a display issue - `CARD_VALIDATION` — shows if they struggled entering card details - `CHARGE` — expand this to see the transaction result, error code, and error message if the payment itself failed **Customer's bank asked them to verify the payment (3-D Secure)** Look for `SCA_FRAME` (challenge was shown) and `SCA_RETURN` (result came back). Note that `SCA_RETURN` isn't clickable in the UI — you'll need to use the copy icon in the "Event list" panel header to pull the full JSON and check the raw result there. **Customer says their card wasn't saved** Check the `PM_SAVE` event the same way — copy the event list as JSON and look at its `result` field, plus `errorCode`/`errorMessage` if it failed. Also check the `recurring` field in the summary to confirm the session was even meant to store a card. **You want to reproduce what the customer saw** Each session has a link icon that opens the live checkout page directly. **Escalating to Frisbii support** Just grab the session `id` (starts with `cs_`) — that's all support needs to pull up the exact same session on their end. --- ## Session types The `type` field tells you what the customer was asked to do in that checkout: | Type | What it means | | --- | --- | | `CHARGE` | The customer paid a one-off invoice. | | `RECURRING` | The customer saved a payment method without an immediate payment — for example, when updating their card on file. | | `SUBSCRIPTION` | The customer signed up for a subscription, and may have paid the first invoice as part of the same checkout. | --- ## Session summary fields The top of a session shows a summary with these fields: | Field | Description | | --- | --- | | `id` | The unique session ID (starts with `cs_`). Share this with Frisbii support when reporting a checkout issue — it lets us look up the exact attempt. | | `type` | The kind of session. See Session types above. | | `locale` | The language and region the checkout was displayed in (for example, `en_GB` or `de_DE`). Useful for confirming a customer saw the checkout in the right language. | | `recurring` | Whether the session stores a payment method for future charges. On a `CHARGE` session this reflects the customer's own choice (e.g. an opt-in "save card" checkbox); on a `RECURRING` or `SUBSCRIPTION` session it's generally true by design. | | `customer` | The customer this session belongs to. Click through to their customer record. | | `subscription` | If the session is tied to a subscription, the subscription it belongs to. Click through to the subscription. | | `charge` | If the session is tied to a one-off invoice, the invoice it belongs to. Click through to the invoice. | | `created` | When the session was generated. | | `expires` | When the checkout link stops being valid. If a customer reports "the link doesn't work," check this first. | | `currency` | The currency used for the transaction. | | `url` | The actual checkout link presented to the customer. | | `cancel_url` | Where the customer is redirected if they cancel or the payment fails. | | `accept_url` | Where the customer is redirected after a successful checkout. | ### JSON example ```json {    "id": "cs_7e806516aad736861b3d0935eb14fa9e",    "type": "RECURRING",    "locale": "en_GB",    "expires": "2026-11-05T09:38:18.688+00:00",    "recurring": true,    "customer": "cust-0004",    "created": "2026-08-05T09:38:18.655+00:00",    "currency": "EUR",    "url": "https://checkout.reepay.com/#/cs_7e806516aad736861b3d0935eb14fa9e",    "cancel_url": "https://customer-portal.frisbii.com/#/dashboard?success=false",    "accept_url": "https://customer-portal.frisbii.com/#/dashboard?success=true" } ``` --- ## Session activity log Below the summary, you'll find a timestamped log of everything that happened during the checkout. Each entry has a `name` (the action), a `type` (the outcome - `SUCCESS`, `INFO`, or `ERROR`), and further details specific to that action in `data`. | Event | What it tells you | | --- | --- | | `GET` | The customer opened the checkout link. Shows their IP address and browser. If the customer revisits an already-completed session, this can also show a result like `PAYMENT_METHOD_ALREADY_ADDED`. | | `SHOW` | The checkout page rendered. Shows device type, screen size, browser, and operating system — useful for confirming what the customer actually saw. | | `CARD_VALIDATION` | The customer's card details were validated field-by-field as they typed (for example, a hint about the expiry date format). Useful for spotting where a customer struggled with the form. | | `TOKEN` | A secure token was issued to the checkout page (or failed — click to expand for error/status details if so). | | `SCA_FRAME` | The customer was shown a Strong Customer Authentication (3-D Secure) challenge from their bank. | | `SCA_TOKEN` | A token related to the 3-D Secure flow was requested. | | `SCA_RETURN` / `SCA_FRAME_RETURN` | The result came back from the 3-D Secure challenge. **This event isn't clickable** — the admin UI has no expandable detail view for it. To inspect the raw result, use the **copy icon in the "Event list" panel header** to copy the entire event log as JSON, then find this event in the array. | | `CHARGE` | The actual payment attempt was processed. Click to expand for the result, transaction state, transaction error, error code/message, and payment method. | | `PM_SAVE` | The payment method was saved to the customer's account. Like `SCA_RETURN`, **this event isn't clickable** — use the "Event list" panel header's copy icon to get its raw `result` and, if it failed, `errorCode`/`errorMessage`. | | `SUB_SET_PM` | The subscription's payment method was set or changed as part of this session. | | `RETURN_URL` | A custom return URL was passed through and recorded for this session. | | `REDIRECT_ACCEPT` / `REDIRECT_CANCEL` | The customer was redirected back to your site — to the `accept_url` on success or the `cancel_url` on failure or cancellation. | | `EXTERNAL_PAYMENT_REDIRECT_RESULT` / `EXTERNAL_PAYMENT_RETURN_RESULT` | The result came back from a redirect-based payment method (e.g. Vipps, MobilePay, Swish). | | `EXTERNAL_AGE_VERIFICATION_RESULT` | The result of an age-verification step came back (used by some payment methods for age-restricted purchases). | | `UNKNOWN_WEBVIEW_LOAD` / `ANDROID_WEBVIEW_LOAD` / `IOS_WEBVIEW_LOAD` | The checkout loaded inside a mobile app's embedded webview rather than a regular browser. | **Note** Depending on which payment method the customer chose, you'll see many more method-specific events — around 90 in total. These include client-load events for Apple Pay and Google Pay (`AP_LOAD`/`AP_FRAME`, `GP_LOAD`/`GP_FRAME`), and a `*_START` event for nearly every supported payment method — Klarna (Pay Now/Pay Later/Slice It/Direct Debit/Direct Bank Transfer), PayPal, Swish, Resurs, Vipps (standard/Recurring/ePayment), MobilePay (MPS/MPO), and dozens of localized redirect methods (BLIK, iDEAL, Przelewy24, Giropay, Bancontact, EPS, MB WAY, Multibanco, MyBank, Trustly, TWINT, WeChat Pay, SEPA, and more). These all follow the same `name`/`type`/`data` structure and can be read the same way. ### JSON example ```json [    {        "name": "GET",        "type": "SUCCESS",        "data": {            "ip": "3.124.222.54",            "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:38:22.040+00:00"    },    {        "name": "SHOW",        "type": "SUCCESS",        "data": {            "sr": "2560x1392",            "vp": "2560x1271",            "de": "UTF-8",            "sd": 24,            "ul": "de-de",            "os": "windows",            "browser": "chrome",            "device_type": "desktop",            "window_type": "webpage",            "active_module": "/checkout",            "active_url": "https://checkout.reepay.com/#/cs_7e806516aad736861b3d0935eb14fa9e",            "parent_url": "https://checkout.reepay.com/#/cs_7e806516aad736861b3d0935eb14fa9e",            "app_version": "1.503",            "appId": "rp-webpage-1785922702438"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:38:22.270+00:00"    },    {        "name": "CARD_VALIDATION",        "type": "INFO",        "data": {            "message": "Enter expiration date in MM/YY format",            "fieldName": "CARD_DATE",            "appId": "rp-webpage-1785922702438"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:38:29.851+00:00"    },    {        "name": "TOKEN",        "type": "SUCCESS",        "data": {            "appId": "rp-webpage-1785922702438"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:38:36.423+00:00"    },    {        "name": "SCA_FRAME",        "type": "INFO",        "data": {            "acs_url": "https://acs165.sandbox.3dsecure.io/browser/challenge/manual",            "frameType": "3dsv2-challenge",            "metadata": {                "os": "Windows",                "browser": "Chrome",                "window_type": "webpage"            },            "appId": "rp-webpage-1785922702438"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:38:57.268+00:00"    },    {        "name": "SCA_RETURN",        "type": "INFO",        "data": {            "id": "ct_b008d12f9b0af65c3fdef7362118172d",            "recurring": false,            "action": "challenge",            "isCheckout": null,            "appId": "rp-webpage-1785922840131"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:40:47.287+00:00"    },    {        "name": "PM_SAVE",        "type": "SUCCESS",        "data": {            "result": "SUCCESS",            "errorMessage": null,            "errorCode": null,            "payment_method": "ca_01a846a293db0650140e29515acc59c0"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:40:49.085+00:00"    },    {        "name": "REDIRECT_ACCEPT",        "type": "INFO",        "data": {            "uri": "https://customer-portal.frisbii.com/#/dashboard?success=true&id=cs_7e806516aad736861b3d0935eb14fa9e&customer=cust-0004&payment_method=ca_01a846a293db0650140e29515acc59c0"        },        "session": "cs_7e806516aad736861b3d0935eb14fa9e",        "timestamp": "2026-08-05T09:40:49.256+00:00"    } ] ``` --- ## Related - [Checkout Helper](/checkout-helper.md) - [Checkout](/checkout.md)