{"adoption": {"forks": 2484, "observed_at": "2026-08-28T04:08:54.829202+00:00", "stars": 4600}, "canonical_url": "https://ross.abutalabs.com/products/active_merchant", "card": {"archived": false, "artifact_type": "library", "description": "Active Merchant is a simple payment abstraction library extracted from Shopify. The aim of the project is to feel natural to Ruby users and to abstract as many parts as possible away from the user to offer a consistent interface across all supported gateways.", "domain": ["fintech", "e-commerce", "web-development", "backend"], "enriched": true, "function": ["sdk", "api-framework", "security"], "health_score": 61, "homepage": "http://activemerchant.org", "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["activemerchant/active_merchant"], "name": "activemerchant/active_merchant", "platform": ["ruby", "jvm"], "pushed_at": "2025-11-04T12:57:54+00:00", "repo": "activemerchant/active_merchant", "stars": 4600, "tags": ["payments", "payment-gateway", "credit-card-processing", "rails", "billing", "abstraction-layer"], "topics": [], "urls": [], "use_cases": ["process credit card payments in a Ruby app", "unify multiple payment gateways behind one API", "add billing to a Rails application", "charge customers via different payment processors", "validate credit card details before charging", "authorize and capture payments programmatically"], "what_it_is": "Active Merchant is a Ruby payment abstraction library extracted from Shopify that provides a unified API across dozens of payment gateways. It integrates seamlessly with Ruby on Rails but also works as a standalone Ruby library for processing credit card transactions.", "when_to_avoid": ["your project is not in Ruby", "you need a full e-commerce platform rather than a payment library", "you only use a single gateway and prefer its native SDK", "you need non-card payment methods like wallets or bank transfers not covered by supported gateways"], "when_to_choose": ["you're building a Ruby or Rails application that handles financial transactions", "you need to support multiple payment gateways with a consistent interface", "you want a battle-tested library in production use since 2006", "you need credit card validation and payment abstraction without vendor lock-in"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/active_merchant", "repo": "activemerchant/active_merchant", "role": "main", "score": 45}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:54.829202+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:19:47.405052+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "760ebdda88efe585b869f112168159a4129d777144fb1c05631e68c6e070ab86", "fetched_at": "2026-08-28T04:08:54.829202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/activemerchant/active_merchant"}, {"content_hash": "82154a0e915d5956b54041ff9d056587f35091148fc49bcd5f98967052dd1f40", "fetched_at": "2026-08-29T09:04:50.060234+00:00", "kind": "homepage", "missing": false, "url": "http://activemerchant.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 50, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 6679, "days_push": 302, "days_rel": 548, "gap_med": null, "n_releases_24m": 1}, "score": 45, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}