Go live
Move from sandbox to real payments.
Going live means moving from test money to real payments. Production is a separate environment, so you create a new account there, get your business approved, and then switch your API key and base URL. Your code stays the same.
- 1
Finish testing in sandbox
Use the checklist below.
- 2
Sign up on production
Create an account on merchant.zooryapay.et. This is a new account — your sandbox account does not carry over. See Production sign-up.
- 3
Wait for approval
Zoorya Pay reviews your business. Until it is approved, API calls return
403. - 4
Create a production API key
Same steps as in Get your API keys, on the production portal.
- 5
Switch your configuration
.envZOORYA_BASE_URL=production-base-url-to-be-announced ZOORYA_API_KEY=your-production-api-key
Checklist#
Check these before you switch. Each one protects you from a common mistake with real money.
- Your server, not the browser, logs in and creates payment links.
- You release goods only when Get a payment returns
SUCCESSFULand the amount matches. - Every payment has its own
externalUniqueId. - Your
landingUrland callback URL usehttps://. - Your callback URL is reachable from the internet and returns
2xxquickly. - Your webhook handler ignores repeats of the same
paymentId. - You handle
PENDING, failed and timed-out payments, not only success. - Your production HMACKey is stored outside your code repository.
- Your production API key is stored outside your code repository.

