Pay with SMS code
Recent Requests
Make a request to see history.
Step 2 of a Zemen Bank payment. First call Zemen Bank — Verify account so the customer gets an SMS code.
- 1
Log in first
Call Log in with your API key: copy it in the merchant portal (Developer → API keys) and paste it. Keep
headerValueandtenantIdfrom the response. - 2
Then call this endpoint with the token
Copy
headerValuefrom the Log in response and paste it as theAuthorizationheader of this call — it already starts withBearer. PuttenantIdin the URL, with yourorganisationIdanddestinationWalletIdfrom the merchant portal.
The token works for about 15 minutes (expires in the login response). Reuse it for every payment until then; after that this call returns 401 — log in again.
A wrong code is rejected with 400. Ask the customer again and send a new externalUniqueId.
In Try it: first run Log in with your API key. The token and tenantId are then filled in here for you. Fill in your other IDs, and use a phone or account you control — the prompt or SMS is real.
Headers#
Paste headerValue from Log in — the whole value, including Bearer .
Path#
Your tenant ID — returned as tenantId by Log in.
Your organisation ID — merchant portal → Profile → Company.
Body#
…Paste it into externalUniqueId in Try it. Click New ID before every new payment.
2Amount in ETB, at most 2 decimals.
ETBAlways ETB.
ZEMEN_TOP_UPMust be ZEMEN_TOP_UP for Zemen Bank — Pay with SMS code.
Your own unique ID for this payment. Use a new one every time — letters and digits only, at least 6 characters. Get one from the New ID box above.
The wallet that receives the money — merchant portal → avatar menu → Profile → Company → Wallet ID.
Where the final result is POSTed — the same object as the response, with a final status.
Order 1006Up to 200 characters.
The Zemen Bank payment fields. Each item is { "id": "…", "value": "…" }: one for accountNumber, one for otp.
Response#
Use it with Get a payment.
PENDING until the customer approves.
Then wait for your callback and confirm with Get a payment. Deliver only when status is SUCCESSFUL.

