API errors are returned with a consistent standard error response. Raw bank error codes (bank transaction/result codes) are not surfaced to the customer; you only see the stable codes below.
The codes below occur during Card Handoff when the paymentRef sent to the handoffUrl is not valid. The remedy is always the same: create a new cardless payment (POST /v1/payments), then start the handoff again with the new paymentRef/handoffUrl it returns.
Code
HTTP
Meaning
payment_ref_invalid
404
The paymentRef is invalid/unknown.
payment_ref_expired
404
The paymentRef has expired.
payment_prepare_already_started
409
3D has already been started for this paymentRef (single-use).