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