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
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.2 and PHP 7.4.
SourceWordPress plugins · Nov 5, 2026
01 / Source details
Aboutthistool.
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.
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.
External services
This plugin connects to the payment services below only when you add their API keys in Tanzeel Order Forms > Settings and enable them on a form. Without keys, no data is sent anywhere.
Stripe
Used to take card payments through Stripe Checkout.
When a customer pays, the plugin sends the order amount, currency, a description (form title, chosen package and Order ID), the internal order number as metadata, the customer’s email address and the return and cancel URLs to the Stripe API (api.stripe.com) to create a Checkout Session. The customer is then sent to Stripe’s hosted payment page.
When the customer returns, and when Stripe sends a webhook request to your site (only if you set a webhook signing secret), the plugin asks the Stripe API for the session status to confirm the payment.
Service provided by Stripe, Inc. Terms of service , Privacy policy .
PayPal
Used to take PayPal and card payments through PayPal Checkout.
On pages with a payment form, the PayPal JavaScript SDK is loaded from www.paypal.com with your public client ID and currency. The SDK runs in the visitor’s browser and connects to PayPal directly, so PayPal receives the visitor’s IP address and browser details.
When a customer pays, the plugin sends the order amount, currency, order description, the internal order number, the return and cancel URLs and your site name to the PayPal REST API (api-m.paypal.com, or api-m.sandbox.paypal.com in sandbox mode) to create and capture the order.
Service provided by PayPal. User agreement , Privacy statement .
Credits
Sora font by the Sora Project Authors, bundled in fonts/ under the SIL Open Font License 1.1 (see fonts/OFL.txt ).
See it in action
Screenshots & previews.
The order form: priced options as package cards, the customer details, a coupon and a live total.Step two: the order summary with the coupon discount and the secure payment button.Dashboard with revenue, orders, entries, a revenue chart, payment status, recent orders and top forms.Drag and drop form builder with the field palette, the live form preview and field settings.Payment settings for a form: how the amount is worked out, the currency and Stripe or PayPal.Coupons for a form: percent or fixed discounts with expiry dates, usage limits and a Used count.Entries: one card per form with its own graph, entries, paid orders and revenue.Email templates with a live preview of the branded admin and customer emails.Optional orders portal: a pending payments queue with one click pay links, totals and charts.Portal order page: submitted details, payment with coupon, the customer pay link and a timeline.The order form on a phone.
02 / Source details
Gettingstarted.
01Upload the tanzeel-order-forms-payments folder to /wp-content/plugins/ , or install the plugin from the Plugins screen.
02Activate the plugin.
03Go to Tanzeel Order Forms > Settings and add your Stripe secret key and/or PayPal client ID and secret.
04For Stripe, add a webhook for the checkout.session.completed event pointing to the URL shown in Settings.
05Go to Tanzeel Order Forms > Add New, build a form and save it.
06Add the form to a page with the shortcode [tanzeel_order_form id="1"] or the Elementor widget.
03 / Source details
Frequently asked questions.
Do I need Stripe and PayPal both?
No. Use either one, both, or neither. A form without payment works as a normal form.
Can I test payments without real money?
Yes. Add PayPal sandbox keys in Settings, then open the form’s Preview page. Orders placed there use the sandbox. For Stripe, use your test secret key (sk_test_).
Where are uploaded files stored?
In the submitflow folder inside your WordPress uploads directory, with a random prefix on every file name.
What happens to my data if I delete the plugin?
Nothing, unless you check “Delete all data on uninstall” in Settings first. Then deleting the plugin removes all forms, entries and settings.
Does it work with page caching?
Yes. The form refreshes its security token before submitting, so it works on cached pages.
FinderPress Media Auditor helps site administrators scan for broken images, missing Media Library files, unreachable media URLs, and other media issues across WordPress content. Use it to audit images, video, audio, PDFs, featured images, and attachment files without sending scan data to an external
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati