Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. gringotts

gringotts

MITElixirv1.1.0

A payment processing library for Elixir and Phoenix providing a unified API for multiple payment gateways.

Visit WebsiteGitHubGitHub
502 stars54 forks0 contributors

What is gringotts?

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.

Target Audience

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.

Value Proposition

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.

Overview

A complete payment library for Elixir and Phoenix Framework

Use Cases

Best For

  • Elixir applications needing to support multiple payment gateways (e.g., Authorize.Net, Stripe, MONEI) without rewriting code for each.
  • Phoenix-based e-commerce platforms requiring essential payment operations like purchase, authorize, capture, void, and refund.
  • Projects that prioritize safe monetary representation and want to integrate with money libraries like ex_money via a protocol.
  • Teams looking for a payment library with consistent documentation, good test coverage, and inspiration from established solutions like Shopify's Active Merchant.
  • Applications where PCI compliance varies by gateway, as Gringotts supports both mandatory and optional PCI-compliant gateways.
  • Developers seeking an extensible payment abstraction to focus on business logic rather than gateway-specific complexities.

Not Ideal For

  • Elixir applications that only use a single payment gateway and have no plans to switch or add more, as Gringotts' abstraction layer adds unnecessary complexity.
  • Projects requiring precise fractional cent transactions or complex financial rounding, since Gringotts rounds amounts and discards remainders, requiring manual management.
  • Teams needing out-of-the-box subscription management or advanced billing features like invoicing, as Gringotts focuses on basic payment operations without built-in support for recurring payments.

Pros & Cons

Pros

Unified Gateway API

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.

Extensible Money Protocol

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.

Comprehensive Testing

Includes consistent documentation and a good amount of tests, with high coverage indicated by badges in the README, ensuring reliable usage in production.

Broad Gateway Support

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.

Cons

External Money Dependency

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.

Inconsistent Gateway Features

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.

Manual Amount Rounding

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.

Frequently Asked Questions

Quick Stats

Stars502
Forks54
Contributors0
Open Issues24
Last commit1 year ago
CreatedSince 2017

Tags

#ecommerce#payment-gateway#elixir#payment#gateway#elixir-phoenix#phoenix-framework#open-source-library#payments#payment-processing#stripe#financial#api-integration#billing

Built With

E
Elixir
P
Phoenix Framework

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 22 hours ago

Related Projects

google-cloudgoogle-cloud

Elixir client libraries for accessing Google APIs.

Stars1,080
Forks475
Last commit3 months ago
stripity_stripestripity_stripe

An Elixir Library for Stripe

Stars1,077
Forks379
Last commit1 day ago
pigeonpigeon

iOS and Android push notifications for Elixir

Stars683
Forks164
Last commit28 days ago
slackslack

Slack real time messaging and web API client in Elixir

Stars682
Forks183
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub