
外掛標籤
開發者團隊
原文外掛簡介
Want more sales without a bigger ad budget? FlyAffiliate gives every affiliate a referral link and a dashboard, and gives you a commission ledger that knows the difference between money earned, money owed and money paid.
FlyAffiliate is a standalone affiliate-marketing plugin for WordPress that integrates with the platforms you sell on, WooCommerce first, made by weDevs — the team behind Dokan, WP User Frontend and weMail. It runs an affiliate programme the way a store owner actually runs one: someone applies, you approve them, they share a link, orders come in, commissions mature once the order has settled, and you pay people in batches through whatever channel you already use.
Everything happens on your own site. FlyAffiliate sends nothing anywhere unless you choose to share usage data, and stores nothing that identifies a visitor: a visit keeps only a salted hash of the IP address and user agent (see Privacy below).
How it works
An affiliate joins. Through the registration form on your site (email-only signup with a one-time activation link) or because you added them from the admin. Every affiliate is a WordPress user with the Affiliate role.
They share their link. Each affiliate gets a referral link; add ?affiliate=ID to any product URL to send visitors straight to it. A visit is recorded and a first-party cookie remembers who sent them.
An order comes in. FlyAffiliate creates one pending commission per order item, at the product’s rate or your default rate, clamped to the maximum you allow.
The commission follows the order. It becomes unpaid the moment the order is paid; an order that fails, is cancelled or (optionally) refunded rejects it; an order that recovers puts it back.
You pay in batches. A payout turns every unpaid commission into one payment per affiliate. Send the money your way, mark each payment paid, export the batch as CSV.
For store owners
Per-item commissions, not per order — a mixed cart pays the right amount on the right products.
A rate hierarchy: product → default, clamped to a maximum, with shipping and tax excluded unless you say otherwise.
A hold period that keeps an unpaid commission out of payouts until enough time has passed to be sure the order stays paid.
Commission statuses that follow the order, as in the affiliate tools you may already know: pending, unpaid, paid, rejected.
Two-step payouts: create a payout, send the money, mark it paid. A commission inside a payment is never deleted or moved by an order; you can still correct it, and an unpaid payment follows.
Hand-entered commissions for bonuses, corrections and offline sales, with the same fields you would expect: affiliate, amount, reference, origin, date, type and status.
Admin screens for affiliates, commissions, visits, payouts and settings, plus a dashboard with the figures that matter and a notice when an application is waiting.
A setup wizard that asks for the three numbers a programme needs: default rate, maximum rate, hold period.
For affiliates
A frontend dashboard ([flyaffiliate_dashboard]) with their referral link, balance, commissions, visits and payouts.
A registration form ([flyaffiliate_register]) that needs only an email address.
Self-referral protection, so nobody earns a commission on their own order — unless you allow it.
Built to be extended
FlyAffiliate mirrors the architecture of Dokan: a dependency-injection container, service providers, manager classes, overridable templates, a REST API under flyaffiliate/v1 for every resource, and flyaffiliate_ hooks throughout. The admin and the affiliate dashboard are React applications on weDevs’ plugin UI kit. A Dokan integration — where the vendor, not the marketplace, funds the commission — is in development.
Privacy
FlyAffiliate stores no personal data about a visitor. A visit record keeps a hashed IP address and a hashed user agent — salted with your site’s own key, not reversible, and not portable to another site.
Attribution uses one first-party cookie, flyaffiliate_ref, which holds two numbers: the affiliate id and the visit id. It is HttpOnly, it is never shared with anyone, and its lifetime is the attribution window you configure — 30 days by default.
Usage data (Appsero)
FlyAffiliate uses the Appsero SDK to collect usage data, only once you allow it. This helps us troubleshoot problems faster and make product improvements.
The SDK sends nothing by default. It starts only when an administrator turns on Share Essentials in the setup wizard or clicks Allow on its admin notice. From then on it sends, once a week, to Appsero (api.appsero.com): your site’s name and URL, the first administrator’s name and the site’s admin email address, the server environment (PHP, MySQL, server and WordPress versions, memory limit, debug mode), the site language, the active theme, the number of users per role and of active and inactive plugins, how many affiliates and commissions you have, whether FlyAffiliate Pro is active, and the WooCommerce and FlyAffiliate versions. Nothing about your affiliates or your visitors is sent. To include the server’s public IP address, the SDK first asks icanhazip.com, a service run by Cloudflare (privacy policy).
Choosing No thanks, or leaving Share Essentials off, tells Appsero only that this site declined. When you deactivate the plugin, a form asks why: Submit & Deactivate sends your answer with the data above, Skip & Deactivate sends nothing.
Learn more about how Appsero collects and uses this data.
Contribute
FlyAffiliate is developed in the open on GitHub. Bug reports, pull requests and ideas are welcome there.
The JavaScript and CSS shipped in assets/ are compiled from the TypeScript and SCSS sources under src/ in that repository; npm run build reproduces them.
