affirm eligibility_check_failed: checkout canceled with no error to the shopper
Handles Affirm's eligibility_check_failed outcome, where checkout is canceled with no error shown to the shopper. Covers detecting the failure, preserving the cart, and offering fallback payment options. Not for Affirm API integration errors or post-purchase servicing.
TL;DR
eligibilitycheckfailed means Affirm declined the shopper in its underwriting check; Affirm intentionally shows no error to the shopper, so your checkout must handle the silent cancel. Listen for the checkout cancel or the failed eligibility callback, keep the cart intact, and immediately offer another payment method. Retrying the same Affirm checkout will fail again.
affirm eligibility_check_failed: checkout canceled with no error to the shopperUse this when
- Affirm checkout cancels silently with eligibilitycheckfailed
- Shoppers report Affirm not working with no error
- You need fallback logic for failed BNPL eligibility checks
Not for this skill when
- The Affirm API returns an authentication or integration error
- The loan was approved but capture failed
- You are servicing an existing Affirm loan (refunds, disputes)
Steps
Detect the failed state: the Affirm checkout callback reports cancellation or the eligibility check returns eligibilitycheckfailed. Expected: Your code knows the Affirm attempt ended without payment.
Preserve the cart contents and the shopper's entered details. Expected: The shopper does not lose their order progress.
Display a neutral message and alternative payment methods; do not show Affirm's internal decline reason. Expected: The shopper can complete the purchase another way.
Log the event with order value and timestamp for funnel analysis. Expected: You can measure Affirm decline rates over time.
If decline rates spike, verify the data you send Affirm: correct currency, item prices, and customer fields. Expected: Data errors are ruled out as the cause.
Tool compatibility
Affirm Checkout API and Affirm's eligibility check endpoints; behavior is defined by Affirm's underwriting, not the SDK version.
Variant phrasings
affirm checkout canceled no error shopper
The shopper-visible symptom of the silent eligibility failure.
affirm not eligible at checkout
Common paraphrase of eligibilitycheckfailed.
affirm loan declined silently
What the outcome means in lending terms.
Why it happens
Affirm underwrites each checkout in real time and, like other lenders, does not disclose decline reasons to applicants at the point of sale. The checkout is canceled without a shopper-facing error by design. Because the inputs to the decision do not change on retry, immediate retries fail the same way. A good integration treats this as a normal branch of the checkout flow and routes the shopper to another method.
Edge cases / pitfalls
- Prequalification widgets can reduce surprise declines: shoppers who prequalify rarely hit this at checkout.
- Test-mode declines do not predict live underwriting; do not tune fallback copy on test data.
- Never promise the shopper that Affirm will work next time; offer the alternative method as the primary path.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst5XdjFp4Kg8eYq4Qt15iJA