Project specific donation pages for drumbeat



9 years ago
4 years ago


(Reporter: chelsea, Assigned: cvertesi)




(11 attachments)



9 years ago
Looking at the test donations in CiviContribute I can see that the test donations from the project specific pages are coming though with the source campaign being identified. This is good. However, as these are all restricted donations, they need project specific donation pages (which I think I can create in CiviContribute, Michael correct me if I am wrong), not just the general drumbeat donation page I talk about in bug 549907.

As it stands we'll need donation pages for:
StopBadware Stories
Privacy Icons
The Ultimate Open Web Presentation
P2P University: Open Web Developer 

I can set up the pages on the PayPal side and post the code for them in this bug if this is the best way to proceed. 

We also need to change the copy on these pages so that like on the general donation page we have the following: 

Donate to Mozilla Drumbeat

Project: "X"

Mozilla Drumbeat is a global community who use web technology in new ways to
understand, participate and take control of their online lives. If you support
this missing, please consider making a donation. 

Or, make a donation with a personal check

Please print out and complete the donation form and mail that with a check
payable to the Mozilla Foundation to:

The Mozilla Foundation - Drumbeat
650 Castro Street
Suite 300
Mountain View, CA, 94041-2021


Please read our Donation FAQ to find answers to common questions. You are also
welcome to send questions to

Tax Exempt Status

The Mozilla Foundation is a California non-profit corporation exempt from
federal income taxation under IRC 501(c)3. Donations are tax deductible for
U.S. citizens. For donors outside of the United States, please consult with
your tax advisor about whether your donation will be tax deductible.

* Your credit card or PayPal account will be automatically charged each month
(read our Donation FAQ ( to
find out how to cancel a monthly donation).

** The Mozilla Foundation may use any directed donation for other purposes if
the Board of Directors is unable to find suitable activities to fund for a
project, if a project becomes inactive or otherwise becomes ineligible to
receive funds.


9 years ago
Assignee: nobody → vertesi


9 years ago
Severity: normal → critical


9 years ago
Severity: critical → blocker

Comment 1

9 years ago
Trying to understand what we need here - Chelsea, can you explain what you mean by restricted donations?  The current system accepts donations and marks them per project... I understand your comment about including the recipient project in the donation form for confirmation, but otherwise I don't understand the functionality you're requesting.

Comment 2

9 years ago
Hi Campbell, 

Restricted donations are specifically for drumbeat projects. Any money donated to them is earmarked for them. We need to be able to track them both in CiviContribute but also in PayPal (our payment processor). Because we have to send people off to PayPal to process the payment, we have no way of actually confirming the payment has been completed in CiviContribute. 

If we use the general Mozilla donation page for both unrestricted drumbeat donations and restricted donations, this means that I have track down every donation made to drumbeat and to drumbeat projects within our PayPal reports (which are already at about 15000 transactions a month) and then match them to what appears in the CiviContirbute report. As drumbeat grows, it will become impossible to reconcile these numbers.

We currently have different campaigns for Mozilla projects that make it possible to track them within PayPal. It basically means creating a button within PayPal (see bug 549907) that adds the campaign tracking details to the transaction.

Comment 3

9 years ago
Michael Haggerty says they should be deploying some changes for the donation form today (Mon Mar 8)   :)

Comment 4

9 years ago
Chelsea will test.

Comment 5

9 years ago
About to test the donation, but the text still needs to be updated. If I can do this myself in Civi, please let me know where.

Comment 6

9 years ago
Okay, did a test donation and it's about 80% correct. 

-The text on the donation page still needs to be corrected to reflect above.
-While we see the donation source on the PayPal donation side, we do not see the source within the Civi report. 

-Thank you page is correct.

-I'll let you know when the donation is recorded in PayPal. Could take a few hours to be able to see it.

Comment 7

9 years ago
This is getting increasingly urgent. A couple of projects are wanted to start promoting themselves and are being held up by this donations bug. One project actually launched today, pointing to a drumbeat page with no donation button.

Can I please get a status update on this?

Comment 8

9 years ago
The text on the donation page was fixed several days ago - are you still seeing something different?

Appears to me that the only issue is recording the originating project in CiviCRM when it records a donation.  We'll build this functionality in.  Sorry, this wasn't clear to me when we worked on this last week.  Is there anything else keeping your general donations from going forward?

Comment 9

9 years ago
General donations are fine. This is about the project specific ones.

We need to make the project-specific pages. I can set them up in CiviAdmin, but I don't know what to add to the tracking. Also, it's working in a way that the type of donation can be found in the CRM, but not in PayPayl. 

Let me know if you want to talk more about this to clarify what's going on.

Comment 10

9 years ago
I think we need to talk about this directly.  These statements of yours seem contradictory:

"While we see the donation source on the PayPal donation side, we do not see
the source within the Civi report. "

"Also, it's working in a way that the
type of donation can be found in the CRM, but not in PayPayl."

I must be missing something here... I'll drop you a line on skype on Friday.

Comment 11

9 years ago
Created attachment 433393 [details]
CiviCRM Contributions Image

Comment 12

9 years ago
I'm going to be traveling all day tomorrow, so I will lay this out step by step. Sorry if I have been confusing in the past. Hopefully using screen caps will help.

This is a screen cap of all the contributions in the CiviCRM. As you can see some of them have descriptions in the source field, some of them do not. The descriptions are important so I can know which projects to allocate those dollars to. Because we refer donations off to PayPal for payment processing you will also note that none of these transactions are listed as completed transactions. They are all listed as pending (even though I know that all of mine have gone through PayPal). In order to confirm that these people have, in fact, completed the payment process and donated the money, I have to confirm the payment with PayPal.

These are screen caps of the PayPal transaction records searching for donations/contributions that match the descriptions in CiviCRM. There are a couple of searches here.

PayPal search 1: I did a search for the exact source description that is in CiviCRM and found nothing.
PayPal search 2: Did a search for the term contribution to show that contributions from AMO are coming through and that the search term Contribution is working
PayPal search 3: Search for Drumbeat. These donations are donations that have been done via direct link, bypassing the CiviCRM, also showing that the search term dumbeat works
PayPal search 4: Search for my personal donations since March. As you can see, none of the test donations that you see on the CiviCRM have gone through (you'll see that they're different amounts than the drumbeat donations that went through from the direct link).

Does this additional information help you determine what's missing here? As you can see, I don't have a way to confirm that a payment has been completed.  

The bottom line is that we need a way to confirm that the payment has been completed. While we do have PayPal pro, we are not using the full capabilities of the CiviCRM for it. This is because of regulations around storing and transmitting credit card data. So as it stands we are left sending donors fully off to PayPal.

Comment 13

9 years ago
Created attachment 433394 [details]
PayPal Search 1

Comment 14

9 years ago
Created attachment 433398 [details]
PayPal Search 2 (private data obscured)

Comment 15

9 years ago
Created attachment 433399 [details]
PayPal Search 3 (private data obscured)

Comment 16

9 years ago
Created attachment 433400 [details]
PayPal Search 4 (private data obscured)

Comment 17

9 years ago
I tried using the Search Builder with much more success.


From here select:
Record type: Contribution
Field: Contribution Source
Operator: LIKE
Search Text: "Online Contribution: Donate to the Mozilla Foundation"

You can also use a wildcard before and after the search term - a percent sign.
This means anything could come before or after that search term.
E.g. "%Mozilla%" would return any contribution with "Mozilla" in the source.

Let me know if this resolves the issue resolving contributions to projects.

Comment 18

9 years ago
Hey Michael, 

Thanks for looking at this. This is handy for searching, but I'm still unable to find project specific donations.

Can you tell me what information the CRM is sending to PayPal when it pushes donor to PayPal? What options do we have in terms of information?

For example, it should be sending the name of the donor, the account it's going to ( anything else? Perhaps that's where we can fix this.

Comment 19

9 years ago
It looks like IPN is not working correctly. I.e. civicrm is the correct place to be checking for successful transactions (contributions). IPN (Instant Payment Notifications) allows paypal to report approved transactions back to civicrm.

Can you please ensure the paypal account is configured correctly - in particular, steps 3 & 4.

Comment 20

9 years ago
Checking now.

Comment 21

9 years ago
I'm in the midst of checking this out and have one question. These instructions are for CiviCRM 3.1. Have we upgraded to that version? or are the instructions the same for 2.2.8?

Also, the instructions that Civi provides do not match the options within PayPal. In step 3 (, the instructions ask that you edit instant payment notification under profile. In the screen cap provided (PayPal Sandbox Profile Page) there is no option for that. When I select Notification (next screen cap PayPal Sandbox Notification Page) the option CiviCRM is looking for is not there. Am I looking in the wrong place?

I have completed all the steps up to this point (I can provide you with the developer account for PayPal in an e-mail and password as well as the Sandbox buyer and seller test accounts).

Looking ahead to step 4, I also don't see an option for Website Payment Preferences. 

Please advise what I should do next or if you'd like to go through this step by step with me. Thanks.

Comment 22

9 years ago
Created attachment 433970 [details]
PayPal Profile Page

Comment 23

9 years ago
Created attachment 433971 [details]
PayPal Notifications Page

Comment 24

9 years ago
Please confirm - is the PayPal account a personal, premier or business account?

The screenshots are consistent with a personal account.


Comment 25

9 years ago
Business, for Mozilla.

Comment 26

9 years ago
Should I set up another developer's account through the Mozilla account?

Comment 27

9 years ago
Copying e-mail thread into bug: 

Just got off the phone with PayPal and here's the scoop.

I can set up the IPN, but I need the URL that I'm supposed to direct it to. Michael, do you know what that would be or is that another page we need to set up?

Also, it seems that I set up a personal developer account in the sandbox (personal is the default) instead of business. I'm sorry about that and the confusion is has caused.

I can set up another developer sandbox account for business right now and then get all the sandbox IPN details set up again.

Action items:
Provide me with the URL for IPN
With your blessing, I will set up another developer account for the sandbox

Comment 28

9 years ago
The instructions for Paypal are the identical for CiviCRM 2.2.x and 3.x.

The CMS home page is ""
Please follow the instructions as copied from the above url.

3. Profile >> Instant Payment Notification Preferences

From your Developer central account (e.g. ) at

    * Test accounts -> Select the "seller" account (e.g. -> Click "Enter Sandbox Test Site" -> Login
    * You should now be at
    * Click Profile -> Instant Payment Notification -> Edit
    * Enable Instant Payments Notification (checkbox checked)
    * Enter your CMS site home page as the Notification URL. This is a placeholder. CiviContribute will pass the exact IPN 'listener' URL to PayPal automatically during each transaction.

4. Profile >> Website Payment Preferences

    * Set Auto Return to On
    * Enter your CMS site home page as the Return URL. This is a placeholder. CiviContribute will pass the exact return URL to PayPal automatically during each transaction.
    * Set "Payment Data Transfer" to "Off"

Comment 29

9 years ago
Just to clarify, I should set up a new developer account for steps 3 and 4?

I have turned on IPN in the regular account.

Comment 30

9 years ago
Another question: What does setting the IPN as do to other Mozilla donations that aren't drumbeat? Or does that just send the data to the CRM correctly?

Comment 31

9 years ago

According to the terms there, I believe you're required to use a business account for your activities. Please go ahead and create a business account.

In the meantime the personal account should verify that transactions are being recorded in civicrm.

Comment 32

9 years ago
Business account created in sandbox.
IPN has been turned on in sandbox.

Let me know if this did what it needed to do.

Comment 33

9 years ago
Could you please send the password for the developer account to Trellon?

Civicrm didn't record a payment as Completed on a test run on live, so I need to login and double check the configuration for IPN.


Comment 34

9 years ago
to which address?

Comment 35

9 years ago
Campbell and I please - I sent you an email earlier today.

Comment 36

9 years ago
Test payments are recording correctly in civicrm now. Once the correct email address was configured in civicrm paypal settings, the IPN settings kick in and it all just works.

Next step is configuring the live account for IPN and making sure the email address is correct in civicrm paypal settings.

Comment 37

9 years ago
Can confirm that I received three test donation receipts (I'm set up to be bcc'd on them). Please let me know if you need me to do anything for IPN in the live account.

Comment 38

9 years ago
As soon as IPN is configured in the live account, this functionality will start working. Please go ahead and do this.

Comment 39

9 years ago
Live account IPN is active and sending notifications to

Comment 40

9 years ago
Production test transaction failed to set payment COMPLETED.
I can't access the log described below. Can we please get a copy emailed to me?


From CiviCRM docs:
In order for contributions to be marked as COMPLETED, PayPal's Instant Payment Notification (IPN) must post back to CiviCRM an acknowledgement that the contribution was completed. In order for this to happen, your CiviCRM site must be accessible on the public internet (i.e. not running on localhost or behind a firewall). Interactions with PayPal IPN are logged to a file called CiviCRM.log located in your configured Temporary Files Directory (<drupal_root>/files/civicrm/upload/CiviCRM.log  by default on Drupal installations). Check this file for errors if your contribution statuses are not being set to COMPLETED.

Comment 41

9 years ago
who has access to get you this log?

Comment 42

9 years ago
I think the best person is Jeremiah Orem - gerv could confirm this.
If this log is on the production server, as I think you say it is, then oremj can get it - although I believe other IT people have access too. Probably best to file a new bug:
requesting it. Set severity to "As soon as possible (urgent)".


Comment 44

9 years ago
Any updates?

Comment 45

9 years ago
Transaction showed up in the log as:
Mar 26 07:34:20  [info] returning since contribution status is pending

According to the code, this indicates Paypal sent a pending status back to CiviCRM. Looking into it.

Comment 46

9 years ago
Campbell via email: 

After extensive investigation, we've discovered that the reason donations aren't working in CiviCRM is that Paypal is returning the wrong status code for transactions.  It's returning "pending" instead of "processed."  This is a paypal support issue.  We're happy to work on this on the CiviCRM side to build something custom to handle the incorrect status, but it is probably better handled on the Paypal side.  Mike Priest will send you a copy of the logs that point out the bad return code, so you have something to take to paypal.  If you want, Mike Priest and I can call in to Paypal with you to talk technically about what's going wrong.

Comment 47

9 years ago
Created attachment 435685 [details]
log file

Comment 48

9 years ago
Created attachment 435686 [details]
log file 2

Comment 49

9 years ago
Created attachment 435687 [details]
log file 3

Comment 50

9 years ago
Created attachment 435688 [details]
log file 4

Comment 51

9 years ago
Spoke with PayPal this morning and I think it would be best if we had our call with them tomorrow morning. In the meantime, they have suggested that we look up the error message on this site under "Find Answers" It may be that the solution is there otherwise they will help us sort it out during the call tomorrow.

Comment 52

9 years ago
General donations for drumbeat are now going through the CRM properly and being returned as completed by PayPal, so it is possible to cross reference drumbeat donations against PayPal.

The next step for these project specific pages is creating contribution pages for the projects in question. We have direct paypal donation pages for them, but do we need to keep using them now that PayPal and the CiviCRM are communicating properly? Please advise as to suggested next steps.

1) connect the existing direct PayPal pages to the contribution pages in CiviCRM
2) create the contribution pages from scratch

Comment 53

9 years ago
Can you explain what you need in terms of custom project pages?  Right now when a project uses the sitewide contribution page, the project name is displayed on that page.  If you want further customization - say, a totally individual page for a particular project - you have to create a contribution page from scratch in CiviCRM, and use the Donate URL field in project details to point to that custom contribution page.  

Is there further customization you're looking for?

Comment 54

9 years ago
No. The first option should work. Let me test on the project pages and confirm that they're showing up in the CRM as different donations.

Comment 55

9 years ago
Tested a donation for universal subtitles and while it was successful on the PayPal side, it did not show up in the CRM. Should we have a meeting to discuss?

Comment 56

9 years ago
Looks like something has broken recording the source - which is initially set correctly... investigating.

Comment 57

9 years ago
Thanks for all the great work on getting these donate bugs closed out guys :)

Any status on this one? Would love to cross this last one off our roadmap!

Comment 58

9 years ago
The problem is we're missing code on production tag. I'll merge this tomorrow and then you can verify.

Comment 59

9 years ago
Chelsea: are we all good on this one? Not sure of status.

Comment 60

9 years ago
Is this live on production or on stage?

Comment 61

9 years ago
Pushed to live (and staging)

Comment 62

9 years ago
@ Chelsea: can you test on live so we can mark as resolved?

Comment 63

9 years ago
Tested on WebMadeMovies. Working very nicely.


9 years ago
Last Resolved: 9 years ago
Resolution: --- → FIXED
Product: Websites → Websites Graveyard
You need to log in before you can comment on or make changes to this bug.