Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Braintree Bundle Laravel Package

shwrm/braintree-bundle

This package provides a Braintree integration for PHP applications, making it easier to configure credentials and access Braintree payment services. Use it to streamline payment processing setup and reduce boilerplate when working with Braintree.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for payments — but only to rule this package out. shwrm/braintree-bundle is not a payments product. It's a thin Symfony 2 dependency-injection wrapper around Braintree's official PHP SDK (braintree/braintree_php). It adds configuration plumbing and service wiring, not capability. The real decision it informs is "Braintree vs. Stripe vs. Paddle vs. Adyen," and that decision is unaffected by this bundle's existence.

  • Framework strategy and stack hygiene. This surfaces the Symfony-vs-Laravel question directly. Despite being catalogued alongside Laravel packages, this is a Symfony 2 bundle with no ServiceProvider, no facade, no config/*.php, and no package auto-discovery — none of the conventions a Laravel team relies on. Adopting it on Laravel means writing custom bootstrapping to make a foreign framework's bundle cooperate with Laravel's container, which is pure maintenance tax with no offsetting benefit. On a PM level, this is a "do we standardize or accumulate glue" decision, and the answer is standardize.

  • Roadmap and EOL risk. Symfony 2 reached end of life in 2018/2019. Adopting this bundle pins the payment layer to an unsupported framework major, which in turn constrains the PHP version and blocks upgrades elsewhere in the stack. That's a roadmap constraint entered through the revenue path — the worst place to acquire one.

  • Compliance scope (SCA / 3DS2 / PCI). EU/UK PSD2 Strong Customer Authentication and 3D Secure 2 became mandatory in 2021, and Braintree's SDK moved substantially to support that (Drop-in UI, client token changes, webhook signature verification). A frozen wrapper with zero downstream users is a poor bet on that question. The correct answer is to verify SCA/3DS2 support against the vendor SDK directly, not assume a legacy wrapper covers it.

  • Vendor concentration and abstraction. Whether to hide payments behind an internal PaymentGateway interface (charge, vault, refund, client token, webhook verify) so the provider stays swappable. That is a worthwhile design decision — and it is explicitly not solved by this package.

  • Supply-chain risk on the revenue path. Zero stars, zero dependents, single maintainer. No community means no implicit testing, no issue triage, no security review surface, and no one to inherit maintenance. For a PM, "who fixes this at 2am during a payment outage" is a product question, and the answer here is "we do, forever, if we adopt it."

When to Consider This Package

Consider it only in one narrow case: you operate a legacy Symfony 2.x application (2.8 LTS or earlier) that already depends on this bundle, the application is in maintenance-only mode with a funded migration off it, and touching the payment layer mid-migration carries more risk than leaving it alone. In every other scenario, look elsewhere.

Look elsewhere — which is to say, almost always — if any of the following hold:

  • You are on Laravel. Use the official braintree/braintree_php SDK behind a small service provider and your own internal payment interface, or use Laravel Cashier if you standardize on Stripe or Paddle. Note that a Laravel service provider plus config here is roughly 20–150 lines of code, so the bundle's entire value proposition evaporates.

  • You need a maintained framework or modern PHP. Symfony 3.4 through 6.x/7.x, Laravel 9/10/11/12, PHP 8.2+. This bundle gives you nothing there, and Braintree's SDK is framework-agnostic anyway. A pre-flight composer why-not will likely confirm hard version conflicts before any spike begins.

  • You have compliance or reliability requirements. SCA/3DS2, PCI scope reduction via hosted fields or Drop-in UI, webhook signature verification, idempotency, and subscription lifecycle handling all come from the vendor SDK plus your own integration code — never from a framework wrapper.

  • You care about supply-chain hygiene. Zero stars and zero dependents means no upstream community, no one else hitting (or fixing) the bugs you will hit. A single-maintainer wrapper on the revenue path is a bus-factor-of-one dependency.

  • You want subscriptions, metered billing, marketplace payouts, or reconciliation. These are product capabilities needing deliberate design against the provider's API and your ledger. A bundle does not shorten that work, and if you go the Cashier-Braintree route, verify current maintenance status first — that lineage has been deprecated historically, and you should not inherit a second abandoned dependency.

How to Pitch It (Stakeholders)

For executives: This is a dead wrapper around a live SDK. It targets Symfony 2, which is end-of-life, it has zero stars and zero dependents, and it does not work with Laravel. Adopting it would put revenue-critical payment code behind an unmaintained, single-maintainer dependency pinned to an unsupported framework version — a security and availability risk with no feature upside, because every payment capability we actually need ships in Braintree's official PHP SDK. The recommended alternative is straightforward engineering work (roughly 2–4 engineer-days for a Laravel service provider, a config file, and a PaymentGateway adapter), not a quarter-long project, and it leaves us with a swappable provider interface instead of a legacy lock-in.

For engineering: Recommend against adoption; treat shwrm/braintree-bundle as a reading reference at most. Standardize on braintree/braintree_php at a currently supported major, wrapped in our own PaymentGateway interface (charge, vault, refund, client token, webhook verify) so the vendor stays swappable. Register the SDK as a singleton in a Laravel service provider bound to config from env vars, verify webhook signatures with the SDK's parser before any state change, add an idempotency table keyed on Braintree's notification ID, and handle SCA/3DS2 through the vendor's Drop-in UI. Budget the real effort where it belongs — subscription state, refunds, reconciliation, retries with backoff, and alerting — rather than in framework glue. Skip any adapter shim to make Symfony 2's container cooperate with Laravel's; it will cost more than writing the provider from scratch and will leave dead abstractions in the codebase. Reject at intake, document the Symfony-2-vs-Laravel mismatch as the stated reason, and redirect the request to the official-SDK adapter workstream.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus