Skip to content
A discourse plugin for accepting donations via Stripe
Branch: master
Clone or download
rimian Merge pull request #8 from Dax74/patch-3
Latest commit 9f51b0e Sep 21, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets/javascripts/discourse disable the button as soon as it is clicked May 29, 2017
config Merge pull request #8 from Dax74/patch-3 Sep 22, 2017
lib/discourse_donations require the job in plugin Apr 27, 2017
spec fix missing strong param May 23, 2017
.gitignore ignore byebug Feb 6, 2017
.ruby-version bump ruby version May 18, 2017
.travis.yml run this plugins js tests only and bump ruby May 18, 2017
LICENSE Initial commit Jan 29, 2017
jsapp acceptacnce test verifies page renders Feb 13, 2017

Discourse Donations

Build Status

Accept donations in Discourse! Integrates with Stripe.


  • Be sure your site is enforcing https.
  • Follow the install instructions here:
  • Add your Stripe public and private keys in settings and set the currency to your local value.
  • Add the following script to your page header in a custom theme component: <script src=""></script>
  • Enable the plugin and wait for people to donate money.

Creating new user accounts

This is an experimental feature. A user can create a new account if they makes a successful donation. Enable this in settings. When a user is not logged in, they will be asked to enter details for a new user account. This feature doesn't support mandatory custom user fields yet.


  • To run the rails specs, install the plugin and run bundle exec rake plugin:spec[discourse-donations] in the discourse root directory.
  • To run qunit tests: MODULE='Acceptance: Discourse Donations' bundle exec rake qunit:test[20000].
  • To run Component tests: MODULE='component:stripe-card' bundle exec rake qunit:test[20000].


  • If you're using a zsh shell, then you probably get this error: zsh: no matches found ... and you'll need to escape the square brackets with backslashes.


  • Handle custom fields
  • Acceptance test in RSpec not qunit.

Tested Credit Card Numbers

These numbers can be used in test mode to simulate a transaction. For more information see the Stripe docs.

Card numbers in bold have beed tested.

  • 4000 0000 0000 0077 Charge succeeds and funds will be added directly to your available balance (bypassing your pending balance).
  • 4000 0000 0000 0093 Charge succeeds and domestic pricing is used (other test cards use international pricing). This card is only significant in countries with split pricing.
  • 4000 0000 0000 0010 The address_line1_check and address_zip_check verifications fail. If your account is blocking payments that fail postal code validation, the charge is declined.
  • 4000 0000 0000 0028 Charge succeeds but the address_line1_check verification fails.
  • 4000 0000 0000 0036 The address_zip_check verification fails. If your account is blocking payments that fail postal code validation, the charge is declined.
  • 4000 0000 0000 0044 Charge succeeds but the address_zip_check and address_line1_check verifications are both unavailable.
  • 4000 0000 0000 0101 If a CVC number is provided, the cvc_check fails. If your account is blocking payments that fail CVC code validation, the charge is declined.
  • 4000 0000 0000 0341 Attaching this card to a Customer object succeeds, but attempts to charge the customer fail.
  • 4000 0000 0000 9235 Charge succeeds with a risk_level of elevated and placed into review.
  • 4000 0000 0000 0002 Charge is declined with a card_declined code.
  • 4100 0000 0000 0019 Charge is declined with a card_declined code and a fraudulent reason.
  • 4000 0000 0000 0127 Charge is declined with an incorrect_cvc code.
  • 4000 0000 0000 0069 Charge is declined with an expired_card code.
  • 4000 0000 0000 0119 Charge is declined with a processing_error code.
  • 4242 4242 4242 4241 Charge is declined with an incorrect_number code as the card number fails the Luhn check.


This software comes with no warranty of any kind.

You can’t perform that action at this time.