Donate module for Apostrophe CMS
Last updated a year ago by alexbea .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install apostrophe-donate 
SYNC missed versions from official npm registry.

#apostrophe-donate apostrophe-donate allows a developer to quickly add a donation form to a webpage on an apostrophe-sandbox-powered website. It uses the paypal-api-sdk module to process payments and allows email configuration to the donor and recipient of the donation.


I assume you already have a nifty Apostrophe 2 project built with apostrophe-site. The easiest way is to start by cloning the apostrophe-sandbox project.

Add the module to your project:

npm install --save apostrophe-donate


In app.js, you'll need to configure the apostrophe-donate module, just like the rest of your modules:

    'apostrophe-donate': {
      // production has this in local.js
      payPal: {
        mode: 'sandbox',
        client_id: 'xxxxxx',
        client_secret: 'xxxxxx'
      description: 'Donation for P\'unk Ave', //description of transaction
      // configure the email to send to the donor
        email: 'email@email.com',
        name: 'First Last'
      // configure the email to send to the recipient of the donation
        email: 'email@gmail.com',
        name: 'Recipient'
      thankYouSubject: 'Thanks!', // subject of the email to the donor
      confirmationSubject: 'Yay!' // subject of the email to send to the recipient of the donation,
      // Your recaptcha 2.0 key and secret. IF YOU LEAVE THIS OUT,
      // leave this out
      recaptcha: {
        key: 'xxx',
        secret: 'yyy'

The client_id and client_secret are retrieved after setting up a pro account with PayPal and registering your application.

Registering an app with PayPal

  • Login to PayPal and go to https://developer.paypal.com
  • Click Applications, then click Create App.
  • Give your app a name and leave the defaults in place for the sandbox developer account field.
  • Click the Create App
  • Under Test Credentials, note the Client ID and Secret. These are for your local data/local.js configuration so as to not be playing with real money in development.
  • Under Live Credentials, click Show to find the production Client ID and Secret

Registering your recaptcha 2.x key and secret

See the recaptcha documentation. You WILL regret skipping this step. Fraudsters routinely use legitimate sites to test stolen cards in bulk.


Add this line to the template of your choice where you want the form to appear

{{ aposDonationForm() }}


apostrophe-donate comes with a lot of pre-baked things.


  • form.html - donation form generated with apostrophe-schemas's schemaMacros. You can redefine the schema in index.js.
  • formWrapper.html - a wrapper for the form
  • recipientEmail.html, recipientEmail.txt - email template sent to the recipient of the donation after successful form submission
  • thankYou.html - thank you message displayed after successful form submission
  • thankYouEmail.html, thankYouEmail.txt - email sent to the donor after successful form submission.


Pre-baked styles in content.less and a spinner.gif for backward compatible ui goodness

Current Tags

  • 0.5.14                                ...           latest (a year ago)

13 Versions

  • 0.5.14                                ...           a year ago
  • 0.5.13                                ...           2 years ago
  • 0.5.12                                ...           4 years ago
  • 0.5.11                                ...           5 years ago
  • 0.5.9                                ...           5 years ago
  • 0.5.8                                ...           5 years ago
  • 0.5.7                                ...           5 years ago
  • 0.5.5                                ...           5 years ago
  • 0.5.4                                ...           5 years ago
  • 0.5.3                                ...           5 years ago
  • 0.5.2                                ...           5 years ago
  • 0.5.1                                ...           6 years ago
  • 0.5.0                                ...           6 years ago
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (6)
Dev Dependencies (0)
Dependents (0)

Copyright 2014 - 2016 © taobao.org |