PyroCMS already has many of the features we need to start our own system, including a user management/login system, methods for automated reporting, and the ability to handshake with a payment gateway to handle payments.
Laravel Cashier
Workflow
Web Server
Transaction ID stored
in DB with User
Automatic
Report
Payment
Gateway
Bank
Account
Verification
Ideal Workflow
Login to
Donate
Transaction ID stored
in DB with User
Automatic
Report
Stripe
Bank
Account
Verification
Recurring or
One-time Donation
Non-profit Rate
Key Points
User controls own recurring payments
Users can cancel any time
User can see/download receipts online, anytime
Refunds handled in Stripe
PCI compliant
Report from web server will mirror Stripe transactions