A payment processing library for Elixir and Phoenix providing a unified API for multiple payment gateways.
Gringotts is a comprehensive payment processing library for Elixir and Phoenix applications. It provides a unified API to interact with dozens of different payment gateways, abstracting away their varying APIs, response schemas, and documentation. The library simplifies payment integration by offering consistent operations like purchase, authorize, capture, void, refund, and card storage.
Elixir and Phoenix developers building applications that require payment processing, such as e-commerce platforms, subscription services, or any system needing to handle transactions via multiple gateways.
Developers choose Gringotts for its simple, unified API that reduces the complexity of integrating multiple payment gateways, its extensible design via the Gringotts.Money protocol for safe monetary representation, and its test-friendly approach with comprehensive documentation and consistent testing.
A complete payment library for Elixir and Phoenix Framework
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a consistent interface for multiple payment gateways like Authorize.Net and Stripe, abstracting their varying APIs and response schemas, which simplifies integration for developers.
Allows integration with any money library via the Gringotts.Money protocol, such as ex_money, ensuring safe monetary representation without vendor lock-in, as recommended in the README.
Includes consistent documentation and a good amount of tests, with high coverage indicated by badges in the README, ensuring reliable usage in production.
Integrates with six major gateways including Stripe and MONEI, supporting essential operations like purchase, authorize, capture, void, refund, and card storage across most of them.
Does not ship with a money library; requires adding ex_money or similar and implementing the Money protocol, adding setup complexity and potential integration issues.
Some supported gateways lack full feature support, e.g., CAMS and PAYMILL don't allow card unstore, and TREXLE doesn't support void operations, limiting flexibility.
Developers must round amounts before invoking Gringotts and manage remainders themselves, as the library may discard fractions, which can be error-prone for financial applications.