Hi everyone! ![]()
Integrating a payment gateway into a Frappe application often means writing similar code repeatedly. A new provider can mean another checkout flow, payment status handling, webhook implementation, and settlement logic.
We wanted to make this easier, so we’ve been working on Payment Core, a reusable, provider-neutral payment layer for Frappe applications. We’ve now open-sourced it along with our first gateway integration!
1. Payment Core
Payment Core provides a shared foundation for handling payments, so developers don’t have to rebuild the common parts of a payment integration every time.
It includes functionality for:
-
Payment references and transaction lifecycle management
-
Common payment status handling and settlement
-
Payment pages and gateway resolution
-
Idempotency and safer payment processing
-
A consistent integration contract for gateway providers
The idea is to keep common payment logic separate from provider-specific implementation, making it easier to add new gateways without rewriting the entire payment flow.
2. Stripe Payment
Stripe Payment is the first gateway integration built on Payment Core.
It brings Stripe’s capabilities into the Frappe ecosystem, including:
-
Hosted checkout
-
3D Secure authentication
-
Subscription payments
-
Signed webhook verification and payment event handling
The architecture also makes it possible for custom Frappe applications to integrate payments without tying their business logic directly to a particular provider.
Both projects are open source under the MIT license, and we’ve been using them in production.
3. What’s Coming Next?
We’re actively working on expanding gateway support. The following integrations are in our development pipeline:
-
Razorpay - for businesses using Razorpay to accept payments.
-
Paytm - to extend payment options for the Indian market.
-
GoCardless - to support bank-payment and direct-debit use cases.
Our goal is to build these integrations on the shared Payment Core foundation, keeping common payment handling consistent while allowing each provider to retain its specific functionality.
These integrations are still in development, and we’ll share updates as they progress.
Repositories
We’re sharing these projects with the Frappe community because we’d love to see developers build on them, try different integration approaches, and help improve the ecosystem.
Feedback, bug reports, and pull requests are welcome! ![]()
Which payment gateway would you like to see supported next?