Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

skoobi's avatar
Level 13

Difference between Cashier and Cashier-braintree package

Hi. I am looking to use stripe and Braintree in an app, Mainly for Stripe for one-off payments and subscriptions if they want to pay by card, and the Braintree​​ mainly for PayPal​ payments​.

But looking at the installation package there's one for Stripe composer require laravel/cashier and another for braintree composer require "laravel/cashier-braintree":"~2.0".

But when i have them both installed through composer i get :

Warning: Ambiguous class resolution, "Laravel\Cashier\Subscription" was found in both "/Users/me/projects/my-project/vendor/laravel/cashier/src/Subscription.php" and "/Users/me/projects/my-project/vendor/laravel/cashier-braintree/src/Subscription.php", the first will be used.

Is it a case of using the cashier package for them both or do i need to use one or the other?

Many thanks​

0 likes
1 reply
peterbrinck's avatar

As far as I can tell, the packages do the same thing

The only difference is that cashier-braintree used Braintree instead of Stripe

So I don't think you can use both of them at the same time. At least not with Cashier

From the docs:

For many operations, the Stripe and Braintree implementations of Cashier function the same. Both services provide subscription billing with credit cards but Braintree also supports payments via PayPal. However, Braintree also lacks some features that are supported by Stripe. You should keep the following in mind when deciding to use Stripe or Braintree:

Braintree supports PayPal while Stripe does not.
Braintree does not support the increment and decrement methods on subscriptions. This is a Braintree limitation, not a Cashier limitation.
Braintree does not support percentage based discounts. This is a Braintree limitation, not a Cashier limitation.

Please or to participate in this conversation.