This page applies to OAuth apps published in Zid App Market. Private apps are not listed in the market and do not go through review.
| Field | Requirement |
|---|---|
| Company name (Arabic) | Required |
| Company name (English) | Required |
| Commercial Registration Number | Required — Saudi CR numbers must be exactly 10 digits |
| CR Certificate | Required — PDF, JPG or PNG, up to 5 MB |
| Is your company VAT-registered? | Required for companies resident in Saudi Arabia |
| VAT Registration Number | If VAT-registered — 15 digits, starting and ending with 3 |
| VAT Certificate | PDF, JPG or PNG, up to 5 MB |
| Country, City | Required |
| Address Line 1, Building Number, District | Required |
| Postal Code | Required — 5 digits |
| Address line 2 | Optional |
| Work field, Customer count | Optional |
| Field | Requirement |
|---|---|
| ID document | Required — PDF, JPG or PNG, up to 5 MB |
| Freelancer document | Optional |
| Country, City | Required |
| Address fields | Optional |
Document verification is separate from review. Your documents carry a verification state shown at the top of the Partnership page. Until finance verifies them, payouts cannot be settled — but an unverified state does not block you from submitting an app.
| Field | Requirement |
|---|---|
| Partnership Officer — Full Name (Arabic) | Required |
| Partnership Officer — Full Name (English) | Required |
| Partnership Officer — Email Address | Required |
| Partnership Officer — Mobile Number | Required — format +966 5X XXX XXXX |
| Add a Financial Officer | Optional toggle — a separate person who receives financial correspondence |
/partner/{id}/bank-account| Field | Requirement |
|---|---|
| Bank name | Required |
| Account holder name | Required |
| Country | Required — detected from your IBAN if you leave it blank |
| IBAN | Required if your country uses IBAN. Letters and digits only, validated |
| SWIFT / BIC code | Always required — 8 or 11 characters, letters and digits only |
| Account number | Shown instead of IBAN if your country does not use IBAN — 4 to 17 characters |
| Routing number | Required for US banks |
| Tax document | PDF, PNG or JPEG, up to 5 MB |
Your VAT answer and your tax document must agree. You declare whether you are VAT-registered in Partnership → Business Details, while the certificate is uploaded on the Bank account page, where the field is labelled optional. Reviewers compare the two, and a mismatch is one of the most common finance queries we raise.
| Public app | Published to Zid App Market. Merchants discover, install and rate it. Requires review before going live |
| Private app | Offered to a single merchant store by invitation. Not reviewed, not listed |
| Field | Requirement |
|---|---|
| App name (Arabic) | Required — 3 to 24 characters, must contain Arabic, unique across the market |
| App name (English) | Required — 3 to 24 characters, must not contain Arabic, unique across the market |
| Category | Required |
| Tags | Optional |
Briefly explain (50–200 characters) why your app needs the selected scopes — reviewers use this to validate the request.
| Field | Requirement |
|---|---|
| App name (Arabic / English) | As above |
| Developer name (Arabic) | Required — Arabic letters and spaces only |
| Developer name (English) | Required — Latin letters, spaces and hyphens only |
| App URL | Required — must start with https:// |
| Video URL | Optional — public YouTube link only, other providers are not supported |
| Category, Tags | Category required |
| Field | Requirement |
|---|---|
| Application website | Optional — your public marketing site, if different from the App URL |
| Redirection URL | Required — where Zid sends merchants after install to start the OAuth flow |
| Callback URL | Required — where Zid returns the OAuth code after the merchant authorizes your app |
| Maintainer email | Required — reviewers and Zid support reach you here |
| Field | Requirement |
|---|---|
| Phone number | Required if no support channel URL |
| Support channel URL | Required if no phone number — WhatsApp, Telegram or a support portal are all accepted |
| FAQ URL | Optional |
| Privacy policy URL | Required for review |
A WhatsApp or Telegram link is accepted as your support channel, but not as your privacy policy, which must be a published policy page.
| Field | Limit |
|---|---|
| Short description (Arabic / English) | 100 characters each |
| Description (Arabic / English) | 4,000 characters each |
| Screenshots (Arabic) | Required. You cannot save your listing without at least one |
| Screenshots (English) | Optional — shown to merchants viewing your listing in English |
This installation is required, and we check it first. Our review is hands-on: a reviewer opens your app on a store and uses it as a merchant would, and the installation is what makes this possible. Without one we cannot begin, so we return the app for you to install first. This is not a judgment about your app or your work. It means only that the review has not started, so we have no findings to share yet. Once your app is installed, we review it in full. Your app needs at least one installation. The full set of tests to run while you are there is on Test your app before you submit.
When you're ready, send this app to our reviewers. They will check the listing details, scopes, and webhooks before publishing it to the App Market.
| State | Meaning |
|---|---|
| Draft | Not yet submitted. Only you can see it |
| Request to publish | Submitted, waiting for review |
| Published | Live in the market |
| Rejected | Not approved. Zid sends you the reason |
| Unpublished | Was live, now withdrawn |
-test hostname is not accepted.Your pricing must match what you charge everywhere else. If your app is sold on other platforms, or priced on your own website, your Zid plans must match that pricing. A different price on Zid is not accepted.
| Flow | What to do instead |
|---|---|
| Signup or login before OAuth — the merchant reaches your registration form before they ever see Zid's consent screen | Start OAuth immediately, then link the account after the callback |
| Generic homepage or manual discovery — the merchant lands on your marketing site or settings area and has to search for the Zid integration | Open OAuth directly, or your approved dedicated setup journey |
| Manual credentials or manual store identification — asking the merchant to paste tokens, API keys, client secrets, a Store ID or a store URL | Identify the store automatically through OAuth and exchange the code on your server |
error_code. Treat an activation that begins without a callback as an expected outcome, and confirm that a retry does not create a duplicate connection.code_challenge and code_verifier are ignored, so your protection against request forgery is the state parameter — generated per request, bound to the session, and validated before you accept the callback.Before any of these: your app must be installed on a development store. Without an installation we cannot begin the review, so none of the points below are assessed. It is the one requirement that must be met before the rest can be considered.