Skip to content
Proud to collaborate with Microsoft for Startups

stripe.payment_intents.cancel_intent ​

Cancel a Stripe PaymentIntent before it is captured

Cancel a PaymentIntent that has not completed. A succeeded intent cannot be cancelled — refund it with stripe.refunds.create_refund instead.

Acts on the CUSTOMER'S OWN Stripe account, authenticated via the org-scoped Stripe connection selected by cloud_connection_uuid.

Inputs:

  • cloud_connection_uuid: Org-scoped Stripe connection (customer's own account).
  • payment_intent_id: PaymentIntent ID (pi_...).
  • cancellation_reason: duplicate | fraudulent | requested_by_customer | abandoned (optional).

Outputs (terminal state_data):

  • payment_intent_id: str
  • status: str
  • cancellation_reason: str

Connection required: cloud_connection_uuid — the organization's own Stripe account credentials; there is no platform-key fallback.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-stripe
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
cloud_connection_uuiduuidYes—Org-scoped Stripe connection (customer's own account)
payment_intent_idstringYes—PaymentIntent ID (pi_...)
cancellation_reasonstringNo—duplicate

Output Schema ​

FieldTypeRequiredDefaultDescription
payment_intent_idstringNo——
statusstringNo——
cancellation_reasonstringNo——
cloud_connection_uuiduuidNo——
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
errorstringNo——
error_typestringNo——
failed_layerintegerNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "stripe.payment_intents.cancel_intent",
  "initial_data": {
    "cloud_connection_uuid": "value",
    "payment_intent_id": "value"
  }
}