Frontend Says "Payment Failed"
Work from the brief alone. Write what you would produce — actors, requirements, data, a first slice, your unknowns — before opening anything below it; the exercise stops working if you read the reality first.
Support reports that the store's checkout sometimes shows "Payment failed" although the customer's bank shows a charge. Identify the layers between the message and the bank, say what evidence each can give, and decide the first observation. Do not change anything yet.
Your attempt
Nothing here is checked. It exists so that the reveal below is a comparison rather than a reading.
Increasing the payment timeout and adding a retry. Both are one-line changes, both feel like addressing "it sometimes fails", and together they turn a customer who was charged once and told "failed" into a customer who is charged twice — because the retry re-sends a charge that already succeeded, and nothing has yet established that the timeout was the mechanism at all.
Read this even if you are confident. It is here rather than behind a button because it is the move most people actually make, it produces things that look like a project, and its cost arrives when the first hard requirement has nowhere to go.