Zoorya Pay Developers

Telebirr QR

POSThttps://sandbox.eclipse.et/eclipse-conductor/rest/v1/tenants/{tenantId}/organisations/{organisationId}/payments

Recent Requests

TimeStatusUser agent

Make a request to see history.

Creates a telebirr QR payment. The response has a QR code value: show it as a QR code on your screen, and the customer scans it with the telebirr app and approves. Use it when the customer is in front of you — at a till, a kiosk or on another screen. The result arrives on your callbackUrl.

  1. 1

    Log in first

    Call Log in with your API key: copy it in the merchant portal (Developer → API keys) and paste it. Keep headerValue and tenantId from the response.

  2. 2

    Then call this endpoint with the token

    Copy headerValue from the Log in response and paste it as the Authorization header of this call — it already starts with Bearer . Put tenantId in the URL, with your organisationId and destinationWalletId from the merchant portal.

Note:

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.

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 click Try It!. The QR code from qrUrl is drawn under the response — scan it with the telebirr app and approve to test the payment.

Headers#

Authorizationstringrequired
Set in Credentials →

Paste headerValue from Log in — the whole value, including Bearer .

Path#

tenantIdintegerrequired

Your tenant ID — returned as tenantId by Log in.

organisationIdintegerrequired

Your organisation ID — merchant portal → Profile → Company.

Body#

New externalUniqueId
…

Paste it into externalUniqueId in Try it. Click New ID before every new payment.

amountnumberrequiredDefaults to 2

Amount in ETB, at most 2 decimals.

currencystringrequiredDefaults to ETB

Always ETB.

typestringrequiredDefaults to TELE_QR_C2B

Must be TELE_QR_C2B for telebirr QR.

externalUniqueIdstringrequired

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.

destinationWalletIdintegerrequired

The wallet that receives the money — merchant portal → avatar menu → Profile → Company → Wallet ID.

callbackUrlstring

Where the final result is POSTed — the same object as the response, with a final status.

descriptionstringDefaults to Order 1004

Up to 200 characters.

Response#

paymentIdinteger

Use it with Get a payment.

statusstring

PENDING until the customer approves.

additionalFieldsobject[]

Contains qrUrl — turn its value into a QR code and show it to the customer.

Then wait for your callback and confirm with Get a payment. Deliver only when status is SUCCESSFUL.