Troubleshooting
Common problems and how to fix them.
Most problems come from the API key, the token, the environment (sandbox or production) or the callback URL. Find your problem below — each one says why it happens and how to fix it.
401 on Log in
- Paste the whole API key as copied from the portal. It is split at the first colon:
identitybefore it,passwordafter it. - Check you are using the right environment: a sandbox key does not work on production, and the reverse.
- The key may be revoked or disabled. Check it in Developer → API keys.
- Lost the API key? Rotate it to get a new one.
401 on a payment call
The token is missing, wrong or expired — it works for about 15 minutes. Log in again and send the whole headerValue as the Authorization header, including Bearer .
400 errors
The description in the response says which rule failed. See Error codes. Common causes:
- An
externalUniqueIdyou already used — send a new one for every payment. - A missing
destinationWalletId,typeorcurrency. - An amount with more than 2 decimals.
403 on production
Your business is not approved to go live yet, or has no active wallet. Finish production sign-up and wait for the review. See Go live.
Payment stays PENDING
The customer has not paid the link, or not approved on their phone or bank yet. Wait for the webhook, and call Get a payment again later.
I never receive webhooks
- For payment links, the callback URL goes in
additionalFields(id: "callbackUrl"), not at the top level. For C2B Direct and QR payments it iscallbackUrlat the top level. There is no portal setting. - It must be reachable from the internet.
localhostdoes not work — use a tunnel such as ngrok when testing. - Production needs
https://. - Reply
2xxquickly. - Payment links made in the portal send a webhook only if you set a callback URL on the link.
- You can always call Get a payment instead.
The QR code does not scan
Make the QR code from the exact value — qrUrl for telebirr QR, barcode for EthSwitch QR — without adding or trimming anything. Scan telebirr QR with the telebirr app, and EthSwitch QR with a bank app. In Try it, the QR code is drawn for you under the response.

