---
name: stripe-customer-lookup
description: Look up a customer in Stripe by email, name or id and summarise their subscriptions, invoices, payments, failed charges, refunds and disputes for a support reply. Use when the user asks about a customer's billing, why a payment failed, whether someone was charged, or what plan a customer is on.
---

# Look up a Stripe customer

Read-only.

## Steps

1. Confirm the account and mode. Find the customer: search customers by email with `stripe_api_read` on the customers search endpoint. Use `stripe_api_search` and `stripe_api_details` to confirm the endpoint and query syntax, such as `email:'ana@example.com'`. Several matches are common; list them with created dates and ask, or check each.
2. For the chosen customer, read:
   - subscriptions: status, plan, price, current period end, cancel at period end, trial end;
   - the last few invoices: status, amount, paid or open, hosted invoice link;
   - recent charges or payment intents, including failures and their decline code;
   - refunds and disputes.
3. Explain failures in plain words. For example, `insufficient_funds` means the bank declined it, while `authentication_required` means the customer must complete 3D Secure. Use `search_stripe_documentation` for unfamiliar decline codes.

## Report

- Who they are: name, email, customer id and since when.
- Their plan and its status.
- What happened, as a timeline of the relevant events.
- What the customer can do next, phrased so it can go into a support reply.
- Any write action, such as a refund or cancellation, is a separate request that needs approval; see the refunds skill.
