Tanzeel Order Forms & Payments is an order form plugin for service businesses, agencies and freelancers who sell packages, not products. It is not a general purpose contact form builder and it is not a shop. It covers the part in between: taking an order, getting it paid, and following up when it is not.
What makes it different
- Unpaid order recovery, built in. When a customer clicks "Proceed to Checkout" the order is saved as Pending with its Order ID. If it is still unpaid after the delay you choose, you and the customer each get one email. The customer's email carries a signed link that reopens their own order on the payment step, with every field and the chosen package already filled in, so the Order ID never changes and nothing is typed twice.
- No duplicate orders. Repeated clicks, retries and slow connections update the same pending order instead of creating new ones. The link between a visitor and their order is a server side signed key.
- Sequential Order IDs per form with your own format (for example
Order [ID2326]) and a start number, shown in emails, exports and the payment description at Stripe and PayPal.
- Package cards with deep links. Priced options render as selectable package cards, and a link like
?package=gold opens the form with that package already selected.
- Safe test page. Every form has a private, unindexed preview page. With PayPal sandbox keys saved, orders placed there pay through the sandbox while the live form keeps the live keys.
- Coupons per form. Percent or fixed discounts with an expiry date, a usage limit and a live "Used" count. The discount is always recalculated on the server.
- Optional orders portal. A noindexed front end dashboard where a team member can follow and manage orders without a WordPress account, with a pending payments queue and one click pay links.
Form builder
- Drag and drop builder with 18 field types: text, email, phone, URL, number, date, paragraph text, dropdown, radio, checkboxes, file upload, image upload, full address block, coupon, hidden field, heading, paragraph and notes.
- Full width or half width fields, side by side.
- Required fields, placeholders, default values and help text.
- Copy fields from one form and paste them into another.
- Preview any form on a private, unindexed test page before it goes live.
Payments
- Stripe Checkout and PayPal (PayPal button plus debit or credit card).
- Four ways to set the amount: one priced field shown as package cards, a fixed price, all priced options added up, or a quantity multiplied by a price per unit (for example 5 videos x 30 each).
- A live total updates as the customer picks options.
- Coupons: a "Got a coupon?" box with an Apply button. Percent or fixed discounts, expiry dates and usage limits, managed per form. A 100% coupon completes the order without payment.
- Two step checkout: details first, then an order summary with the payment buttons.
- Prices are always computed on the server from the saved form, never trusted from the browser.
- Every payment is confirmed with the gateway (and the Stripe webhook) before an order is marked paid.
- Separate PayPal sandbox keys for the preview page, so test orders never move real money.
- Package links:
?package=gold preselects an option.
Orders
- Sequential Order IDs with your own format, for example
Order [ID2326], and a per form start number.
- Entries screen with search, filters, charts and CSV export.
- Unpaid order reminders: if an order is still pending after a delay you choose, you and the customer each get one email. The customer's email carries a secure link that reopens their order on the payment step.
- Reset orders: after testing, delete every order and entry in one step (type DELETE to confirm). Forms, settings and coupons are kept.
Emails
- Branded HTML emails for the admin and the customer, editable in a template editor with live preview and a test send.
- Placeholders such as
{order_id}, {customer_name}, {amount}, {fields_table}, {payment_summary}, {order_cards} and {coupon_code}.
- Each form can have its own admin and customer email subject, with a live preview.
Orders portal (optional)
An optional, noindexed front end page where a team member can follow orders without a WordPress account: dashboard with a pending payments queue, order list, order details, copy or email the customer's pay link, resend emails and CSV export. It is off by default; turn it on and choose its address and login in Settings.
Elementor
A "Tanzeel Order Form" widget with package cards per row (separately for desktop, tablet and mobile) and detailed style controls for package cards, checkout sections, the form box, labels, fields, buttons, the total box and errors. The shortcode works everywhere else:
[tanzeel_order_form id="1"]
Security
- Nonces and capability checks on every admin action.
- A spam limit on new orders per visitor (adjustable in Settings) and a honeypot against bots. Behind Cloudflare the visitor's real IP is used, and only when the request really comes from Cloudflare.
- Uploads restricted by type and size, stored with unguessable file names.
- Prepared SQL statements throughout.