Description
Pay4All Shop is a simple and lightweight order form plugin designed for small shops, wineries, caterers, takeaway restaurants, and associations.
It was intentionally created as a simpler alternative to WooCommerce: create an order form, add your products and delivery methods, assign payment methods to each delivery option, and embed the form anywhere on your website using a shortcode.
Available in French, German, Italian, and English.
All customer-facing text can be customized separately in all four supported languages: French, German, Italian, and English.
Main Features
- Create as many order forms as you need and add your products to each form.
- Default fields such as first name, last name, email address, phone number, and address are automatically translated into every enabled language.
- Add, edit, remove, and organize form fields according to your needs. Forms are fully customizable.
- Products can include an image, regular price, sale price, minimum and maximum quantities, and a short description.
- Product image size can be configured separately for each form.
-
Multiple product types are supported:
- Physical products, enabled by default.
- Virtual products, with a downloadable file delivered after purchase.
- Event tickets with QR code validation, available with Pay4All Pro.
- Out-of-stock management: products remain visible, but their quantity selector is disabled.
- Optional stock management for each product, with email notifications when stock becomes low.
-
Available delivery methods:
- Local pickup.
- Flat-rate delivery.
- Free delivery.
- Free delivery above a configurable order amount.
- Rate table (tiered pricing based on cart weight, order amount or number of items).
- No delivery required.
- Payment methods can be assigned individually to each delivery method.
- Secure delivery of downloadable virtual products.
-
Optional “Remember my information” feature:
- Customer details are stored only in the customer’s browser.
- No saved information is sent to the server.
- Customers can prefill the form with one click during a future visit.
- Disabling the option immediately removes the saved information.
-
Complete order management:
- Custom order statuses.
- Payment statuses.
- Internal notes.
- Customizable emails sent to customers and merchants.
- The email subject, title, introduction, and closing text can be customized separately in each supported language.
- Export orders in XLS or CSV format, with filters for date, form, and order status.
- Compatible with the WordPress Privacy API for GDPR data export and erasure requests.
- Anti-spam protection using a honeypot field, WordPress nonces, and server-side validation.
Included Payment Methods
- Payment on pickup.
- Cash on delivery.
- Bank transfer.
- Install Pay4All for TWINT to accept TWINT payments.
- Install Pay4All for Stripe to accept credit and debit card payments.
Age Verification
Install Pay4All Age Verification to add age verification to your products.
Features include:
- Age verification can be enabled individually for each product with a simple checkbox.
- Identity document or selfie verification.
- QR code capture from another device.
Pay4All Pro — Optional
Events and Ticketing
Sell tickets for events, parties, shows, concerts, and other activities.
A unique QR code is generated for every ticket purchased and sent to the customer by email. Tickets can be scanned and validated at the entrance using any smartphone, with no application to install.
The QR ticketing system also includes:
- A public ticket validation page.
- A self-service check-in screen.
- Ticket and participant search.
- Participant export.
QR ticketing is included with Pay4All Pro, with a free 30-day trial.
Quantity Rules
Define quantity rules by product category or brand:
- Minimum quantity.
- Maximum quantity.
- Quantity multiples.
- Minimum quantity combined with a required multiple.
Rules are validated both in the customer’s browser and on the server to prevent invalid orders.
Themes and Customization
Quickly customize the appearance of your forms using the Light, Dark, Red, Orange, Yellow, Green, Blue, Purple, and Brown predefined themes, or create a fully customized design using the advanced customization options.
A live preview displays your changes immediately.
Abandoned Carts
Automatically capture incomplete orders and send a follow-up email after a configurable delay.
Each recovery email contains a unique, single-use link that allows the customer to restore the abandoned cart and continue the order where they left off.
Usage Examples
- Wineries selling products at their cellar door or during events.
- Cheese shops offering local pickup.
- Caterers accepting weekly orders.
- Local shops offering in-store pickup only.
- Associations accepting online registrations and payments.
- Businesses selling digital products such as PDF files, MP3 files, online courses, and documents.
Screenshots





Installation
- Upload the plugin to
/wp-content/plugins/pay4all-form/or install via Plugins › Add New. - Activate the plugin from the Plugins menu.
- Open Pay4All Shop in the admin sidebar.
- Create your products, delivery methods, then a form.
- Copy the form shortcode into any page.
FAQ
-
Do I need WooCommerce?
-
No. Pay4All Shop is standalone. It does not depend on WooCommerce in any way.
-
Does it support online payments?
-
The free version supports manual payments only (pickup, on delivery, bank transfer, TWINT instructions). Automated TWINT payments are available via Pay4All Pro.
-
Is the plugin GDPR-friendly?
-
Yes. Customer data is included in WordPress’s Tools › Export / Erase Personal Data workflow.
-
Will my data be deleted if I uninstall?
-
No, unless you explicitly enable Réglages › Données › Supprimer les données lors de la désinstallation.
-
No HTTP cookies are set by the plugin. When the shopper ticks the « Se souvenir de mes informations pour ma prochaine commande » checkbox on the customer step, their contact fields are stored in the browser’s own
localStorage(client-side only, never uploaded to the server, one-year retention, scoped per form). Unticking the checkbox and clicking Suivant — or the browser’s Clear site data action — wipes the entry immediately. Nothing is stored when the checkbox stays off. -
How do virtual products work?
-
When you create a product of type Virtual, you upload one file per product. The file is stored in
wp-content/uploads/p4all-virtual/, protected by an automatically generated.htaccess(deny from all). After purchase, the customer’s e-mail contains a one-time download link served by the plugin endpoint (?p4all_dl={token}). The link is valid for 60 days. -
How does *Out of stock* work?
-
Tick the Rupture de stock checkbox on a product. The product stays visible in the form so the customer still sees what you usually offer, but the quantity field is greyed and disabled. A red badge labels the product as out of stock. Server-side validation rejects any tampered submission that tries to order an out-of-stock item.
-
How does *Stock management* work?
-
Tick Manage stock on a product and enter the quantity available. From that point on:
- Each order decrements the stock by the quantity ordered (one decrement per ticket / per unit). The decrement happens as soon as the customer validates the order, regardless of the payment status.
- The order form prevents the customer from ordering more than what is left — the quantity input’s max attribute is capped at the stock available, and a server-side check rejects any tampered submission.
- When the stock reaches 0, the product is automatically flagged out of stock: it stays visible but cannot be ordered.
- When an order is deleted from the admin (definitive delete, not just trashed), the stock is restored for every product still in the order. Status changes (paid, cancelled…) do NOT restore stock; only deletion does.
- If you set a Notify me when stock reaches threshold in Settings › General (under the shop address), an e-mail alert is sent to the notification address as soon as a tracked product crosses the threshold downwards after a sale.
- A Stock column in the products admin list shows the current quantity (or
—when stock management is off), highlighted in orange below the threshold and red when out of stock.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Pay4All Shop” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Pay4All Shop” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
3.1.0
- Readme trimmed to fit the WordPress.org 5000-character changelog cap; older release notes summarised.
3.0.2
- Free orders (0.-) : skip the Payment step, mark the order paid, no more “montant nul” errors on Stripe / TWINT / myPOS.
- Order emails : hide the “Delivery method” line when the form offers no delivery.
- Dashboard : new myPOS status line under the Credit card section.
- Products list : new “Duplicate this product” row action.
3.0.1
- Step bar: rename every tab (Products, Contact details, Delivery, Payment, Confirmation) per language.
- Editor UI groups the fields in a per-language accordion, primary language open by default.
- Blank fields fall back to the built-in translation.
3.0.0
- Help page: contact form to Pay4All support with up to 3 optional attachments.
- Add-ons page: Pay4All for myPOS card added next to Stripe and TWINT.
- Payment status block on the Help page now lists TWINT, Stripe and myPOS together.
2.14.3
- Admin notification e-mails now carry a Reply-To header set to the customer’s e-mail.
- Signup shortcodes: labels moved into placeholders; standalone QR-code page colours and merchant name configurable from Newsletters admin.
2.14.2
- Signup shortcode: compact inline layout when only the e-mail is requested.
- Signup endpoint: cookie banner and third-party scripts kept off the standalone signup page; merchant name shown at the top.
2.14.1
- New self-signup shortcodes with a plugin-hosted QR endpoint and a merchant notification e-mail in the visitor’s language.
- Customer directory: statistics screen with source breakdown and per-day chart.
- Merchant name is now required in Settings and falls back to the site name.
2.14.0
- Country-based delivery: restrict a delivery mode to a whitelist of countries.
- Promo codes: fixed amount, percentage, free shipping or free product, with validity window and per-email caps.
- Customer directory: search, edit, bulk delete, opt-out toggle and CSV import.
- Newsletters for a product or a promo code (Pro unlock).
2.13.0
- New Donation product type (Pro unlock).
- New Newsletter feature (Pro unlock): multilingual campaigns, throttled spooler, one-click unsubscribe.
- New Mailing section under Settings for batch size and delay between batches.
2.12.0
- New promo-code manager: fixed amount, percentage or free shipping, with validity window and usage caps.
- Live discount badge on the summary step before payment.
- Full usage history per code (date, order, customer email, amount granted).
2.11.0
- Fix bug.
2.10.1
- UX: “Download Pay4All Pro” primary button added on the Go Pro page.
2.10.0
- New “Rate table” delivery type: charge shipping based on weight, amount or item count.
- Weight support on products, variations and add-ons (kg / lb).
- Currency & weight settings tab.
2.9.0
- Translations validated and shipped for French, German and Italian.
2.8.0
- i18n refactor: source strings converted to English, full translation packs bundled for FR / DE / IT.
2.7.x
- Pinned Total row and Suivant button on the products step.
- Variable-product fix: options render as checkboxes with mutual exclusion.
- Merchant sort of payment methods.
2.7.0
- New VAT (TVA) support with per-item rate overrides and a custom rates table.
2.6.x
- New Multi-variable products and add-on options.
- New Delivery hours & locations with slot booking, holidays, per-NPA allow-list.
- Grid column count picker (1 to 4) for the product picker.
2.5.x
- WordPress dashboard widget with monthly / yearly / lifetime revenue.
- Shortcode video tutorial and click-to-copy on the shortcode input.
- Age Verification companion detected under its current slug.
2.4.0
- Security: CSV formula injection blocked, submission rate-limit, mandatory anti-spam timestamp, hardened client IP detection.
2.3.0
- New Bank transfer payment method with a per-language IBAN / BIC / beneficiary block.
2.2.0
- Per-form photo size picker (Petite / Moyenne / Grande / Personnaliser).
2.1.0
- Opt-in “Remember my information” checkbox on the customer step.
- Age verification step auto-skips when the cart carries no age-restricted product.
2.0.0
- Breaking: Categories, Brands, Tickets, Abandoned Cart and filter widget move to Pay4All Pro. Legacy tables and cron cleaned up automatically. Back up first.
Earlier releases
- Content picker on URL fields, product Learn more link and photo lightbox, virtual-download path-traversal fix.
- Client-side product filtering, multilingual category / brand labels, per-form minimum order amount.
- Protection of minors with mobile ID + selfie capture and AES-256-GCM encryption.
- Timezone selector, abandoned cart capture with recovery e-mail.
- Hide a product, stock management with low-stock e-mail alert.
- Virtual and Ticket product types, out-of-stock flag, per-delivery payment methods.
