Stripe ACTION
Confirm A Payment Intent
Confirm that your customer intends to pay with current or provided payment method. 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 Confirm A Payment Intent 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-confirm-payment-intent",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
stripe: { authProvisionId: "apn_xxxxxxx" },
id: "Payment Intent ID",
customer: "Customer ID",
},
})
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-confirm-payment-intent",
"configured_props": {
"stripe": { "authProvisionId": "apn_xxxxxxx" },
"id": "Payment Intent ID",
"customer": "Customer ID"
}
}'// 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-confirm-payment-intent",
arguments: {
id: "Payment Intent ID",
customer: "Customer ID",
},
})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 |
|---|---|---|
id Payment Intent ID | string | Example: pi_0FhyHzGHO3mdGsgAJNHu7VeJ Required Dynamic |
customer Customer ID | string | Example: cus_Jz4ErxGo9t1agg Optional Dynamic |
paymentMethod Payment Method | string | Example: pm_card_visa Optional Dynamic |
receiptEmail Receipt Email | string | Email address that the receipt for the resulting payment will be sent to. If receipt_email is specified for a payment in live mode, a receipt will be sent regardless of your email settings. Optional |
setupFutureUsage Setup Future Usage | string | Indicate if you intend to use the specified payment method for a future payment. If you intend to only reuse the payment method when your customer is present in your checkout flow, choose on_session; otherwise, choose off_session. 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 |
shippingCarrier Shipping - Carrier | string | The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. Optional |
shippingPhone Shipping - Phone | string | Recipient phone (including extension). Optional |
shippingTrackingNumber Shipping - Tracking Number | string | The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. Optional |
captureMethod Capture Method | string | Controls when the funds will be captured from the customer's account. Optional |
confirmationToken Confirmation Token | string | ID of the ConfirmationToken used to confirm this PaymentIntent. Optional |
errorOnRequiresAction Error On Requires Action | boolean | Set to true to fail the payment attempt if the PaymentIntent transitions into requires_action. This parameter is intended for simpler integrations that do not handle customer actions, like saving cards without authentication. Optional |
mandate Mandate | string | ID of the mandate that's used for this payment. Optional |
mandateDataCustomerAcceptanceType Mandate Data - Customer Acceptance - Type | string | The type of customer acceptance information included with the Mandate. Optional |
mandateDataCustomerAcceptanceAcceptedAt Mandate Data - Customer Acceptance - Accepted At | string | The time at which the customer accepted the Mandate. Optional |
mandateDataCustomerAcceptanceOffline Mandate Data - Customer Acceptance - Offline | object | If this is a Mandate accepted offline, this hash contains details about the offline acceptance. Optional |
mandateDataCustomerAcceptanceOnlineIpAddress Mandate Data - Customer Acceptance - Online - IP Address | string | The IP address from which the Mandate was accepted by the customer. Optional |
mandateDataCustomerAcceptanceOnlineUserAgent Mandate Data - Customer Acceptance - Online - User Agent | string | The user agent of the browser from which the Mandate was accepted by the customer. Optional |
offSession Off Session | boolean | Set to true to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and charge them later. Optional |
paymentMethodData Payment Method Data | object | If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear in the payment_method property on the PaymentIntent. See the documentation. Optional |
paymentMethodOptions Payment Method Options | object | Payment method-specific configuration for this PaymentIntent. See the documentation. Optional |
paymentMethodTypes Payment Method Types | string[] | Payment method types that may be used Optional |
radarOptionsSession Radar Options - Session | string | A Radar Session is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments. Optional |
returnUrl Return URL | string | The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter is only used for cards and other redirect-based payment methods. Optional |
useStripeSdk Use Stripe SDK | boolean | Set to true when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. 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-confirm-payment-intent
- Version
- 0.1.5
- App
- Stripe
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗