Domain Verification Guide
This guide explains how to verify your domain with ZoPay for production API access. Domain verification is required to ensure that API requests are coming from authorized domains.
Understanding Domain Verification
Why Domain Verification?
Domain verification ensures that:
- Only authorized domains can make API requests to ZoPay
- Prevents unauthorized third parties from using your API keys
- Provides an additional layer of security for production environments
How It Works
- Add your domain in the ZoPay dashboard
- Get a verification token (unique string)
- Add a DNS TXT record to your domain's DNS settings
- Test the DNS record using online tools (recommended)
- Click "Verify Domain" - ZoPay checks if the TXT record exists
- Domain is verified - You can now use the domain in API requests
Do I Need to Wait 15-30 Minutes?
Short Answer
You can click "Verify Domain" immediately after adding the TXT record, but DNS propagation may take 15-30 minutes (or sometimes longer). If you click verify too soon, it will fail with a helpful error message, and you can try again later.
Detailed Explanation
DNS Propagation
- When you add a TXT record to your DNS, it doesn't appear instantly worldwide
- DNS servers around the world need to update their records (this is "propagation")
- Typically takes 15-30 minutes, but can take up to 48 hours in rare cases
- Different DNS servers may see the record at different times
ZoPay's Verification Process
- When you click "Verify Domain", ZoPay immediately performs a DNS lookup
- It uses Google DNS (8.8.8.8) for reliability
- It checks for the TXT record
_zopay.yourdomain.com - If the record is found and matches your token, verification succeeds
- If not found, you'll get an error message and can try again later
Best Practice
- Add the TXT record to your DNS settings
- Test the DNS record using online tools (see below)
- Wait 15-30 minutes for DNS propagation
- Click "Verify Domain" - it should succeed
- If it fails, wait a bit longer and try again
Tip: You can try verifying multiple times - it won't hurt anything, and once the DNS propagates, it will succeed.
Testing DNS Records Before Verification
Before clicking "Verify Domain", you should test if your DNS record is visible using DNS lookup tools. This helps you avoid unnecessary verification attempts.
Using Command Line Tools
Using dig (Linux/Mac)
1dig TXT _zopay.yourdomain.com @8.8.8.8Using nslookup (Windows)
1nslookup -type=TXT _zopay.yourdomain.com 8.8.8.8Expected Output
If the DNS record is visible, you should see output like:
1_zopay.yourdomain.com. 3600 IN TXT "0dea454d6af1a00004168147aa683ab6"If you see your verification token in the output, the DNS record is visible and you can click "Verify Domain".
Using Online DNS Tools
You can also use online DNS lookup tools to check if your record is visible:
- DNS Checker: https://dnschecker.org/
- Enter:
_zopay.yourdomain.com - Select "TXT" record type
- Shows propagation status across multiple DNS servers worldwide
- Enter:
- MXToolbox: https://mxtoolbox.com/TXTLookup.aspx
- Enter:
_zopay.yourdomain.com - Shows TXT records for your domain
- Enter:
- Google DNS: https://dns.google/query
- Enter:
_zopay.yourdomain.com - Select "TXT" type
- Enter:
Recommended Workflow:
- Add the TXT record to your DNS provider
- Wait 5-10 minutes
- Test using one of the tools above
- If the record is visible, click "Verify Domain"
- If not visible, wait longer and test again
Domain Verification for Vercel-Hosted Sites
Important: Vercel Preview Domains Cannot Be Verified
You CANNOT verify Vercel preview domains (like your-app.vercel.app or eccomerce-test-drab.vercel.app). Vercel doesn't allow you to add custom DNS TXT records to their preview domains. You must use a custom domain.
Solution: Use a Custom Domain
To verify a domain for a Vercel-hosted site, you must:
- Use your own custom domain (e.g.,
api.yourstore.com,yourstore.com) - Add the domain to Vercel (in Vercel dashboard → Settings → Domains)
- Add the TXT record to your domain's DNS provider (not Vercel)
- Wait for DNS propagation
- Verify in ZoPay
Step-by-Step: Verifying a Custom Domain on Vercel
Step 1: Add Custom Domain to Vercel
- Go to your Vercel project dashboard
- Navigate to Settings → Domains
- Click Add Domain
- Enter your custom domain (e.g.,
api.yourstore.com) - Follow Vercel's instructions to configure DNS
Note: Vercel will provide DNS records to add (usually an A record or CNAME record pointing to Vercel). Add these to your domain's DNS provider (e.g., Namecheap, GoDaddy, Cloudflare), not in Vercel.
Step 2: Get Verification Token from ZoPay
- Log in to ZoPay dashboard
- Go to Settings → Domains
- Click Add Domain
- Enter your custom domain (e.g.,
api.yourstore.com) - Copy the verification token shown
Example:
1Verification Token: 0dea454d6af1a00004168147aa683ab6Step 3: Add TXT Record to Your Domain's DNS
Important: Add the TXT record to your domain's DNS provider (the same place where you manage your domain's DNS), NOT in Vercel.
TXT Record Details
| Field | Value |
|---|---|
| Type | TXT |
| Name/Host | _zopay |
| Value | 0dea454d6af1a00004168147aa683ab6 (your verification token) |
| TTL | 3600 (or default) |
Full DNS Record Name: The complete DNS record will be: _zopay.api.yourstore.com
Step 4: Wait for DNS Propagation
- Wait 15-30 minutes for DNS propagation
- You can check if the record is visible using online DNS lookup tools:
- https://dnschecker.org/ - Enter:
_zopay.api.yourstore.com - https://mxtoolbox.com/TXTLookup.aspx - Enter:
_zopay.api.yourstore.com
- https://dnschecker.org/ - Enter:
Step 5: Test DNS Record (Recommended)
Before clicking "Verify Domain", test if your DNS record is visible:
1# Using dig (Linux/Mac)
2dig TXT _zopay.api.yourstore.com @8.8.8.8
3
4# Using nslookup (Windows)
5nslookup -type=TXT _zopay.api.yourstore.com 8.8.8.8If you see your verification token in the output, the DNS record is visible and you can proceed to verification.
Step 6: Verify Domain in ZoPay
- Go back to ZoPay dashboard
- Find your domain in the list
- Click "Verify Domain" button
- If successful, the domain will show as "Verified"
- If it fails, wait a bit longer and try again
Common DNS Providers: Where to Add TXT Records
Namecheap
- Log in to Namecheap
- Go to Domain List
- Click Manage next to your domain
- Go to Advanced DNS tab
- Click Add New Record
- Select TXT Record
- Enter:
- Host:
_zopay - Value:
your-verification-token - TTL: Automatic (or 3600)
- Host:
- Click Save
GoDaddy
- Log in to GoDaddy
- Go to My Products
- Click DNS next to your domain
- Scroll to Records section
- Click Add → TXT
- Enter:
- Name:
_zopay - Value:
your-verification-token - TTL: 1 Hour (or 3600)
- Name:
- Click Save
Cloudflare
- Log in to Cloudflare
- Select your domain
- Go to DNS → Records
- Click Add record
- Enter:
- Type: TXT
- Name:
_zopay - Content:
your-verification-token - TTL: Auto (or 3600)
- Click Save
Google Domains
- Log in to Google Domains
- Select your domain
- Go to DNS tab
- Scroll to Custom resource records
- Click Add custom record
- Enter:
- Name:
_zopay - Type: TXT
- Data:
your-verification-token - TTL: 3600
- Name:
- Click Add
AWS Route 53
- Log in to AWS Console
- Go to Route 53 → Hosted zones
- Select your domain
- Click Create record
- Enter:
- Record name:
_zopay - Record type: TXT
- Value:
your-verification-token - TTL: 3600
- Record name:
- Click Create records
Troubleshooting
"DNS TXT record not found" Error
Possible Causes:
- DNS hasn't propagated yet - Wait 15-30 minutes and try again
- TXT record not added correctly - Double-check the record in your DNS provider
- Wrong record name - Must be exactly
_zopay(notzopayor_zopay.) - Wrong domain - Ensure you're adding the record for the exact domain you registered
Solutions:
- Check DNS propagation:
1# Using dig (Linux/Mac) 2dig TXT _zopay.yourdomain.com 3 4# Using nslookup (Windows) 5nslookup -type=TXT _zopay.yourdomain.com - Verify record in DNS provider:
- Log in to your DNS provider
- Check that the TXT record exists
- Verify the name is exactly
_zopay - Verify the value matches your verification token exactly
- Wait longer:
- DNS propagation can take up to 48 hours in rare cases
- Try again after waiting
"DNS lookup timeout" Error
Possible Causes:
- DNS server issues - Temporary DNS server problems
- Network connectivity issues
Solutions:
- Try again - Usually resolves itself
- Check your domain's DNS settings - Ensure DNS is configured correctly
- Contact support if the issue persists
Vercel Domain Verification Issues
Problem: Can't verify *.vercel.app domain
Solution:
- You cannot verify Vercel preview domains
- You must use a custom domain
- Add your custom domain to Vercel first
- Then add the TXT record to your domain's DNS provider (not Vercel)
Quick Reference
TXT Record Format
1Type: TXT
2Name: _zopay
3Value: [your-verification-token]
4TTL: 3600 (or default)Full DNS Record Name
1_zopay.yourdomain.comVerification Steps
- ✅ Add domain in ZoPay dashboard
- ✅ Copy verification token
- ✅ Add TXT record to your DNS provider
- ✅ Test DNS record using online tools (recommended)
- ✅ Wait 15-30 minutes for propagation
- ✅ Click "Verify Domain" in ZoPay
- ✅ Domain is verified!
FAQ
Q: Can I verify a Vercel preview domain (e.g., `app.vercel.app`)?
A: No. Vercel preview domains cannot be verified because you don't have DNS control. You must use a custom domain.
Q: How long do I need to wait after adding the TXT record?
A: Typically 15-30 minutes, but can take up to 48 hours. You can try verifying immediately, but it may fail until DNS propagates. We recommend testing the DNS record first using online tools before clicking verify.
Q: Can I click "Verify Domain" multiple times?
A: Yes! It's safe to retry. Once DNS propagates, verification will succeed.
Q: Where do I add the TXT record for a Vercel site?
A: Add it to your domain's DNS provider (where you registered the domain), NOT in Vercel. Vercel only handles A/CNAME records for routing.
Q: What if verification keeps failing?
A:
- Check that the TXT record exists in your DNS provider
- Verify the record name is exactly
_zopay - Verify the value matches your token exactly
- Test DNS propagation using online tools (dnschecker.org, mxtoolbox.com)
- Wait longer (up to 48 hours)
- Contact ZoPay support if still failing
Q: Should I test the DNS record before clicking verify?
A: Yes, highly recommended! Use online tools like dnschecker.org or command-line tools to verify the record is visible before clicking "Verify Domain". This saves time and avoids unnecessary verification attempts.
Next Steps
- Learn about Gateway Configuration
- View Using the API guide
- Check the FAQ for more answers