Skip to end of metadata
Go to start of metadata

Donation
--------
Donations are an integral top level component of CiviCRM and allow site admins
to create customized donation flows (and pages) and site users to make donations
of various kinds.

Donation Work Flows
-------------------

  • Multiple Page Form with conditional ordering

Page1 - Donation Introduction/Overview
This page describes the need/cause of the donation.

Page2 - Amount and Type of Donation
Choose donation amount and type (Single or Recurring)
If recurring capture frequency and duration
for example - quaterly donation of USD 5.00 till Dec 06.

Page3 - Choose Payment Options.
Payment Options offered are

  • Inhouse
  • Paypal
  • Other Payment Solutions

Page4 - If Inhouse payment method is selected in Page3
Allow user to choose their PaymentAccount

OR

Enter Credit Card details manually

Payment Accounts store information about different financial instruments a contact
can use to make payments. A contact can have multiple Payment Accounts.

Page5 - Verify the following

  • Donation Amount and Type
  • Payment Information (partial Credit card details)
  • Billing/Shipping information (where the receipt will be sent)

Confirm above details and "Donate".

Page6 - Status of "Donate" action
Success - Thank You Page
Failure - Why it failed and option to go back to Page3 or Page4.

Implementation
--------------

Administrator will be provided the capability to customize the 6 different type of pages
in the donation work flow.

Customizations allowed would be in the terms of various blocks in different locations
of the pages.

Site users will be able to see their donation details such as donation history,
recurring donations etc.

Sample Pages

Page1 - Introduction
--------------------
In the above Page1 customizations are allowed for header, central block and footer.
Currently customized text will be allowed for the 3 sections.

----------------------------------------------------------------

 

Donation for <Cause>

 

Page1 - Header

----------------------------------------------------------------

 

 

 

Page1 - Central Block

 

<textbox for more description>

 

 

 

 

----------------------------------------------------------------

 

Buttons

 

----------------------------------------------------------------

 

 

Page1 Footer

 

----------------------------------------------------------------

Page2 - Amount and Type of Donation
-----------------------------------
Custom display is done for one time and recurring donation details

----------------------------------------------------------------

 

 

 

Page2 - One time donation details

 

 

 

----------------------------------------------------------------

 

 

 

Page2 - Recurring donation details

 

 

 

----------------------------------------------------------------

Page3 - Display Payment Options
-----------------------------------
Custom display is done for differnt types of payment options
available.

----------------------------------------------------------------

 

 

 

 

Page3 - Select your payment option

Inhouse

Paypal

Other

 

 

 

----------------------------------------------------------------

Page4 - Payment Details
-----------------------------------
Custom display is done for different types of payment details
available. Either Payment Account or direct Card details.

----------------------------------------------------------------

 

Page4 - Select your Payment Account

 

OR

 

Enter Card Details

 

 

----------------------------------------------------------------

Page5 - Verification
-----------------------------------
Customized verification message ?

----------------------------------------------------------------

 

Page5 - Summary of all the values chosen in the last 4 pages

 

 

Confirm Donation ?

 

 

 

----------------------------------------------------------------

Page6 - Status with Thank You Note.
-----------------------------------
Customized note for successful or failed donation.

----------------------------------------------------------------

 

Page6 - Thank You for donating to the Cancer Awareness Campaign

 

OR

 

We're sorry, your donation did not get thru for the

following reason

 

REASON

----------------------------------------------------------------

Tentative Schema
----------------

civicrm_payment_card - Stores information about credit/debit/ATM cards

  • id unsigned integer not null, primary key (unique id)
  • contact_id foreign key into civicrm_contact(id)
  • type debit/credit/atm
  • company amex, visa, mastercard, discover etc.
  • card_number 16 digit card number
  • expires expiry date
  • name on card (prefilled with Prefix, First, Middle, Last Name, Suffix)
  • address on card (prefilled with street address, city, state, zip, country)
  • weight (priority of cards for each user)

civicrm_transaction - Stores information about each transaction

  • id transaction id unsigned integer not null, primary key (unique id)
  • start_datetime datetime of starting transaction
  • confirmation_datetime datetime of confirmation
  • ending_datetime datetime of ending the transaction
  • status current status of transaction - open, closed, pending
  • payment_card_id foreign key into civicrm_payment_card(id)
  • contact_id foreign key into civicrm_contact(id) (used primarily when payment method is external - paypal etc)
  • donation_id foriegn key into civicrm_donation

civicrm_donation - stores donation details for each contact

  • id donation id unsigned integer not null, primary key (unique id)
  • amount amount of donation.
  • currency currency of amount.
  • type 'one time', 'recurring'
  • dedicated to dedication information
  • on behalf of on behalf of whom ?
  • type of recurrence 'monthly', 'quarterly', 'semi-annualy', 'annual'
  • start_duration date of starting recurring donation
  • end_duration date of ending recurring donation
  • status 'open', 'closed' - is the donation completed ? (for recurring it's the current donation);
  • is_active boolean - is this donation active ? used for recurring donation.

civicrm_donation_page - contains information about different donation pages.

  • id page id unsigned integer not null, primary key (unique id)
  • domain_id which domain does this page belong to ?
  • page_type 'introduction', 'type/amount', 'payment option', 'payment detail', 'verification', 'donate'
  • header different customization blocks for differnt types of pages
  • footer
  • payment_type different payment types allowed debit/credit/atm
  • payment_processor 'inhouse with paymentacount only', 'inhouse with paymentaccount and cc', 'external - paypal'
  • donation_amounts donation amounts
  • recurring_donation donation amounts for different donations
Labels:

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.