DynamiApps PostFee – Pay Per Post & Paid Listings
DynamiApps PostFee – Pay Per Post & Paid Listings

DynamiApps PostFee – Pay Per Post & Paid Listings

0/5 (0 ratings) — active installs Updated Nov 10, 2026
The submission form on your site, built from blocks you can rearrange and style.

The submission form on your site, built from blocks you can rearrange and style.

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.

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.
  • Any post type – charge for pages and custom post types such as jobs, listings or events, with plans limited to certain types.
  • WooCommerce checkout – sell plans through WooCommerce, with its payment methods, taxes and coupons.

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, category, tags, featured image, 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

  1. Activate the plugin. A “Submit a Post” and a “My Posts” page and a pay-per-post plan are created for you.
  2. The 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.
  3. Add 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.

For developers

Actions: postfee_post_submitted, postfee_order_paid, postfee_order_refunded, postfee_post_activated, postfee_post_upgraded, postfee_post_expired, postfee_credit_returned, postfee_post_suspended, postfee_post_resumed, postfee_subscription_ended, postfee_subscription_renewed.

Filters: postfee_gateways, postfee_post_types, postfee_paid_post_status, postfee_format_price.

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 ([email protected]) 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.