DynamiApps PostFee

Description

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

  1. Activate the plugin. A “Submit a Post” and a “My Posts” page are created for you.
  2. Go to Post Fee > Settings, choose your currency and set up a payment method.
  3. 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

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.

Blocks

This plugin provides 18 blocks.

  • Post Tags Field A comma-separated list of tags for the post being submitted.
  • Post Category Field A dropdown for choosing a category, or a term of another hierarchical taxonomy.
  • Post Title Field The title of the post being submitted.
  • Featured Image Field An upload field for the featured image of the post being submitted.
  • Submit Button The button that submits the Post Fee form.
  • Post Content Field The body of the post being submitted.
  • Prepaid Posts Notice Tells users with a package or subscription that this post is already covered. Hidden for everyone else.
  • New Post Button A button linking to the submit page.
  • My Posts Table The posts the user has submitted, with links to pay for, edit and upgrade them.
  • My Plans Table The packages and subscriptions the user has bought. Hidden when they have none.
  • Plan Features What the plan includes: number of posts, listing time, featured time.
  • Plan Name The name of the plan.
  • Plan Price The price of the plan, and how often it is charged.
  • Plan Buy Button The button that starts the payment. One button per payment method when several are enabled.
  • Plan Description The description of the plan. Hidden for plans without one.
  • Post Fee Plans A pricing table for buying posts ahead of time. The blocks inside it are the layout of one plan, repeated for every plan.
  • Post Fee Dashboard Where users see their plans and posts, pay for, edit and upgrade them. Add, remove, reorder and style the sections inside it.
  • Post Fee Form The form users fill in to submit a post, followed by the payment step. Add, remove, reorder and style the fields inside it.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“DynamiApps PostFee” is open source software. The following people have contributed to this plugin.

Contributors

Translate “DynamiApps PostFee” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

0.1.0

  • Initial version.