What it means
The API answered with HTTP 402 and the error code payment_failed.
The payment token was declined or refused (details.reason is declined or token_rejected): it is too small for the price, expired, already used or deactivated. The purchase stays open until it expires; ask the buyer for a new token and complete it again.
How to handle it
Every error is an RFC 9457 problem document (application/problem+json). Match on code, never on the message text. See errors for the full list.