TL;DR: The recurring contract on the stored token does not match the contract in your request. Check the token's contract in the Customer Area, request the matching contract, or re-tokenize the card with the contract you need.

The exact error:

```text
14_005 - Invalid payment method details
```

## The fix

1. Look up the stored payment method in the Adyen Customer Area and note its recurring contract.
   Expected: You see whether the token is RECURRING, ONECLICK, or both.
2. Set recurringProcessingModel and shopperInteraction in /payments to match the token's contract.
   Expected: The requested contract matches what the token supports.
3. If the contracts cannot be reconciled, re-tokenize the card with the contract you need and retry.
   Expected: The payment proceeds past validation to authorization.

## When this applies

- /payments with a stored card returns 14_005
- You recently changed between one-click and subscription flows
- Tokens came from a migration and now fail validation

## When it does NOT apply

- A first-time card payment with fresh details (look at 14_004 or 14_007 instead)
- The token itself is missing or expired
- A 3D Secure failure after the payment was accepted for processing

## Versions

Adyen Checkout API v68 through v71. Applies to stored payment methods and tokens.

## Why it happens

The stored payment method carries a fixed recurring contract. Adyen compares the contract in your request against the token's contract during validation, and a mismatch is rejected as invalid payment method details.

## Edge cases and pitfalls

- A token created with a RECURRING contract cannot be used for a ONECLICK payment and vice versa
- Migrated tokens from another processor may carry a contract type your Adyen config does not allow
- The shopperReference must match the one the token was stored under
