Fundraising system spec

From Wikimedia UK
Jump to navigation Jump to search

Specification

Just some thoughts to start off:

  • Banners - click through passing a banner ID
Don't need to worry about this, this is handled by CentralNotice.
  • Landing page - collect the ID of the banner that referred them
This contains a form but we want to collect as little info here as possible: If they pick PayPal for example, then PayPal collects the info.
We need to collect whether they will do Gift Aid
Question: is this for internal records, or just to tell the payment gateway? (I assume the former)
Cf our landing pages last year, which worked well. We need to make sure that these landing pages are highly configurable - last year they were set up on a MediaWiki wiki which gave a high level of control to non-techie fundraisers, we need that again.
  • Offer them 4 (?) choices to give money:
  1. PayPal
  2. Credit card Credit card payments are taken via Paypal.
  3. Set up a Direct Debit
  4. Post a cheque to the Office (?) This information needs to be present on the form somewhere, but doesn't need a high profile.
  • PayPal has an API
    • Paypal has a number of APIs :) which one are we using?
  • SmartDebit is used at present for processing card payments
  • Direct Debit has an API (yes it does [1] - but you have to email SmartDebit for details)
Yes, it does.
  • Donor database
Specifically CiviCRM. What we need to happen is that the data the donor provides on the form is committed to CiviCRM automatically once the payment processor has confirmed that the transaction is valid, and not before.
From a technical perspective; just needs a table with all the donor data + transaction ID which can then be pushed to CiviCRM when the payment gateway API confirms the payment. Varies by gateway but all let you set a custom ID to transactions.
  • Email integration
Specifically (at minimum) sending a Thankyou email when a donation is confirmed (or via a batch process within a few hours). The thankyou email needs to be configurable if necessary.
  • CiviCRM integration
    • CiviCRM has an API...
  • Thank you page