This is the homepage for fundraising-tech documentation. If you can't find what you are looking from from here then take a look at our documentation plan and add the appropriate header & links.
Note that much of the content on this page should be moved to linked pages.
- If you want to understand what fr-tech does, who we are and how to contact us head over to mw:Fundraising tech
- There is some information on this page - Fundraising Software Development. - that needs to be migrated onto this main page
The following Mediawiki extensions related to fundraising are installed on the payments wiki:
Renders donation forms and handles donor interaction, redirecting donors to payment processors when necessary and then either presenting an error or redirecting to a thank you page.
Extension documentation on mediawiki.org
Allows a donor to unsubscribe from fundraising-related emails.
Extension documentation on mediawiki.org
We export some extremely aggregated datasets at https://frdata.wikimedia.org/, generated every half hour by the public_data_export process-control job running the fundraiser_public_data_export and fundraiser_public_data_mover child jobs.
fundraiser_public_data_export runs the FundraiserStatisticsGen/fundstatgen.py script from the tools repo, then fundraiser_public_data_mover just rsyncs the data to the frdata server.
legacy DonationForm - reusable frontend
|Service Provider Name||Production URL||SandBox URL||Sandbox Accounts||Test Cards|
|Google Pay||https://pay.google.com/business/console/home||Org email||https://groups.google.com/g/googlepay-test-mode-stub-data|
|Apple Pay||FR-Tech SandBox Accounts|
|Ingenico||https://wpc.gcsip.com/||Org email||Ingenico Test Card (Google Sheets)|
|DLocal||https://dashboard.dlocal.com/||https://dashboard.dlocal.com/||Org email||Any card number sequence is accepted, error response is tested using description|
|PayPal||https://www.paypal.com/signin||https://www.sandbox.paypal.com/||Config-Private||Use FR tech account for testing|
|Braintree||https://www.braintreegateway.com/login||https://sandbox.braintreegateway.com/login||Config-Private||Paypal - Use FR Tech Account for testing|
Cluster layout, deployment, codebases
- Routes donors to the correct payment processor based on the country, currency, and payment method.
- Incoming links from donatewiki and banners hit this special page on paymentswiki rather than going directly to individual gateways
- This allows us to disable a gateway on paymentswiki and have traffic flow immediately to the backup
We have the ability to use several payment processors for online donations. Currently, we route most credit card donations to Adyen.
- Adyen - Main credit card processor, also has iDEAL, ApplePay, and GooglePay
- Amazon - A widget on our page, integrated using Login and Pay with Amazon.
- dLocal - A payment processor specializing in the local payment methods of South America and India
- Ingenico - Ingenico has the ability to handle payments from multiple international systems including: credit card, direct debit, real time bank transfer, eWallets and more. We're currently only using them for cards.
See also, Ways to Give for our recommended donation methods according to country.
Acoustic is the service we use to send out bulk emails. They are able to handle high volumes of emails and are responsible for managing server reputation to improve deliverability. Acoustic also provide tools for A-B testing to see which emails perform better. In order to be able to use our donor information from Acoustic we have a nightly upload job. We also re-import information from acoustic - for details go to Fundraising/Data and Integrated Processes/Acoustic Integration
Note that prior brandings of the Acoustic platform may still linger - ie Silverpop, WCM, Watson Campaign Manager, or sometimes just 'IBM'
How we work (Team Processes)
Fundraising Engineering Documentation has with system information and emergency response protocols. Or more specifically Shutting the pipeline down details how/when to disable banner campaigns or other fundraising/payment services.
Fundraising On-Call documentation
See on-call documentation for instructions for on-call duty.
Feature / Bug Trackers
Payment Card Industry rules we have to follow to keep accepting credit cards.
Local setup for cluster SSH access
- Fundraising/Annual PCI form
- Fundraising/Bug Triaging
- Fundraising/CiviCRM Reporting
- Fundraising/Cluster/Civicrm staging server
- Fundraising/Cluster/Payments staging server
- Fundraising/Data and Integrated Processes/Acoustic Integration
- Fundraising/Data and flow
- Fundraising/Data and flow/Audits
- Fundraising/Data and flow/Database cheatsheet
- Fundraising/Data and flow/Failmail zoo
- Fundraising/Data and flow/Fraud filtering
- Fundraising/Data and flow/IPN listener
- Fundraising/Data and flow/Monthly convert
- Fundraising/Data and flow/PSP integrations
- Fundraising/Data and flow/PSP integrations/Adyen Checkout
- Fundraising/Data and flow/PSP integrations/Amazon
- Fundraising/Data and flow/PSP integrations/Braintree
- Fundraising/Data and flow/PSP integrations/Gateway Chooser
- Fundraising/Data and flow/PSP integrations/Ingenico
- Fundraising/Data and flow/PSP integrations/PayPal Express
- Fundraising/Data and flow/PSP integrations/dLocal
- Fundraising/Data and flow/Pending transaction resolver
- Fundraising/Data and flow/Queues
- Fundraising/Data and flow/Queues/Queue performance log
- Fundraising/Data and flow/Queues/Testing
- Fundraising/Data and flow/Recurring
- Fundraising/Data and flow/Stats pipeline
- Fundraising/Development tools/Docker
- Fundraising/Development tools/Fundraising-dev
- Fundraising/Development tools/Testing
- Fundraising/External-facing/Donor Data Delivery Tool
- Fundraising/External-facing/E-mail preference center
- Fundraising/Internal-facing/CiviCRM/Create Custom Formbuilder pages to monitor tables in other WMFF Databases
- Fundraising/Internal-facing/CiviCRM/Creating extensions in Civicrm to manage tables in other WMFF Databases
- Fundraising/Internal-facing/CiviCRM/Exporting FormBuilder Pages into an extension
- Fundraising/Internal-facing/CiviCRM/Exporting SearchKit Search into an extension
- Fundraising/Internal Endpoints/CiviCRM extensions
- Fundraising/Internal Endpoints/Drupal modules
- Fundraising/Internal Endpoints/End of year emails
- Fundraising/Normalized donation messages
- Fundraising/Queue wrangling
- Fundraising/RFC/Abstract CRM import
- Fundraising/RFC/Direct Mail Appeal campaign management
- Fundraising/Syslog Settings
- Fundraising/Team processes
- Fundraising/Team processes/Chaos crew handover
- Fundraising/Team processes/DRI
- Fundraising/Team processes/DRI/Chores
- Fundraising/Team processes/DRI/Rotation
- Fundraising/Team processes/Definition of Done
- Fundraising/Team processes/Mid-Sprint Checkup
- Fundraising/Team processes/New integration manual
- Fundraising/Team processes/On-call guide
- Fundraising/Team processes/Onboarding
- Fundraising/Team processes/Sprint Retro
- Fundraising/Team processes/Tech talks
- Fundraising/Team processes/Training
- Fundraising/tech/Apache httpd
- Fundraising/tech/Currency conversion sample
- Fundraising/tech/Installing Drupal and CiviCRM
- Fundraising/tech/crm/Add a New Gateway
- Fundraising/tech/crm/Running tests
- Fundraising/tech/crm/Upgrade CiviCRM
- Fundraising/tech/crm/Upgrade Drupal
- Fundraising/tech/ssh config