Reporting a failing request
Include thetraceId from the error response:
traceId — a timeout, or nothing came back at all — send the
endpoint, the approximate time with timezone, and your partner name.
Reporting a stuck payment
Send the session id (co_…). If the payer already submitted a
transaction, the transaction hash and its chain help too. Please do not send
API keys, webhook signing secrets, or private keys; we never need them, and a
support thread is a bad place for a secret. If you have already pasted one
somewhere, tell us and we will reissue it.
Common things that are not bugs
fiatEnabled is false
fiatEnabled is false
Fiat needs Hypermid’s provider account configured for the session’s
environment. Ask us to configure it — see Environments.
A chain is rejected as the wrong environment
A chain is rejected as the wrong environment
A
sk_test_ key reaches testnets only and a sk_live_ key mainnets only.
The error names which direction you hit.A cross-chain swap shows no receiving side yet
A cross-chain swap shows no receiving side yet
Cross-chain routes are two transactions with a bridge between them. The
destination leg appears when it lands;
estimate.executionDuration is the
expectation to set.signature does not match
signature does not match
Almost always the body was re-serialized before hashing. Sign the raw bytes
— see Webhooks.
No webhook arrived for an unpaid session
No webhook arrived for an unpaid session
Terminal sessions do emit events. An unpaid Checkout, Deposit, or Withdrawal
emits
{mode}.expired when its TTL ends; a session that ends without
settling emits {mode}.failed (for example, after a reverted or
unverifiable payer transaction). Before the session is terminal, absence of
a webhook is not a failure signal — read the session from your server.