## TL;DR

not_eligible means Klarna declined the customer in its real-time credit and risk check; there is no error to show the shopper and retrying the same request will not help. Detect the authorization rejection, keep the order intact, and offer the shopper a different payment method immediately. Do not retry Klarna in a loop and do not surface Klarna's internal reason to the shopper.

```text
klarna "not_eligible" at checkout: customer fails the credit check silently
```

## Use this when

- Klarna returns not_eligible at checkout with no shopper-visible error
- You need a fallback flow for declined BNPL authorizations
- Conversion drops specifically on the Klarna payment method

## Not for this skill when

- Klarna capture fails after a successful authorization (different error path)
- The Klarna API returns a technical error such as invalid credentials
- You are handling a post-purchase dispute or refund

## Steps

1. Check the Klarna authorization response for the not_eligible status on the order.
   Expected: You confirm the decline came from Klarna's eligibility check, not a network error.
2. Keep the cart and order data intact; do not cancel the shopper's session.
   Expected: The shopper can continue checkout without re-entering details.
3. Present alternative payment methods (card, PayPal, another BNPL) in the checkout UI.
   Expected: The shopper sees a clear path to complete the purchase.
4. Log the decline internally with order id and amount for risk analysis, without storing Klarna's internal scoring details.
   Expected: You have a record for conversion analysis.
5. Monitor the not_eligible rate: a sudden spike suggests a data problem (wrong country, currency, or customer fields) rather than real credit declines.
   Expected: You can distinguish integration bugs from genuine declines.

## Tool compatibility

Klarna Payments API (KP) and Klarna Checkout (KCO); the not_eligible outcome is returned by Klarna's risk engine regardless of SDK.

## Variant phrasings

### klarna customer not eligible silent decline

Same outcome described from the shopper's perspective; the handling is identical.

### klarna checkout rejected no error message

The silent failure mode of a failed eligibility check.

### klarna risk assessment failed at checkout

Klarna's internal wording for the same decline path.

## Why it happens

Klarna runs a real-time credit and fraud check on every authorization using the order amount, customer data, and its own risk models. When the check fails, Klarna returns not_eligible by design without a shopper-facing reason, to avoid leaking risk logic. Retrying changes nothing because the decision inputs are the same. The correct integration response is a graceful fallback, not a retry.

## Edge cases / pitfalls

- Sending inconsistent data (billing country different from Klarna session country) inflates not_eligible rates; keep the data consistent.
- Very low or very high order amounts can trip eligibility: validate your amount and currency before creating the session.
- Do not present Klarna again immediately after a decline; route the shopper to a different method first.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_nGojNz-zMMB8yL-bkNTtkA
