Start selling in seven steps
This guide covers only what’s specific to VEFmusic Pro (sales, donations, license). For getting started with tracks, albums, shows and the base style, see the VEFmusic guide.
-
Activate your license
About › Licenses and versions
Enter your key to activate VEFmusic Pro on this site and receive the updates.
-
Set up your payment
Sales › Payment
Enter your PayPal and/or Stripe credentials. Stay in “Test (sandbox)” mode while you try things out.
-
Check your seller details
Sales › Invoicing
Check the identity, the VAT and the withdrawal texts your customers will see. The identity itself is entered in Settings › General.
-
Put prices on your tracks and albums
Products › Tracks
Enter a price on a track or an album. For a track, choose “Preview only” or “Buyers only” so that the full track unlocks after purchase.
-
Add the Cart to a page
In your page editor
Place the Cart block once, on a page of its own (for example “Cart”). It shows the consent checkbox and the payment buttons.
-
Try a test purchase
On your site
In test mode, a “Pay (test)” button appears in the Cart: go through a real purchase, down to the confirmation email, without paying anything.
-
Go live
Sales › Payment
Switch to Live mode once everything looks right, then follow your first orders in Completed sales.
Go further
Donations
Accept free donations with the Donate block, independent from the cart.
Promo codes
Create discount codes, with a usage limit and an expiry date.
Merch and Printful
Sell physical merch with shipping zones, or print-on-demand with Printful.
Ticket Control
Sell tickets with QR codes, zones and numbered seats, and check them at the door.
Preorders
Run a preorder or crowdfunding campaign, with optional funding tiers.
Statistics
Sales by product, accounting export and revenue split between the band members.
Customers
Find a customer, and anonymize or delete their data when asked.
Press kit (Pro)
A contact form, statistics, limited links and a press contact list for your press kit.
Reference
The full detail of every feature. Click a title to open its section.
- Sales: payment, invoicing, testing risk-free
- Donations
- Promo codes
- Press kit (Pro)
- The Cart and Donate blocks
- Visual customization of the cart/donations
- Merch, shipping and Printful
- Internal ticketing
- Preorders
- Statistics, accounting export and revenue split
- Customer accounts and "My Account"
- License and updates
Sales
Enable sales on a track or album
Enter a price on the Track or Album page (a field already present even without VEFmusic Pro, but with no effect until it's installed and active). For a track, choose the "Preview only" or "Buyers only" listening mode — full playback will then only unlock after purchase.
The price entered on an album is the price of its digital download. A vinyl or any other physical edition is a separate product: create it in VEFmusic > Products > Merch and show it with the Shop block, next to the Album block. Both can be bought in the same cart (consent boxes for the download, shipping address for the vinyl).
Album downloads (zip)
When someone buys an album, the confirmation email shows the album cover, then a download link for the whole album as a zip, and the tracks one by one in the order of the album.
Two zips are offered when possible. MP3: the MP3 version of each track, tagged with the title, artist, album, track number, year, genre and cover entered in VEFmusic. Lossless: your WAV or FLAC master files, as uploaded. Each zip contains a folder with the numbered tracks and the cover file. The lossless zip is only offered when every track has a WAV or FLAC master.
The zips are built automatically in the background, a few minutes after any change to an album or to one of its tracks. VEFmusic > Products > Downloads shows what each album will deliver, why a zip is not available, and lets you rebuild it. If a buyer arrives before a zip is ready, the email says so and the buyer can request it again from “My account” a few minutes later. Each link works for one week and for a limited number of downloads (VEFmusic > Sales > Invoicing); an interrupted download can be resumed without using another download.
The lyrics entered on each track can also be added to the MP3 files: tick “Include the lyrics in the MP3 files” in VEFmusic > Products > Downloads (off by default). Many music players then show them while the track plays. The zips are rebuilt when a lyric changes.
The MP3 files that VEFmusic generates from your master files are encoded at 320 kbps. Tracks converted with an earlier version keep their quality until you upload their master file again. Each album is stored twice on the server (the files, then the zips).
Payment (PayPal / Stripe)
Enter your PayPal and/or Stripe credentials in VEFmusic > Sales > Payment (one tab for each, with a check mark on the one whose keys are filled in). Always test first in "Test (sandbox)" mode before switching to Live mode. Once an order is paid, the buyer automatically receives an email with their invoice and download links (never online playback — the link forces the file to be saved).
Set up PayPal, step by step
- Open the PayPal Developer Dashboard (developer.paypal.com) and sign in with your PayPal account. Use the switch at the top to choose Sandbox for tests, or Live for real payments.
- Go to Apps & Credentials and select Create App (or open an existing app). Give it a name, set the Type to Merchant and, in Sandbox, choose the sandbox business account PayPal created for you.
- On the app page, copy the Client ID and the Client Secret. Paste them in VEFmusic > Sales > Payment, in the fields of the PayPal tab that match the environment you chose (Live or Sandbox).
- Still on the app page, open the Webhooks section and select Add Webhook. Paste the Webhook URL shown at the top of the PayPal tab of the Payment screen (use its Copy button).
- Tick the events “Checkout order approved” and “Payment capture completed”, then save.
- PayPal now shows a Webhook ID. Paste it in the matching Webhook ID field of the Payment screen, then save the settings.
- To test, choose “Test (sandbox)” in the Mode list and pay in the Cart block with a sandbox personal account (PayPal created one for you; you can add more in the Developer Dashboard). The order then appears in VEFmusic > Sales > Completed sales.
The webhook is a safety net: it confirms an order even if the buyer closes the page right after paying. Fill in the Webhook ID of the mode you use, otherwise PayPal’s notifications are refused.
Set up Stripe, step by step
- Open the Stripe Dashboard and sign in. For tests, use a sandbox: click the account picker (top left) > Switch to sandbox, then pick a sandbox or choose Create sandbox. (Older accounts may still show a “Test mode” switch instead.) For real payments, stay in your live account.
- In that environment, open Developers (bottom left of the Dashboard) and go to API keys. Copy the Publishable key (pk_…), reveal and copy the Secret key (sk_…), and paste them in VEFmusic > Sales > Payment, in the fields of the Stripe tab that match (Test for a sandbox, Live for your live account). Use a standard secret key, not a restricted one.
- Still in Developers (Workbench), open the Webhooks tab and select Add destination (also called Create an event destination).
- Choose Your account, select the event “checkout.session.completed”, then select Continue. Choose Webhook endpoint as the destination type and select Continue.
- Give the destination a name, paste the Webhook URL shown at the top of the Stripe tab of the Payment screen (use its Copy button) in the Endpoint URL field, then select Create destination.
- Open the destination you just created and reveal its Signing secret (whsec_…). Paste it in the matching Webhook secret field (Test or Live), then save the settings.
- A sandbox and your live account each have their own keys, destination and signing secret: repeat these steps in your live account before going live.
- To test, keep “Test (sandbox)” in the Mode list and pay in the Cart block with the Stripe test card 4242 4242 4242 4242, any future expiry date and any security code.
Stripe sometimes renames its menus (its Dashboard now uses sandboxes and Workbench). If a name differs, look for “API keys”, “Webhooks” and “event destinations” in the Stripe documentation.
If there's an issue with a specific order (email not received by the buyer, for example), a "Resend the email" button is available on every paid order in VEFmusic > Sales > Completed sales — which also shows the detail of what was sold per order, the amount already refunded if any, and lets you delete an order (or the whole history) if needed.
Invoicing and right of withdrawal
The seller’s identity and VAT are now set in VEFmusic > Settings > General (the band’s amateur/professional status) — the Invoicing (Pro) tab shows them read-only, with a direct link to that page. Every paid order gets a sequential invoice number, embedded directly in the confirmation email (no PDF attachment).
Three separate texts, because the law differs depending on the type of content: TWO checkboxes for digital content (a track or an album) — immediate access agreement and, separately, acknowledging the loss of the right of withdrawal that follows (French law requires these as two distinct explicit agreements, never a single combined checkbox). The return information text (plain display, never a checkbox) only shows if the cart contains a merch product — the 14-day right of withdrawal remains real for a physical product. A mixed cart shows all that apply.
Since June 19, 2026, French law also requires a dedicated online withdrawal function for merch orders — set it up with the "My account" page URL setting (required for the emailed link to work), then check the "Withdrawal requests" section that appears at the top of VEFmusic > Sales > Completed sales whenever a customer submits one. A customer follows a direct, one-click link (sent in their confirmation email and shown on "My account") to select the item(s) they want to withdraw from and confirm — no account or login is required, and a confirmation email is sent automatically as soon as they do. Refunding from the "Withdrawal requests" section reuses the same real Stripe/PayPal refund as the "Refund" button below (never automatic).
Withdrawal window: since a regular merch order has no reliably tracked delivery date, it's counted from the payment date instead, with the extra margin set below added on top (30 days by default) — safer than risking closing the legal 14-day window too early.
Country restriction: off by default (the function stays visible to every country, the safer default). The underlying obligation protects consumers located in the EU — turning this on limits the function to the country list below, but only do so once a legal professional has confirmed this fits your situation; a plugin can't make that legal call for you.
This is not legal advice — have it reviewed by a professional before any real production use.
Refund
On every paid order in VEFmusic > Sales > Completed sales, a "Refund" button allows a full or partial refund (amount of your choice, capped at the remaining balance). Triggers a real Stripe or PayPal refund depending on the order's original provider, and automatically notifies the customer by email — orders placed with the "Pay (test)" button never charge anything, so nothing is called on the API side for them.
A limitation to know about: a refund done directly from the Stripe or PayPal dashboard (outside VEFmusic) isn't reflected here — always use this button rather than the payment provider's site so the order stays up to date.
Secure downloads
Every download link sent by email after purchase stays valid for 7 days, but is now limited to a number of uses (adjustable in VEFmusic > Sales > Invoicing, 10 by default) — prevents a publicly shared link from staying usable all week, while still comfortably covering an interrupted/resumed download or a second device.
A customer who has legitimately used up their quota (new device, lost file…) can be reset with one click, on the relevant order, from VEFmusic > Sales > Completed sales.
Testing risk-free
A third "Pay (test)" button appears automatically in the site's Cart block (next to PayPal/Stripe) as long as "Test (sandbox)" payment mode is active — no PayPal or Stripe key needed to use it. It follows the REAL visitor journey (cart, consent checkbox, a confirmation email actually sent) — ideal to check the full experience the way a visitor will live it, all the way to receiving the email.
If you don't receive the email in a local development environment (Local by Flywheel, etc.), first check your tool's email-catching extension (Mailpit/Mailhog) before suspecting a bug.
Donations
Can be enabled in VEFmusic > Sales > Payment: suggested amounts + custom amount (with a "Minimum amount" you set, 1 € by default), native Stripe "Donate" button. Deliberately independent from the cart — a donation isn't a track/album purchase, never subject to the withdrawal consent (nothing to deliver), and results in a simple thank-you email, not an invoice.
Promo codes
VEFmusic > Marketing > Promo codes: create a code (percentage or fixed amount), with an optional usage limit and/or expiry date. The visitor enters it directly in the Cart block — the discount applies to the total already net of any automatic album discount, never stacked on the full price.
Only one code active at a time per cart (no stacking). The usage counter only increases once payment is actually confirmed — an abandoned cart with a code applied never uses up a limited-use code. Disabling or deleting a code from the list never affects orders already placed with that code.
Press kit (Pro) (VEFmusic > Marketing > Press kit > VEFmusic Pro)
Adds Pro features on top of the free press kit builder (Press kit tab): an optional contact form before download, download statistics, a history of received requests, ready-made PDF templates, limited-use/expiring download links, a press contact list with one-click email sending, and additional independent kits.
Contact form — off/optional/required. Disabled by default (a press kit should stay friction-free for a journalist in a hurry). Every submitted request (name + email) is both sent to you by email and logged in the "Received requests" list, regardless of the mode chosen — exportable as CSV at any time.
Download statistics — anonymous weekly count of full zip downloads (never the PDF alone, never an admin test) over the last 8 weeks, no IP address or visitor identifier ever stored.
PDF templates — five ready-made style presets (Minimal, Bold, Elegant, Modern Mono, Corporate), chosen from the same "Global style" card as the free version. A template only overrides the generated PDF's look — your own color/font settings stay saved untouched, and reapply immediately if you switch back to "Custom".
Limited-use / expiring links — a dedicated download link for a specific journalist or outlet, usable a limited number of times and/or until a chosen date, whichever comes first. Always bypasses the contact form, even when one is enabled — the whole point of a link sent by name to someone.
Press contact list & email sending — save the email addresses of journalists/outlets you regularly send the kit to, then send it to some or all of them in one click (select which contacts first, or leave none checked to send to everyone). The email contains the stable download link, never the file as an attachment (some kits are too large for most mail providers). With additional kits (see below), a dropdown lets you pick which kit to send before sending — the default kit if left unset.
Follow-up: a "Last sent" column on the contact list shows the date each contact was last sent a kit ("Never" if not yet) — updated automatically every time you send, no separate tracking needed.
The contact list itself is shared across the default kit and every additional kit — only the download link sent differs, based on which kit you pick before sending.
Additional kits — fully independent press kits for an agency managing several artists or clients from one site — each with its own content, identity (name, logo, contact), contact form, statistics, requests, links, and stable download URL. Created, edited, and deleted from the bottom of this same tab; editing one opens the same builder as the free default kit.
The default kit's content, style and sections are always set on the free "Press kit" tab — this screen never duplicates that form, only the Pro features layered on top of it (and, for an additional kit, its own copy of that same form).
The Cart and Donate blocks
Cart
To place ONLY ONCE, on a dedicated page (e.g. "Cart"). This is the block that shows the withdrawal consent checkbox and the payment buttons. Available as a Gutenberg block (vefmusic-pro/cart), a Divi 5 module ("VEFmusic — Cart") and an Elementor widget ("VEFmusic — Cart").
On every other page, a "View cart" link appears next to an add-to-cart button once an item has been added. The plugin finds the cart page by itself; you can also choose it in VEFmusic > Sales > Payment ("Cart page"). To let visitors reach the cart at any time, also add the cart page to your site menu.
Donate
Shows a free donation button (see the "Donations" section above) — only appears if donations are enabled. Available as a Gutenberg block (vefmusic-pro/donate), a Divi 5 module ("VEFmusic — Donate") and an Elementor widget ("VEFmusic — Donate").
The cart stays shared (same visitor, same session) regardless of which page a purchase was added from — you can place the Track List/Album blocks (VEFmusic) on several pages different from the Cart page itself.
Visual customization
The main color, the button colors and the font are set once for the whole site (player AND cart/donations) in VEFmusic > Settings > Style. The VEFmusic > Settings > Style > Cart & shop (Pro) sub-tab covers the cart/donations panel (background, text, title color and size, rounding), the print-on-demand shop and the title color of product/item cards. The cart title follows the theme’s heading size unless a size is set there.
Margins, padding, background/text color and border of each block individually: these are NATIVE editor settings (nothing to code, nothing to enable) — the module's "Style" tab in Divi 5 (Spacing/Border/Box Shadow groups), the block's side "Style" panel in Gutenberg (Colors and Dimensions sections), or the widget's "Advanced" tab in Elementor (Background/Border/Box Shadow sections, common to every Elementor widget). The VEFmusic > Settings > Style > Cart & shop (Pro) settings above apply by default to ALL cart/donation panels on the site; the block's native setting, on the other hand, only affects THAT specific block and takes priority.
Merch, shipping and Printful
VEFmusic > Products > Merch: publish a physical product (price, stock, weight class). No variants (size/color) in v1 — publish a separate product per variant if needed.
The "VEFmusic Pro — Shop" block (Gutenberg, Divi 5 and Elementor) shows all in-stock products, with a quantity picker and add-to-cart. Once in the cart, each physical item's quantity stays directly adjustable (+/- buttons), in addition to removing the line entirely.
Mixed carts (download + physical product) fully handled: the digital consent checkbox and the physical return information each show separately based on what the cart actually contains (see the "Invoicing and right of withdrawal" section above); the confirmation email and invoice detail both the download links and the items to ship with their address.
Shipping zones
VEFmusic > Sales > Shipping: set up at least one zone (name + comma-separated ISO country codes, e.g. "FR,BE,LU") with a rate per weight class. The rate applied to an order is that of the "heaviest" item in the cart — never added up per item, a single grouped shipment.
A country missing from ALL zones simply isn't offered in the cart's shipping form (dropdown limited to covered countries) — sales there are effectively blocked, with no separate setting needed.
Stock is only decremented once payment is actually confirmed, never when added to the cart — an abandoned cart never uses up limited stock.
Printful (print-on-demand)
A separate way to sell physical merch, alongside plain Merch above: VEFmusic > Products > Printful connects to your existing Printful account and imports products already set up there (t-shirts, posters, mugs…) — nothing to design or configure in Printful’s own dashboard from VEFmusic itself.
Settings: paste your Printful Private Token (from your Printful account's API settings) to connect. An optional webhook HMAC key can also be set, letting Printful notify VEFmusic instantly of stock/status changes on their side instead of waiting for the next manual check.
"Import" screen: lists every Sync Product already pushed on the Printful side (i.e. products you've already set up over there) — one click imports it into VEFmusic as a sellable product, added to the same cart/checkout as your other items.
After import, only the publish status, the description (never provided by Printful's data) and the price/SKU of each variant (if you want to sell at a different price than the one set in Printful) stay editable in VEFmusic — everything else (variants, print files, product images) stays driven by Printful and re-syncs automatically. No stock to manage on your side: each order is fulfilled and shipped directly by Printful, not from VEFmusic's own shipping zones above.
Internal ticketing
On a show's page (VEFmusic > Products > Shows), the quickest way to sell tickets is to check "Use internal ticketing for this show" and fill in the Capacity: a single "Standard" zone is created for you (its price is the Price (€) field of the show, if filled in — otherwise it starts free and you set it on the zone). Without that checkbox, or with no zone, a show stays a plain informational listing.
For several prices, or numbered seats, use the "Internal ticketing (Pro) — zones & seats" section at the bottom of the show's page. A zone is both a physical section of the venue and a price: a show can have several zones, each with its own price, with or without numbered seats. Sales are enabled as soon as the show has at least one zone with places available.
"Add a zone": a name, a price and a capacity (the number of places). A zone "Quantity only" sells places without choosing a seat. Tick "This zone has individually numbered seats" to let buyers pick their seats: capacity is then set by generating the seat range, not typed in — and this choice cannot be changed after the zone is created. A zone can be edited at any time, and deleted only while it has no sold or reserved seat.
Numbered seats
On a numbered zone, click "Manage seats": enter a "From #" and a "To #" (and an optional prefix, for example "Row A – " gives "Row A – 1", "Row A – 2"…) then "Generate seats". You can run it again safely: shrinking the range never removes a sold or reserved seat, it refuses instead so you can adjust it first.
The seat list shows each seat as Available, In cart (a temporary hold while a buyer completes the order), Sold or Blocked. "Block" removes a seat from sale (with an optional reason) and "Unblock" puts it back. "Cancel reservation" frees a sold or reserved seat — it does NOT refund the order, do that separately from the Sales tab if needed.
The venue map (an image, chosen on the show's page in the free plugin) is displayed to buyers to help them choose a zone or seat. It can be enlarged, see "Enlarge on click" below.
The "VEFmusic Pro — Ticketing" block (Gutenberg, Divi 5 and Elementor) shows all upcoming shows with ticketing enabled, a ticket-count picker and add-to-cart — the same payment flow as the rest (Cart, Stripe/PayPal/Test).
A buy button also appears AUTOMATICALLY in the Shows block (VEFmusic) itself, right next to the "Venue website"/"Tickets" links, as soon as the show has at least one zone with places available — no need to place the Ticketing block separately if the Shows block is already on the page (but nothing stops you from using both). With a single zone sold by quantity, "Buy my ticket" adds it straight to the cart; with several zones, or numbered seats, "See tickets" opens a window to choose. When every zone is full, "Sold out" is shown.
A single ticket (a single QR) per order, regardless of how many places were bought — not one ticket per person. The QR is shown directly in the body of the confirmation email (and also stays as an attachment, handy for saving/printing it).
VEFmusic > Sales > Ticket Control: a dedicated control account can be created there — access reserved SOLELY for scanning/checking in tickets at the door, never any other access to the site nor the ability to become an administrator. Handy for delegating this specific task to someone (a volunteer, security staff…) without giving them an administrator account.
A single login at the start of the event is enough: the session stays active on that device all evening (the ticket controller doesn't need to log back in for every ticket). Every scan automatically checks the entry in as soon as the page loads — no need to tap a button, handy when it's busy. A ticket already checked in stays that way: rescanning an already-used ticket has no effect, the page simply says so.
Checking in at the door
The QR encodes a plain link, opened directly by any phone's native camera (no app to install). The page shows the ticket's status; the "Mark as checked in" button only appears for an account logged in with admin rights — log in on the phone that will be used at the door before the show.
A ticket already checked in can never be checked in a second time (shows the date of the first check-in) — protects against a reused screenshot. VEFmusic > Sales > Ticket Control lists the tickets sold per show and lets you search for a code manually if the QR won't scan.
The capacity of a zone is never modified automatically — the number of remaining tickets is always recalculated from actually paid orders, never decremented just by being added to the cart.
The venue map of a show can be enlarged: in the pop-up opened from the Shows block it always can, and on the Ticketing block by turning on "Enlarge on click" in the block settings. The larger view has a zoom button to read the details at actual size. Requires VEFmusic 2.16.2 or later.
Preorders
VEFmusic > Marketing > Preorders: create a campaign (name, funding goal, deadline), then add one or more free-text products to it (label + price + digital or physical) from the campaign's "Manage" screen. No need for a track/album/merch item to already exist in the plugin: a preorder typically covers something that doesn't exist yet.
Campaign type ("Standard preorder" or "Crowdfunding campaign", set at creation and freely changeable afterward from the "Manage" screen) only changes the wording shown on the press kit — purely presentational, never affects price, delivery or any of the rules below.
The campaign's name/goal/deadline, as well as each product's label/price/type, stay freely editable — but ONLY as long as no preorder has been registered yet. From the first one, they freeze automatically (so a buyer already committed on what they saw when pledging is never misled) — the management screen clearly shows the state either way.
Funding tiers (optional) — Kickstarter-style: create a tier (e.g. "Vinyl pressing" at 4300€) and attach one or more products to it. A tier is a condition for DELIVERY, never for purchase — the product stays orderable from day one. At the deadline, the threshold is compared to the cumulative total of the WHOLE campaign (all products combined): tier reached → its products are charged and delivered normally; tier not reached → ONLY the products of that tier are removed from the pledges and never charged — the rest of each order (a product from a reached tier, or one with no tier) is charged normally. A product not tied to a tier is always charged and delivered, no matter what. With no tier created at all, a campaign behaves simply (all-or-nothing on the funding goal).
Tiers are shown, on this screen and on the public block, in the order you set with the up/down arrows next to each one — freely, at any time, even once the campaign already has paid orders (only the label, threshold and deletion of a tier freeze once that happens, never its display order).
Products work the same way: the up/down arrows next to each product set the order in which they are listed, on this screen and in the public Preorder block — freely, at any time, even for a product already purchased (only its label, price, type and tier freeze).
A campaign with partially reached tiers switches to "Partially funded" status at the deadline — a "Settle the tiers" button then appears: clicking it removes the products of the unreached tiers from the pledges and charges the rest (never automatic — you always decide).
Every preorder is a PLEDGE, like on Kickstarter: the buyer's payment method (card through Stripe, or PayPal account) is saved but NOT charged. If the goal is reached at the deadline, every payment method is charged automatically (the invoice and the order email are sent at that moment); if it isn't, nothing was ever charged, so there is nothing to refund and no Stripe or PayPal fee is lost. The visitor gives their email, chooses a quantity for each product and confirms once. This is not a hold on the funds (which would expire after a week or two): the payment method is simply saved, so a campaign can last as long as you want.
If the goal isn't met by the deadline, an email notifies you and a "Confirm the cancellation" button appears on the campaign — nothing is cancelled without this explicit click from you, and since nobody was charged, nothing is refunded. (Orders already paid before the deferred charge existed are still refunded.)
No preorder product is ever delivered automatically (no downloadable file, no stock decrement) — it's free text, nothing real exists behind it yet at the time of purchase. Once the campaign succeeds and the product(s) are ready, deliver them yourself: from the Sales screen, mark an order "Shipped" (with an optional tracking number) then "Delivered" — or mark a whole campaign at once from the Preorders screen. The customer is notified by email at every step and sees this tracking on "My Account".
The "VEFmusic — Preorder" block (Gutenberg, Divi 5 and Elementor) shows the public progress bar (amount raised/goal, days left, number of preorders), the list of products with their price and a quantity to choose, and the card checkout (with an email field) — choose which campaign to display in the block's settings. A shipping address is requested if the campaign contains at least one physical product. Once the deadline has passed or the goal is reached, the block automatically shows the final status instead of the purchase form.
The Preorder block has an "Enlarge on click" setting (off by default): each image of the campaign gallery then opens in a larger view. Requires VEFmusic 2.16.2 or later.
Because cards are only charged when the goal is reached, a failed campaign costs no transaction fee. (Orders paid before the deferred charge existed keep their Stripe/PayPal fees even when refunded.)
If a payment is declined when it is charged (expired card, bank or PayPal confirmation required…), the customer receives an email with a link valid for 7 days to pay another way; after that the pledge is cancelled without any charge. The statuses (Pledged, Charge failed, Paid, Cancelled) are visible in the Sales tab and in the customer's "My Account". The charge is made by a scheduled task of this plugin: keep the Pro licence active until the deadline.
On preorders PayPal saves the customer's PayPal account instead of charging it, exactly like the card with Stripe. It needs PayPal to have validated your business account for saving payment methods, with the option enabled on your PayPal app (see Diagnostic and support); if it isn't, PayPal is simply hidden or refused and the card stays available.
A preorder is always separate from the shop cart: the Preorder block never adds anything to the cart, and the cart never contains a preorder. A short message says so on both blocks, so a visitor never wonders where their preorder went.
In the campaigns table, the progress shows how much is already charged and how much is only pledged. "Cancel" on a running campaign cancels all its pledges without charging anyone; orders already paid before the deferred charge existed must be refunded by hand from the Sales tab. In test mode a preorder is simulated: no real card or PayPal account is used, the charge is also simulated at the deadline, and an email address containing "fail" simulates a declined payment.
Statistics, accounting export and revenue split
VEFmusic > Sales > Statistics, four tabs — the first three share the same period picker (since the beginning, this year, this month, last month, or a custom "date to date" period), the fourth is a running total with no period:
Sales by product — quantity sold and revenue generated, per track/album/merch item, over the chosen period.
Accounting export — a button downloads a CSV with one row per order in the period (date, reference, buyer, payment method, status, gross/net total, VAT, invoice number, refunded amount) — ready to hand to an accountant or open in a spreadsheet.
Split by artist — declare the band members with a percentage each. The report automatically calculates everyone's share of the real revenue (paid orders only), over the same period selection.
This is a GLOBAL percentage split, not a sale-by-sale attribution to one member or another — designed for a band that shares its revenue by a fixed formula. The percentages don't have to add up to 100% (a simple warning shows if they don't), in case a share is deliberately left unassigned.
Access — anonymous view counters for the Cart, Shop, Ticketing, My Account and Donate blocks, plus each preorder campaign individually — no cookies, no IP address, no visitor identifier stored anywhere. A running total since the block was first used, never reset automatically.
Customer accounts and "My Account"
No WordPress account is ever needed, either to buy or to check purchase history — a customer just enters their email on the "My Account" block, receives a link to click by email (no password), and stays recognized on that device for 30 days. This is deliberately the same principle as most one-off sales sites (ticketing, donations): simpler for a customer who may only buy once every six months.
The "VEFmusic — My Account" block (Gutenberg, Divi 5 and Elementor) shows the order history linked to this email — date, content, total, status — with a "Get my download links by email" button per digital order. No file link is ever shown directly on the page: everything goes back through the already-secure email (see the Secure Downloads section above).
If a visitor happens to be logged into a WordPress account anyway (an administrator testing, for example), it also works directly, with no link to request.
VEFmusic > Sales > Customers gives the matching admin view: a customer = a purchase email address, with the number of orders, the total spent (net of refunds) and a direct link to their history in the Sales tab. No banking data is ever stored or displayed — only Stripe/PayPal hold that information.
Search, deletion and GDPR anonymization
The Customers screen has a search box (name or email) and, per customer, two separate actions: "Anonymize" replaces the name/email/address on every one of their orders with generic placeholders while keeping the order rows themselves (so revenue totals and accounting stay accurate); "Delete" removes the customer and their orders entirely. The same two actions are also available order by order from VEFmusic > Sales > Completed sales, which also offers a status filter (Pending/Paid/Refunded) and pagination for sites with a large order history.
Neither action is reversible — always make sure this is really the customer/order intended before confirming.
License and updates
Enter your key in VEFmusic > About > Licenses and versions to activate VEFmusic Pro on this site and receive updates. The license is tied to this specific site’s address.
Without an active license, VEFmusic Pro keeps working (the code stays active), but will no longer receive updates or fixes. A temporary outage of the license server doesn't block anything immediately — a 14-day grace period is provided.
The license follows the address of the site. When you move this site (new domain, new host, or a local copy put online), VEFmusic Pro notices that the address changed and this screen shows a notice with a "Transfer the license to this site" button. One click, nothing to do beforehand.
The license is never moved by itself: a test copy of your site cannot take the license away from the live site. Meanwhile VEFmusic Pro keeps working within the usual grace period. A license can be transferred a few times per month; if this screen cannot move it (for example the site no longer remembers its old address), contact support from the Diagnostic and support screen.
This same page also shows the installed version, whether an update is available, and a "Check now" button that checks AND installs the update immediately in a single click, without waiting for WordPress's next automatic pass or needing a second click on the Plugins screen. Manual by default (notification only, weekly check) — an "Automatic update" checkbox lets you switch to silent installation instead.
Every downloaded update is checked by cryptographic signature before installation (public key embedded in the plugin) — if this check fails, the update is cancelled with a clear message rather than being installed as-is.
A history of published versions is also shown on this page, with a button per row — "Update to this version" for a version more recent than the installed one, "Roll back to this version" for an earlier one. Both reinstall exactly the signed file published at the time, the same guarantees as a normal update — your settings and sales data are never affected.
During a support access (Diagnostic and support), the license, the updates, the payment mode and the PayPal, Stripe and Printful keys are neither shown nor changeable, and the actions on orders, customers and ticket control accounts (refund, deletion, export, email) are refused, whatever the rights chosen.
If there's an issue, the VEFmusic Pro panel of the Diagnostic and support screen shows the exact state of the license, sales tables and PayPal/Stripe configuration, with a button to copy the system info useful for support.