DynamiApps PostFee lets visitors submit posts from the frontend of your site and pay before they go live. Use it to charge for paid listings, job boards, business directories, classified ads, event listings or guest posts, without building a membership site. Pay per post – a fee for each submission.
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.3 and PHP 7.4.
SourceWordPress plugins · Nov 14, 2026
01 / Source details
Aboutthistool.
DynamiApps PostFee lets visitors submit posts from the frontend of your site and pay before they go live. Use it to charge for paid listings, job boards, business directories, classified ads, event listings or guest posts, without building a membership site.
Pay per post – a fee for each submission.
Post packages – sell a bundle of posts up front, optionally with an expiry.
Listing duration – posts expire after a set time, and can be featured for a while.
Any post type – charge for posts, pages and custom post types such as jobs, listings or events.
Payments are taken through Stripe Checkout or PayPal. No other plugin is required.
PostFee Pro
PostFee Pro adds:
Subscriptions – a number of posts (or unlimited) every month or year, through Stripe, PayPal or WooCommerce Subscriptions.
Paid upgrades – users pay to feature a post or extend how long it stays listed.
Plans per post type – limit a plan to certain post types, such as a plan that only covers jobs.
WooCommerce checkout – sell plans through WooCommerce, with its payment methods, taxes and coupons.
Advanced Custom Fields – add any ACF field group to the submission form. Its fields are validated and saved to the submitted post the way ACF saves them.
Elementor widgets – the form, the dashboard and the pricing table as Elementor widgets, with style controls for fields, buttons, tables and plan cards.
Blocks
Every part of the frontend is a block that holds other blocks, so you can remove, reorder, relabel and style each piece and put any other block (headings, columns, images) in between.
Post Fee Form – the submission form, followed by the payment step. Inside it: title, content, excerpt, category, tags, featured image, custom fields, ACF field groups (Pro), the prepaid posts notice and the submit button.
Post Fee Dashboard – the user’s plans and posts, with the upgrade options. Inside it: the plans table, the posts table and the new post button.
Post Fee Plans – a pricing table for buying post packages and subscriptions ahead of time. The blocks inside it (name, price, description, features, buy button) are the layout of one plan, repeated for every plan.
Setup
01Activate the plugin. A “Submit a Post” and a “My Posts” page and a pay-per-post plan are created for you.
02The setup wizard opens: choose your currency, connect Stripe or PayPal and set your price. You can run it again any time from Post Fee > Setup or the “Need help?” button.
03Add more plans under Post Fee > Plans if you like.
For Stripe and PayPal, add a webhook in their dashboard using the URL shown on the settings page. Refunds, and in Pro subscription renewals and cancellations, depend on it.
In Pro, selling subscription plans through WooCommerce requires the WooCommerce Subscriptions extension.
Featured posts carry the _postfee_featured_until meta (a Unix timestamp) and the postfee-featured CSS class. Posts of the “post” type are also made sticky.
External services
Post Fee takes payments through Stripe or PayPal when you set one of them up under Post Fee > Settings. Nothing is sent to either service until you have entered its API keys.
Stripe
Used to take one-off and subscription payments on Stripe’s hosted checkout page, at https://api.stripe.com.
When a user starts a payment: the order number, the plan name and the title of the post being paid for, the amount and currency, the billing period for subscriptions, the user’s email address (or their Stripe customer ID from an earlier payment) and the URLs on your site to return to. The user is then sent to Stripe to pay.
When the user returns from Stripe: the ID of the checkout session and of the subscription, to confirm the payment.
When a user cancels a subscription: the ID of that subscription.
Stripe also sends payment, renewal, cancellation and refund notices to a webhook on your site.
This service is provided by Stripe: terms of service , privacy policy .
PayPal
Used to take one-off and subscription payments on PayPal’s hosted checkout page, at https://api-m.paypal.com (or https://api-m.sandbox.paypal.com in sandbox mode).
When a user starts a payment: the order number, the plan name and the title of the post being paid for, the amount and currency, the name of your site and the URLs on your site to return to. For subscriptions, the plan’s name, price and billing period are also saved in your PayPal account as a product and a billing plan. The user is then sent to PayPal to pay.
When the user returns from PayPal: the ID of the PayPal order or subscription, to confirm and capture the payment.
When a user cancels a subscription: the ID of that subscription.
When PayPal sends a payment, renewal, cancellation or refund notice to the webhook on your site: the notice and its signature headers are sent back to PayPal to confirm it is genuine.
This service is provided by PayPal: user agreement , privacy statement .
Support requests
The “Need help?” button on the plugin’s admin screens can send a message to DynamiApps support (support@dynamiapps.com) using your site’s own email. Nothing is sent unless you fill in the form and press Send. The email contains your message and email address and, if you leave the box ticked, your site address, the WordPress, PHP and Post Fee versions, the theme, the currency and which payment methods are switched on. No passwords or API keys are sent. DynamiApps: terms of service , privacy policy .
See it in action
Screenshots & previews.
The submission form on your site, built from blocks you can rearrange and style.After submitting, users choose a plan and pay with Stripe or PayPal.The My Posts dashboard, where users pay for, edit, relist and delete their posts.The Plans block: a pricing table for selling post packages ahead of time.Creating a plan: price, number of posts, listing duration and featured time.The setup wizard gets you selling in four steps.Every payment is listed under Post Fee > Orders.
02 / Source details
Frequently asked questions.
What can I use PostFee for?
Any site where people pay to publish: paid listings, business directories, job boards, classified ads, event listings, real estate listings, or sponsored and guest posts.
Do users need an account to submit a post?
Yes. Users log in before they submit, so each post has an author who can come back to pay, edit or relist it. To let visitors sign up themselves, turn on “Anyone can register” under Settings > General.
Can I review posts before they go live?
Yes. Choose “Hold the post for review” in the setup wizard or under Post Fee > Settings. Paid posts then wait in Pending until you publish them.
Can I sell several posts at once?
Yes. Create a post package plan with the number of posts it includes and, if you like, how long they can be used for. Buyers spend one post each time they submit.
What happens when a listing expires?
The post is taken off your site and marked Expired on the user’s My Posts page, where they can pay again to relist it.
Can I offer free listings?
Yes. Give a plan a price of 0 and users can publish with it without paying.
Can I test payments before going live?
Yes. Use your Stripe test keys (they start with sk_test_) or PayPal sandbox mode, then switch to live keys when you’re ready.
Does PostFee take a cut of my payments?
No. Money goes straight to your Stripe or PayPal account. Only their usual processing fees apply.
What happens when I refund a payment?
Refund it in Stripe or PayPal. Once the webhook is set up, PostFee takes the post off your site and back to awaiting payment, and removes any unused posts the order bought.
Can I take payments another way, such as a bank transfer?
Yes. Leave the order pending, and when the money arrives use “Mark as paid” under Post Fee > Orders. The post goes live as if it had been paid online.
Does it work with my theme?
The submission form, the My Posts dashboard and the pricing table are blocks, so they work in any theme that shows page content. Each part can be moved, relabelled and styled in the block editor.
Can users pay for pages or custom post types?
Yes. Tick the post types users may pay to post under Post Fee > Settings: posts, pages or any public custom post type such as jobs, listings or events. PostFee does not create post types itself; register them with your theme or a post type plugin.
Can I collect extra details, such as a price or a phone number?
Yes. Add a Custom Field block to the form for each detail: text, paragraph, number, email, link, phone, date, dropdown, radio buttons or checkboxes, optionally required. Each value is saved as a custom field (post meta) of the submitted post under the key you choose. With PostFee Pro and Advanced Custom Fields, the ACF Field Group block shows all the fields of a field group and saves them as ACF would.
Where can I get help?
Click “Need help?” on any Post Fee screen in your dashboard to run the setup wizard again or send a message to our support team, or post in the support forum here.
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