Closed Bug 549916 Opened 15 years ago Closed 15 years ago

Project specific donation pages for drumbeat

Categories

(Websites Graveyard :: drumbeat.org, defect)

x86
All
defect
Not set
blocker

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: chelsea, Assigned: cvertesi)

Details

Attachments

(11 files)

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 WebMadeMovies Privacy Icons The Ultimate Open Web Presentation MagicSubtitles 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 Questions? Please read our Donation FAQ to find answers to common questions. You are also welcome to send questions to donations@mozilla.org. 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 (http://www.mozilla.org/foundation/donate_faq.html) 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.
Assignee: nobody → vertesi
Severity: normal → critical
Severity: critical → blocker
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.
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.
Michael Haggerty says they should be deploying some changes for the donation form today (Mon Mar 8) :)
Chelsea will test.
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.
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.
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. https://www.drumbeat.org/project/lets-get-video-wikipedia Can I please get a status update on this?
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?
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.
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.
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.
Attached image PayPal Search 1
I tried using the Search Builder with much more success. See http://www.drumbeat.org/civicrm/contact/search/builder?reset=1 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. Michael
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 (accounting@mozilla.org)... anything else? Perhaps that's where we can fix this.
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. http://wiki.civicrm.org/confluence/display/CRMDOC/PayPal+Website+Payments+Standard+and+Recurring+Contributions Can you please ensure the paypal account is configured correctly - in particular, steps 3 & 4.
Checking now.
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 (http://wiki.civicrm.org/confluence/display/CRMDOC/PayPal+Website+Payments+Standard+and+Recurring+Contributions), 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.
Attached image PayPal Profile Page
Please confirm - is the PayPal account a personal, premier or business account? The screenshots are consistent with a personal account. M
Business, for Mozilla.
Should I set up another developer's account through the Mozilla account?
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
The instructions for Paypal are the identical for CiviCRM 2.2.x and 3.x. http://wiki.civicrm.org/confluence/display/CRMDOC22/PayPal+Website+Payments+Standard+and+Recurring+Contributions The CMS home page is "http://www.drumbeat.org" Please follow the instructions as copied from the above url. 3. Profile >> Instant Payment Notification Preferences From your Developer central account (e.g. paypaldev@example.com ) at https://developer.paypal.com * Test accounts -> Select the "seller" account (e.g. paypal_1207343391_biz@example.com) -> Click "Enter Sandbox Test Site" -> Login * You should now be at https://www.sandbox.paypal.com/... * 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"
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.
Another question: What does setting the IPN as drumbeat.org do to other Mozilla donations that aren't drumbeat? Or does that just send the data to the CRM correctly?
https://cms.paypal.com/us/cgi-bin/marketingweb?cmd=_render-content&content_ID=ua/UserAgreement_full&locale.x=en_US 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.
Business account created in sandbox. IPN has been turned on in sandbox. Let me know if this did what it needed to do.
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. Thanks, Michael
to which address?
Campbell and I please - I sent you an email earlier today.
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.
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.
As soon as IPN is configured in the live account, this functionality will start working. Please go ahead and do this.
Live account IPN is active and sending notifications to http://www.drumbeat.org.
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? <drupal_root>/files/civicrm/upload/CiviCRM.log Thanks, Michael 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.
who has access to get you this log?
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: https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&format=itrequest requesting it. Set severity to "As soon as possible (urgent)". Gerv
Any updates?
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.
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.
Attached file log file
Attached file log file 2
Attached file log file 3
Attached file log file 4
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 www.paypal.com/mts under "Find Answers" It may be that the solution is there otherwise they will help us sort it out during the call tomorrow.
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 or 2) create the contribution pages from scratch
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?
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.
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?
Looks like something has broken recording the source - which is initially set correctly... investigating.
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! https://wiki.mozilla.org/Drumbeat/Roadmap
The problem is we're missing code on production tag. I'll merge this tomorrow and then you can verify.
Chelsea: are we all good on this one? Not sure of status.
Is this live on production or on stage?
Pushed to live (and staging)
@ Chelsea: can you test on live so we can mark as resolved?
Tested on WebMadeMovies. Working very nicely.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Product: Websites → Websites Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: