I’ve implemented this as a Discourse plugin, and have been testing on my sites for a few weeks now.
There are one or two things I wanted to add (tests, documentation, full internationalisation) before announcing the new plugin on meta.discourse.org
However, if you’re willing to be beta testers, I’d be very grateful for your feedback.
My plugin is here: GitHub - chrisbeach/discourse-paid-pinning: Allows forum members to pay for pinned topics
On my forums (example: https://se23.life), I allow businesses to create one new topic free of charge. If they want to create subsequent topics, they can pay a fee using a Stripe online payment. As a bonus, their paid-for topics are pinned for four days. Here are some screenshots:
Links to “Advertise” page
“Advertise” page (non signed-up user)
Note that the text is customisable (js.discourse_paid_pinning.advertise_spiel
)
“Advertise” page (signed-in user with transactions)
Payment Popup (Stripe Checkout)
Button on User Admin Page
Clicking this reveals the following:
The following transaction indicator is also visible to staff members, and clicking on it shows the transaction list: