With Braintree Recurring Billing you can easily accept repeat online payments for software, subscription-based businesses, donations, and more.

The benefits of using Braintree Recurring Billing for your ecommerce business:


Flexible pricing

Create custom pricing plans for your customers. Set up discounts, add-ons, promotional periods, and rewards.

Prorated subscriptions

Your customers have the ability to upgrade or downgrade their subscriptions at any time.

Securely store billing info

Keep your customers’ information in the Braintree Vault to make repeat billing easy.

Help increase successful transactions

Customize your settings to automatically retry past-due subscriptions and notify customers with custom emails.

Robust reporting

  • View and manage everything in one place

Search for plans and subscriptions, and filter by pricing plan, subscription ID, billing periods remaining, and price right from your Control Panel.

  • Stay up to date

Configure webhooks to receive the status of a subscription and get instant notifications when significant events occur.


How to integrate Braintree Recurring Billing with Spree


With Braintree’s recurring billing, you can charge your customers automatically in monthly increments.

To set this up, you’ll need to create a plan in the Control Panel and store your customers in the Vault. Then use Subscription.create() to associate each customer’s preferred payment method with the plan.

Integration steps

In addition to the steps listed below, you must create customers with payment methods in the Vault before you can use recurring billing.

  1. Creating plans
  2. Creating subscriptions
  3. Managing subscriptions


Subscription statuses


Braintree Recurring Billing integration with Spree Commerce



Pending subscriptions are subscriptions that have not started yet. For example, if you create a subscription with a specific billing date in the future, the subscription will start out as Pending.



Active subscriptions will be charged on the next billing date. You can get the dates from the subscription object. Subscriptions in a trial period are Active.


Past Due


Braintree can send email notifications to your customers when their subscription becomes past due. See this support article for more information.

If a payment for a subscription fails, the subscription status will change to Past Due. You can manually retry the charge, or you can set up logic in the Control Panel to automatically retry a declined or failed charge at specific intervals. Additionally, a past due subscription will be automatically retried if the payment method associated with the subscription is updated and you have proration enabled. If the retried transaction is successful and the subscription has not passed its final billing date, the status will change to Active.

If a retried transaction is unsuccessful, the balance on the past due subscription will continue to increase every billing cycle, and we’ll continue to retry the transaction each billing cycle—either indefinitely or until the number of cycles in the subscription is reached. If all retries are unsuccessful, the subscription’s status will remain Past Due until the subscription a) reaches the specified number of billing cycles, and the status changes to Expired, or b) is canceled.



Subscriptions are Expired when they have reached the specified number of billing cycles.


If you cancel the subscription, the status will be Canceled and no further billing will occur.


For more information check out Braintree’s Developer Guides for Recurring Billing.


Contact us

Learn more about Spree or start a new project!