About this plugin
DynamiApps PostFee lets visitors submit content from the frontend and pay before it goes live.
- Pay per post – a fee for each submission.
- Post packages – sell a bundle of posts up front, optionally with an expiry.
- Subscriptions – a number of posts (or unlimited) every month or year.
- Paid upgrades – feature a post or extend how long it stays listed.
Payments are taken through Stripe Checkout, PayPal or the WooCommerce checkout. No other plugin is required for Stripe or PayPal.
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
- Activate the plugin. A “Submit a Post” and a “My Posts” page are created for you.
- Go to Post Fee > Settings, choose your currency and set up a payment method.
- Go to Post Fee > Plans and add at least one plan.
For Stripe and PayPal, add a webhook in their dashboard using the URL shown on the settings page. Subscription renewals, cancellations and refunds depend on it.
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
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
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.