Evoxup Support — Help, Documentation & Assistance
:root{
--bg:#fff;--soft:#f5f8ff;--soft2:#eef3ff;--ink:#0a1222;--muted:#5d6b82;
--line:#dce5f5;--blue:#1769ff;--blue2:#0e48bd;--blue3:#0b2c71;--crimson:#d7263d;
--dark:#07111f;--dark2:#0c1930;--green:#16834c;--gold:#a06b00;
--radius:22px;--shadow:0 18px 50px rgba(20,62,125,.10)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}
a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}
h1,h2,h3{line-height:1.12;margin:0 0 18px}
h1{font-size:clamp(3rem,6vw,5.8rem);letter-spacing:-.055em}
h2{font-size:clamp(2rem,4vw,3.8rem);letter-spacing:-.045em}
h3{font-size:1.2rem}
p{margin:0 0 18px;color:var(--muted)}
.lead{font-size:clamp(1.08rem,1.6vw,1.3rem);max-width:800px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--crimson);border-radius:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;font-weight:800;border:1px solid transparent;transition:.2s}
.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#fff;border-color:var(--line)}.btn.dark{background:var(--dark);color:#fff}
.btn:hover{transform:translateY(-2px)}
.badge{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.7rem;font-weight:850;background:#eaf1ff;color:var(--blue2)}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,229,245,.8)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900}
.brandmark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,var(--blue),var(--blue3));position:relative}
.brandmark:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--crimson);right:-3px;bottom:4px;border:3px solid white}
.navlinks{display:flex;gap:24px;font-weight:700;font-size:.93rem;color:#30405a}
.navlinks a.active,.navlinks a:hover{color:var(--blue)}
.navright{display:flex;gap:10px;align-items:center}
.hero{padding:98px 0 70px;position:relative;overflow:hidden;background:
radial-gradient(circle at 88% 12%,rgba(23,105,255,.14),transparent 28%),
radial-gradient(circle at 8% 22%,rgba(215,38,61,.07),transparent 18%),
linear-gradient(180deg,#fff,#f8fbff)}
.hero:before{content:"";position:absolute;inset:0;opacity:.22;background-image:linear-gradient(#dce5f5 1px,transparent 1px),linear-gradient(90deg,#dce5f5 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 72%)}
.hero-inner{position:relative;max-width:920px}
.searchbox{margin-top:28px;display:flex;gap:10px;padding:9px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);max-width:760px}
.searchbox input{flex:1;border:0;outline:0;font:inherit;padding:0 12px;color:var(--ink);min-height:48px}
.quicklinks{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
.quicklinks a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#4b5c75;font-size:.82rem;font-weight:750}
section{padding:90px 0}.soft{background:var(--soft)}.dark{background:linear-gradient(135deg,#07111f,#0a1d3b);color:#fff}
.dark h2,.dark h3{color:#fff}.dark p{color:#aabbd4}
.section-head{max-width:850px;margin-bottom:42px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 26px rgba(28,64,117,.04)}
.icon{width:46px;height:46px;border-radius:14px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:18px}
.card .btn{margin-top:8px}
.supportgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.supportcard{padding:30px;border-radius:24px;border:1px solid var(--line);background:#fff;position:relative;overflow:hidden}
.supportcard.pro{border:2px solid var(--blue);box-shadow:var(--shadow)}
.supportcard.community:before,.supportcard.pro:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-55px;top:-55px;background:rgba(23,105,255,.06)}
.supportcard ul{padding-left:18px;color:#56667e}.supportcard li{margin:8px 0}
.statusbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.statusleft{display:flex;align-items:center;gap:12px}
.statusdot{width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(22,131,76,.10)}
.troubles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.trouble{padding:23px;border:1px solid var(--line);border-radius:18px;background:#fff}
.trouble h3{font-size:1.05rem}
.darkcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.darkcard{padding:22px;border-radius:18px;background:#0c1b32;border:1px solid #1c3152}
.formwrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.formbox{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-size:.82rem;font-weight:850;color:#35465f;margin-bottom:7px}
input,select,textarea{
width:100%;
border:1px solid var(--line);
border-radius:11px;
padding:14px 16px;
min-height:58px;
font:inherit;
font-size:1rem;
line-height:1.45;
color:var(--ink);
background:#fff;
outline:none;
box-sizing:border-box;
vertical-align:middle;
-webkit-appearance:none;
appearance:none
}
input::placeholder,textarea::placeholder{color:#7b889a;opacity:1}
select{
padding-right:46px;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat:no-repeat;
background-position:right 14px center;
background-size:18px 18px
}
textarea{
min-height:170px;
resize:vertical;
padding-top:15px;
padding-bottom:15px
}
input:focus,select:focus,textarea:focus{
border-color:#3b82f6;
box-shadow:0 0 0 3px rgba(59,130,246,.10)
}
.field{margin-bottom:14px}
.notice{padding:16px 18px;border-left:4px solid var(--blue);background:#f1f6ff;border-radius:10px;color:#42536d;margin:18px 0}
.form-status{display:none;margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.92rem;font-weight:700}
.form-status.show{display:block}
.form-status.success{background:#ecf9f1;color:#116b40;border:1px solid #bfe8cf}
.form-status.error{background:#fff0f1;color:#a91e31;border:1px solid #f0c2c9}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.faq details{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px 20px;margin-bottom:11px}
.faq summary{cursor:pointer;font-weight:850}.faq details p{margin:12px 0 0}
.cta{padding:86px 0;background:radial-gradient(circle at 20% 20%,rgba(23,105,255,.22),transparent 30%),linear-gradient(135deg,#07111f,#102a5a);color:#fff}
.cta h2{color:#fff}.cta p{color:#b9c9e1}.actions{display:flex;gap:12px;flex-wrap:wrap}
footer{background:#050b14;color:#a6b5ca;padding:55px 0 26px}
.footgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px}
footer h4{color:#fff;margin:0 0 13px}footer a{display:block;margin:8px 0;font-size:.9rem}
.footnote{border-top:1px solid #172238;margin-top:34px;padding-top:20px;font-size:.82rem;color:#73839d}
@media(max-width:980px){
.navlinks{display:none}.grid3,.troubles{grid-template-columns:repeat(2,1fr)}.grid2,.supportgrid,.formwrap{grid-template-columns:1fr}
.darkcards{grid-template-columns:repeat(2,1fr)}.footgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
.container{width:min(100% - 26px,1180px)}h1{font-size:3.05rem}section{padding:70px 0}
.grid3,.troubles,.darkcards,.formrow{grid-template-columns:1fr}.footgrid{grid-template-columns:1fr}.navright a:first-child{display:none}
.searchbox{flex-direction:column}.statusbar{flex-direction:column;align-items:flex-start}
}
img,svg{display:block;max-width:100%}
.brand-mark svg{width:23px;height:23px;color:#fff}
.brand-mark{
width:38px;height:38px;border-radius:12px;
background:linear-gradient(145deg,var(--blue),var(--teal));
display:grid;place-items:center;box-shadow:0 8px 24px rgba(18,84,244,.24);
}
Evoxup Support
Find the Answer. Fix the Issue. Keep Moving.
Start with documentation and troubleshooting, then choose community or premium support when you need direct assistance.
Search
Start Here
Most Questions Should Be Solved Before Opening a Ticket.
Use the fastest path first: documentation, troubleshooting, then direct support if the issue still needs help.
D
Documentation
Installation, memberships, licensing, integrations, Product Mapping, Product Sync, Provider Profiles and developer references.
Browse Documentation
?
Troubleshooting
Start with the symptom and follow targeted checks for webhooks, mapping, licenses, credentials and provider connections.
Troubleshoot an Issue
S
Direct Support
If the problem cannot be solved through documentation, choose the support channel that matches your Evoxup access level.
View Support Options
Support Options
Community Support or Direct Evoxup Assistance.
Keep support channels clear so free users know where to ask questions and paid users know when direct support is available.
PRO / SUPER
Premium Evoxup Support
Use direct Evoxup support for commercial workflows, premium extensions and account-specific issues covered by your entitlement.
Premium extension support
Advanced integration issues
Commercial workflow assistance
Account and entitlement questions
Open Premium Support
Service Health
Check the Platform Before Troubleshooting Locally.
All Evoxup services operational
Repository, Marketplace and update services can be represented here when live status monitoring is available.
View System Status
Troubleshooting
Start With What You See.
Good support begins with the symptom. These common paths point administrators toward the most likely area of the workflow.
Webhook Received but Nothing Happened Check verification result, external product identity, mapping route and duplicate status before reviewing fulfillment.
Open guide →
Product Is Not Mapped Confirm the provider product ID and verify an active Product Mapping route exists for the intended EVO Product or plan.
Open guide →
License Verification Failed Review key status, product policy, site/domain values and any server requirements expected by the license policy.
Open guide →
Provider Products Are Missing Check API credentials, provider connection status, discovery capability and the latest Product Sync result.
Open guide →
Duplicate Transaction Confirm whether the transaction was already processed. Duplicate protection should prevent repeated fulfillment.
Open guide →
Saved Credential Is Not Visible Stored secrets should remain hidden. Use Replace Credential instead of expecting the current value to be shown again.
Open guide →
Before You Contact Support
Send the Information That Helps Solve the Issue.
A useful support request should describe the workflow, not only the visible error message.
1. Describe the Action What were you trying to do — connect a provider, map a product, verify a license or process a sale?
2. Include the Result Provide the exact visible error, status or unexpected outcome.
3. Include Environment WordPress version, Evoxup version and relevant extension/provider profile versions.
4. Include Safe Diagnostics Share logs or screenshots when useful, but never publish API keys, signing secrets or license credentials.
Support FAQ
Before You Open a Request.
Where should FREE users ask for support?
Use the WordPress.org community support channel for questions about the public free edition, while Evoxup documentation remains the first reference point.
Where should PRO or SUPER users ask for help?
Use the direct Evoxup premium support channel for issues covered by the active commercial entitlement, especially premium extensions and advanced workflows.
Should I send my API key or webhook secret to support?
No. Do not send secrets in public tickets, screenshots or forum posts. Support should ask for safe diagnostics rather than raw private credentials.
How do I report a reproducible bug?
Include the affected Evoxup area, versions, exact steps, expected result, actual result and safe logs or screenshots when useful.
Can I request a new provider integration?
Yes. Describe the provider, its webhook/API capabilities and the actual business workflow you need. Evoxup's provider-neutral architecture is designed to support additional providers without making the platform depend on a fixed provider list.
Need Help?
Start With Documentation. Escalate Only When You Need To.
Use the fastest support path for your issue and keep sensitive credentials private.
(function(){
const endpoint = window.EVOXUP_SUPPORT_ENDPOINT || '/wp-json/evoxup-support/v1/submit';
function setStatus(form, kind, message){
const box = form.querySelector('.form-status');
box.className = 'form-status show ' + kind;
box.textContent = message;
}
document.querySelectorAll('.evoxup-support-form').forEach(function(form){
form.addEventListener('submit', async function(e){
e.preventDefault();
if(!form.checkValidity()){
form.reportValidity();
return;
}
const button = form.querySelector('button[type="submit"]');
const original = button.textContent;
button.disabled = true;
button.textContent = 'Sending...';
const data = Object.fromEntries(new FormData(form).entries());
data.type = form.dataset.type || 'support';
try{
const res = await fetch(endpoint, {
method:'POST',
headers:{'Content-Type':'application/json','Accept':'application/json'},
credentials:'same-origin',
body:JSON.stringify(data)
});
let payload = {};
try { payload = await res.json(); } catch (_) {}
if(!res.ok || !payload.success){
throw new Error(payload.message || 'The request could not be sent.');
}
form.reset();
setStatus(form,'success',payload.message || 'Thank you. Your request was sent successfully.');
}catch(err){
setStatus(form,'error',err.message || 'The request could not be sent. Please try again.');
}finally{
button.disabled = false;
button.textContent = original;
}
});
});
})();