home / skills / composiohq / awesome-claude-skills / braintree-automation
/braintree-automation
This skill automates Braintree payment workflows via Stripe-compatible tooling, enabling customers, subscriptions, payments, and transactions management.
npx playbooks add skill composiohq/awesome-claude-skills --skill braintree-automationReview the files below or copy the command above to add this skill to your agents.
---
name: Braintree Automation
description: "Braintree Automation: manage payment processing via Stripe-compatible tools for customers, subscriptions, payment methods, and transactions"
requires:
mcp: [rube]
---
# Braintree Automation
Automate payment processing operations via Stripe-compatible tooling including managing customers, subscriptions, payment methods, balance transactions, and customer searches. The Composio platform routes Braintree payment workflows through the Stripe toolkit for unified payment management.
**Toolkit docs:** [composio.dev/toolkits/braintree](https://composio.dev/toolkits/braintree)
---
## Setup
This skill requires the **Rube MCP server** connected at `https://rube.app/mcp`.
Before executing any tools, ensure an active connection exists for the `stripe` toolkit. If no connection is active, initiate one via `RUBE_MANAGE_CONNECTIONS`.
---
## Core Workflows
### 1. Create and Manage Customers
Create new customers and retrieve existing customer details.
**Tools:**
- `STRIPE_CREATE_CUSTOMER` -- Create a new customer
- `STRIPE_GET_CUSTOMERS_CUSTOMER` -- Retrieve a customer by ID
- `STRIPE_POST_CUSTOMERS_CUSTOMER` -- Update an existing customer
- `STRIPE_LIST_CUSTOMERS` -- List customers with pagination
- `STRIPE_GET_V1_CUSTOMERS_SEARCH_CUSTOMERS` -- Search customers by email, name, metadata
**Key Parameters for `STRIPE_CREATE_CUSTOMER`:**
- `email` -- Customer's primary email address
- `name` -- Full name or business name
- `phone` -- Phone number with country code
- `description` -- Internal reference notes
- `address` -- Billing address object with `line1`, `city`, `state`, `postal_code`, `country`
**Key Parameters for `STRIPE_GET_V1_CUSTOMERS_SEARCH_CUSTOMERS`:**
- `query` (required) -- Stripe Search Query Language. Must use `field:value` syntax:
- `email:'[email protected]'` -- Exact match (case insensitive)
- `name~'John'` -- Substring match (min 3 chars)
- `metadata['key']:'value'` -- Metadata search
- `created>1609459200` -- Timestamp comparison
- Combine with `AND` or `OR` (max 10 clauses, cannot mix)
- `limit` -- Results per page (1--100, default 10)
**Example:**
```
Tool: STRIPE_CREATE_CUSTOMER
Arguments:
email: "[email protected]"
name: "Jane Doe"
description: "Enterprise plan customer"
address: {
"line1": "123 Main St",
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "US"
}
```
---
### 2. Manage Subscriptions
Create subscriptions and view customer subscription details.
**Tools:**
- `STRIPE_CREATE_SUBSCRIPTION` -- Create a new subscription for an existing customer
- `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS` -- List all subscriptions for a customer
- `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBS_SUB_EXPOSED_ID` -- Get a specific subscription
**Key Parameters for `STRIPE_CREATE_SUBSCRIPTION`:**
- `customer` (required) -- Customer ID, e.g., `"cus_xxxxxxxxxxxxxx"`
- `items` (required) -- Array of subscription items, each with:
- `price` -- Price ID, e.g., `"price_xxxxxxxxxxxxxx"` (use this OR `price_data`)
- `price_data` -- Inline price definition with `currency`, `product`, `unit_amount`, `recurring`
- `quantity` -- Item quantity
- `default_payment_method` -- Payment method ID (not required for trials or invoice billing)
- `trial_period_days` -- Trial days (no payment required during trial)
- `collection_method` -- `"charge_automatically"` (default) or `"send_invoice"`
- `cancel_at_period_end` -- Cancel at end of billing period (boolean)
**Key Parameters for `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS`:**
- `customer` (required) -- Customer ID
- `status` -- Filter: `"active"`, `"all"`, `"canceled"`, `"trialing"`, `"past_due"`, etc.
- `limit` -- Results per page (1--100, default 10)
**Example:**
```
Tool: STRIPE_CREATE_SUBSCRIPTION
Arguments:
customer: "cus_abc123"
items: [{"price": "price_xyz789", "quantity": 1}]
trial_period_days: 14
```
---
### 3. Manage Payment Methods
List and attach payment methods to customers.
**Tools:**
- `STRIPE_GET_CUSTOMERS_CUSTOMER_PAYMENT_METHODS` -- List a customer's payment methods
- `STRIPE_ATTACH_PAYMENT_METHOD` -- Attach a payment method to a customer
**Key Parameters for `STRIPE_GET_CUSTOMERS_CUSTOMER_PAYMENT_METHODS`:**
- `customer` (required) -- Customer ID
- `type` -- Filter by type: `"card"`, `"sepa_debit"`, `"us_bank_account"`, etc.
- `limit` -- Results per page (1--100, default 10)
**Example:**
```
Tool: STRIPE_GET_CUSTOMERS_CUSTOMER_PAYMENT_METHODS
Arguments:
customer: "cus_abc123"
type: "card"
limit: 10
```
---
### 4. View Balance Transactions
Retrieve the history of balance changes for a customer.
**Tool:** `STRIPE_GET_CUSTOMERS_CUSTOMER_BALANCE_TRANSACTIONS`
**Key Parameters:**
- `customer` (required) -- Customer ID
- `created` -- Filter by creation date with comparison operators: `{"gte": 1609459200}` or `{"gt": 1609459200, "lt": 1640995200}`
- `invoice` -- Filter by related invoice ID
- `limit` -- Results per page (1--100)
- `starting_after` / `ending_before` -- Pagination cursors
**Example:**
```
Tool: STRIPE_GET_CUSTOMERS_CUSTOMER_BALANCE_TRANSACTIONS
Arguments:
customer: "cus_abc123"
limit: 25
created: {"gte": 1704067200}
```
---
## Known Pitfalls
| Pitfall | Detail |
|---------|--------|
| **Search query syntax** | `STRIPE_GET_V1_CUSTOMERS_SEARCH_CUSTOMERS` requires field-prefixed queries (e.g., `email:'x'`). Bare strings without field prefixes are invalid and will error. |
| **Subscription payment method** | `default_payment_method` is not required if using `trial_period_days` or `collection_method='send_invoice'`. Otherwise, the subscription may fail to activate. |
| **Payment method attachment** | A `PaymentMethod` must be in a detached state before attaching to a customer. Already-attached methods will error. |
| **Pagination cursors** | Use `starting_after`/`ending_before` with object IDs, not page numbers. Extract the last/first object ID from each response. |
| **Balance amounts in cents** | All monetary amounts are in the smallest currency unit (e.g., cents for USD). 1000 = $10.00. |
| **Subscription status default** | `GET_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS` excludes canceled subscriptions by default. Pass `status: "all"` to include them. |
---
## Quick Reference
| Tool Slug | Description |
|-----------|-------------|
| `STRIPE_CREATE_CUSTOMER` | Create a new customer |
| `STRIPE_GET_CUSTOMERS_CUSTOMER` | Retrieve a customer by ID |
| `STRIPE_POST_CUSTOMERS_CUSTOMER` | Update an existing customer |
| `STRIPE_LIST_CUSTOMERS` | List customers with pagination |
| `STRIPE_GET_V1_CUSTOMERS_SEARCH_CUSTOMERS` | Search customers by attributes |
| `STRIPE_CREATE_SUBSCRIPTION` | Create a subscription for a customer |
| `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS` | List customer subscriptions |
| `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBS_SUB_EXPOSED_ID` | Get a specific subscription |
| `STRIPE_GET_CUSTOMERS_CUSTOMER_PAYMENT_METHODS` | List customer payment methods |
| `STRIPE_ATTACH_PAYMENT_METHOD` | Attach payment method to customer |
| `STRIPE_GET_CUSTOMERS_CUSTOMER_BALANCE_TRANSACTIONS` | List customer balance transactions |
---
*Powered by [Composio](https://composio.dev)*
This skill automates payment processing using Stripe-compatible tooling routed through the Composio Braintree toolkit. It provides programmatic operations for customers, subscriptions, payment methods, balance transactions, and customer search. Designed for use with the Rube MCP server and an active Stripe toolkit connection.
The skill exposes a set of toolkit actions that map common billing operations to Stripe-style API calls: create/update/list customers, search customers with Stripe Search Query Language, create and manage subscriptions, attach and list payment methods, and inspect balance transactions. Before running tools, ensure an active connection to the stripe toolkit on the Rube MCP server. Use provided parameters and pagination cursors to control queries and results.
What connection is required to run tools?
An active connection to the stripe toolkit via the Rube MCP server (https://rube.app/mcp) is required before executing any tools.
How do I search customers by email or metadata?
Use STRIPE_GET_V1_CUSTOMERS_SEARCH_CUSTOMERS with a field-prefixed query like email:'[email protected]' or metadata['plan']:'enterprise'. Combine clauses with AND/OR (max 10 clauses).
Why did attaching a payment method fail?
Attachment fails if the PaymentMethod is already attached. A PaymentMethod must be detached before using STRIPE_ATTACH_PAYMENT_METHOD to attach to a different customer.
How are money amounts represented?
All monetary amounts use the smallest currency unit (for USD, cents). For example, 1000 equals $10.00.