Paycan - Payment Integration Service
⚠️ Development Notice
This application is currently under active development and is not production-ready. Please use this for learning, development, and testing purposes only. Want to contribute? We'd love your help! Check out our contribution guidelines below to get started.
🚀 Philosophy
Payment integration shouldn't be complicated.
We believe every developer should be able to collect money with just a few lines of code, without being locked into a single payment provider. Our mission is to create a unified, vendor-agnostic payment integration that works seamlessly with any payment gateway while maintaining simplicity and flexibility.
No webhook handling, no customer creation, no subscription management.
Core Principles
- Developer First: Minimal setup, maximum functionality
- No Vendor Lock-in: Switch between payment providers without rewriting your entire payment system
- Unified API: One interface for all payment gateways
- Production Ready: Built with best practices and extensive testing
✨ Features
- 🔌 Multiple Payment Gateways: Currently support for PayPal and Stripe (more soon)
- 📊 Subscription Management: Handle recurring payments effortlessly
- 💳 One-time Payments: Simple integration for single transactions
- 🎯 Plan Management: Dynamic subscription plan handling
- 🔐 Secure by Design: Use security best practices
- 🧪 Fully Tested: Comprehensive test coverage with Pest
- 📖 Well Documented: Clear documentation and examples (soon)
- 🌐 API First: RESTful API for headless implementations
🛠 Installation
- Clone the repository
git clone https://github.com/paycan-app/paycan.git
cd paycan
- Install dependencies
composer install
npm install
- Set up your environment
cp .env.example .env
php artisan key:generate
- Configure your database
php artisan migrate
- Start developing
npm run dev
php artisan serve
- Test User (with seed)
email: '[email protected]',
password: 'password'
🤝 Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding new payment gateways, improving documentation, or suggesting new features, your help is appreciated.
How to Contribute
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Write tests for your changes
- Ensure tests pass (
php artisan test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Areas We Need Help With
- 🎨 Frontend/UI: Improve payment forms and user experience
- 🔌 Gateway Integrations: Add support for new payment providers
- 📖 Documentation: Help for our guides and examples
- 🧪 Testing: Expand test coverage and edge cases
- 🌍 Localization: Translate to different languages
- 🔧 DevOps: CI/CD improvements and deployment automation
🎯 Roadmap
- Admin Backend: Yo manage products, orders, subscriptions, etc.
- Advanced Analytics: Payment insights and reporting
- Additional Gateways: Braintree, Razorpay, Mollie, Shetab
- Marketplace Support: Split payments and marketplace fees
- Multi-currency: Enhanced currency conversion support
- Fraud Detection: Built-in fraud prevention tools
- SDK: SDK to work with API
📄 License
This project is licensed under the AGPLv3 License