Stripe ACTION
Create a Customer
Create a customer. See the documentation.
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Stripe account once, then configure and run Create a Customer from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "stripe-create-customer",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
stripe: { authProvisionId: "apn_xxxxxxx" },
name: "Name",
description: "Description",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "stripe-create-customer",
"configured_props": {
"stripe": { "authProvisionId": "apn_xxxxxxx" },
"name": "Name",
"description": "Description"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "stripe",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "stripe-create-customer",
arguments: {
name: "Name",
description: "Description",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
name Name | string | The customer's full name or business name. Optional |
description Description | string | An arbitrary string that you can attach to a the object eg. customer, invoice, etc. Optional |
email Email | string | Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to 512 characters. Optional |
addressCity Address - City | string | City, district, suburb, town, or village. Optional |
addressCountry Address - Country | string | Two-letter country code (ISO 3166-1 alpha-2). Optional |
addressLine1 Address - Line 1 | string | Address line 1 (e.g., street, PO Box, or company name). Optional |
addressLine2 Shipping - Address - Line 2 | string | Address line 2 (e.g., apartment, suite, unit, or building). Optional |
addressPostalCode Address - Postal Code | string | ZIP or postal code. Optional |
addressState Shipping - Address - State | string | State, county, province, or region. Optional |
metadata Metadata | object | Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata. Optional |
paymentMethodType Payment Method Type | string | The type of payment method to create Optional |
paymentMethod Payment Method | string | Example: pm_card_visa Optional Dynamic |
phone Phone | string | The customer's phone number. This field is required when creating a new customer. If you do not provide a phone number, the customer will be created with the phone number of the connected account. Optional |
shippingAddressCity Shipping - Address - City | string | City, district, suburb, town, or village. Optional |
shippingAddressCountry Shipping - Address - Country | string | Two-letter country code (ISO 3166-1 alpha-2). Optional |
shippingAddressLine1 Shipping - Address - Line 1 | string | Address line 1 (e.g., street, PO Box, or company name). Optional |
shippingAddressLine2 Shipping - Address - Line 2 | string | Address line 2 (e.g., apartment, suite, unit, or building). Optional |
shippingAddressPostalCode Shipping - Address - Postal Code | string | ZIP or postal code. Optional |
shippingAddressState Shipping - Address - State | string | State, county, province, or region. Optional |
shippingName Shipping - Name | string | Recipient name. Optional |
shippingPhone Shipping - Phone | string | Recipient phone (including extension). Optional |
taxIpAddress Tax - IP Address | string | A recent IP address of the customer used for tax reporting and tax location inference. Stripe recommends updating the IP address when a new PaymentMethod is attached or the address field on the customer is updated. We recommend against updating this field more frequently since it could result in unexpected tax location/reporting outcomes. Optional |
taxValidateLocation Tax - Validate Location | string | A flag that indicates when Stripe should validate the customer tax location. Defaults to deferred. Optional |
balance Balance | integer | An integer amount in cents that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. Optional |
cashBalanceSettingsReconciliationMode Cash Balance Settings - Reconciliation Mode | string | Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are automatic, manual, or merchant_default. For more information about these reconciliation modes, see Reconciliation. Optional |
invoicePrefix Invoice Prefix | string | The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. Optional |
invoiceSettingsCustomFields Invoice Settings - Custom Fields | string[] | The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields. Optional |
invoiceSettingsDefaultPaymentMethod Invoice Settings - Default Payment Method | string | ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices. Optional |
invoiceSettingsRenderingOptionsAmountTaxDisplay Invoice Settings - Rendering Options - Amount Tax Display | string | How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. Optional |
nextInvoiceSequence Next Invoice Sequence | integer | The sequence to be used on the customer's next invoice. Defaults to 1. Optional |
preferredLocales Preferred Locales | string[] | Customer's preferred languages, ordered by preference. Optional |
source Source | string | When using payment sources created via the Token or Sources APIs, passing source will create a new source object, make it the new customer default source, and delete the old customer default if one exists. If you want to add additional sources instead of replacing the existing default, use the card creation API. Whenever you attach a card to a customer, Stripe will automatically validate the card. Optional |
taxExempt Tax Exempt | string | The customer's tax exemption. One of none, exempt, or reverse. Optional |
taxIdData Tax ID Data | string[] | The customer's tax IDs. See the documentation. Optional |
testClock Test Clock | string | ID of the test clock to attach to the customer. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- stripe-create-customer
- Version
- 0.1.5
- App
- Stripe
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗