Skip to content

integrations/ecommerce/stripe/dist/manifest

Variables

defaultStripeApiVersion

const defaultStripeApiVersion: "2026-05-27.dahlia" = "2026-05-27.dahlia";

stripeEcommerceProviderManifest

const stripeEcommerceProviderManifest: {
  capabilities: {
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension?: boolean;
     label?: string;
     metadata?: Record<string, unknown>;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: Record<string, unknown>;
        schemaName?: string;
     }[];
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  category: string;
  channelAudiences: ("customer-facing" | "internal-support" | "mixed")[];
  coverage: {
     evidence: {
        label: string;
        url?: string;
     }[];
     notes: string[];
     scope:   | "support-workflow-subset"
        | "provider-api-subset"
        | "connector-required"
        | "local-protocol"
        | "full-provider-api";
  };
  credentialRequirements: {
     description?: string;
     id: string;
     label?: string;
     metadata?: Record<string, unknown>;
     required: boolean;
     scopes: string[];
  }[];
  directions: (
     | "receive-only"
     | "send-only"
     | "inbound-only"
     | "outbound-only"
    | "bidirectional")[];
  id: string;
  limitations: string[];
  maintainers: {
     name: string;
     type: "community" | "official" | "unknown" | "partner";
     url?: string;
  }[];
  metadata?: Record<string, unknown>;
  name: string;
  operations: {
     alias: string;
     audience?: "customer-facing" | "internal-support" | "mixed";
     audiences?: ("customer-facing" | "internal-support" | "mixed")[];
     capability: string;
     changesWorkflow?: boolean;
     description?: string;
     exposesSensitiveData?: boolean;
     extension: boolean;
     externallyVisible?: boolean;
     inputSchema?: unknown;
     inputSchemaName?: string;
     inputSchemaRef?: string;
     label?: string;
     metadata?: Record<string, unknown>;
     outputSchema?: unknown;
     outputSchemaName?: string;
     outputSchemaRef?: string;
     providerObject?: string;
     providerObjects?: {
        description?: string;
        kind: string;
        label?: string;
        metadata?: Record<string, unknown>;
        schemaName?: string;
     }[];
     providerOperation?: string;
     requiredPolicyIds?: string[];
     requiresApproval?: boolean;
     requiresCredential?: boolean;
     sideEffect?: boolean;
  }[];
  packageName: string;
  privacyNotes: string[];
  provider: string;
  trustLevel: "community" | "official" | "verified" | "experimental";
} & {
  capabilities: [{
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "receive";
     description: "Validates and parses Stripe webhook events for SDK-user-owned commerce and payment support workflows.";
     exposesSensitiveData: true;
     label: "Receive Stripe events";
     providerObjects: [{
        kind: "stripeEvent";
        label: "Stripe Event";
     }];
     requiresCredential: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "read-provider-object";
     description: "Reads customers, Checkout Sessions, PaymentIntents, subscriptions, invoices, refunds, and disputes.";
     exposesSensitiveData: true;
     label: "Read Stripe commerce records";
     providerObjects: [{
        kind: "stripeCustomer";
        label: "Stripe Customer";
      }, {
        kind: "stripeCheckoutSession";
        label: "Stripe Checkout Session";
      }, {
        kind: "stripePaymentIntent";
        label: "Stripe PaymentIntent";
      }, {
        kind: "stripeSubscription";
        label: "Stripe Subscription";
      }, {
        kind: "stripeInvoice";
        label: "Stripe Invoice";
      }, {
        kind: "stripeRefund";
        label: "Stripe Refund";
      }, {
        kind: "stripeDispute";
        label: "Stripe Dispute";
     }];
     requiresCredential: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "search-provider-object";
     description: "Lists and searches support-relevant Stripe objects with SDK-user-supplied filters.";
     exposesSensitiveData: true;
     label: "Search Stripe commerce records";
     providerObjects: [{
        kind: "stripeCustomer";
        label: "Stripe Customer";
      }, {
        kind: "stripeCheckoutSession";
        label: "Stripe Checkout Session";
      }, {
        kind: "stripePaymentIntent";
        label: "Stripe PaymentIntent";
     }];
     requiresCredential: true;
   }, {
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "create-provider-object";
     changesWorkflow: true;
     description: "Creates Checkout Sessions, PaymentIntents, and refunds when SDK-user policy permits.";
     exposesSensitiveData: true;
     label: "Create Stripe payment support actions";
     providerObjects: [{
        kind: "stripeCheckoutSession";
        label: "Stripe Checkout Session";
      }, {
        kind: "stripePaymentIntent";
        label: "Stripe PaymentIntent";
      }, {
        kind: "stripeRefund";
        label: "Stripe Refund";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "update-provider-object";
     changesWorkflow: true;
     description: "Updates subscriptions and manages webhook endpoints when SDK-user policy permits.";
     exposesSensitiveData: true;
     label: "Update Stripe support records";
     providerObjects: [{
        kind: "stripeSubscription";
        label: "Stripe Subscription";
      }, {
        kind: "stripeWebhookEndpoint";
        label: "Stripe Webhook Endpoint";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["internal-support"];
     capability: "ecommerce.payments";
     description: "Exposes the configured official Stripe SDK client for SDK-user-owned advanced operations.";
     exposesSensitiveData: true;
     extension: true;
     label: "Stripe raw SDK escape hatch";
     providerObjects: [{
        kind: "stripeRawClient";
        label: "Stripe SDK Client";
     }];
     requiresCredential: true;
  }];
  category: "ecommerce";
  channelAudiences: ["customer-facing", "internal-support", "mixed"];
  coverage: {
     evidence: [{
        label: "Stripe API reference";
        url: "https://docs.stripe.com/api";
      }, {
        label: "Stripe Node SDK";
        url: "https://github.com/stripe/stripe-node";
      }, {
        label: "Stripe webhook signature verification";
        url: "https://docs.stripe.com/webhooks/signature";
     }];
     notes: ["Coverage is limited to Cognidesk-normalized Stripe commerce support operations backed by the official Stripe SDK.", "The official Stripe SDK remains available as an explicit raw-client escape hatch; raw SDK coverage is not Cognidesk adapter coverage.", "Generated Stripe full-provider API clones are intentionally not part of this package."];
     scope: "support-workflow-subset";
  };
  credentialRequirements: [{
     description: "Server-side Stripe secret or restricted key selected and owned by the SDK user.";
     id: "stripe-secret-key";
     label: "Stripe secret key";
     metadata: {
        scopeKind: "provider-permission-labels";
     };
     required: true;
     scopes: ["customers:read", "payment_intents:read", "checkout_sessions:read", "subscriptions:read", "invoices:read", "refunds:read", "disputes:read", "subscriptions:write", "webhook_endpoints:read", "webhook_endpoints:write"];
   }, {
     description: "Endpoint signing secret used to validate Stripe-Signature headers against the raw request body.";
     id: "stripe-webhook-signing-secret";
     label: "Stripe webhook signing secret";
     required: true;
   }, {
     description: "SDK-user-selected account context for platform or connected-account routing.";
     id: "stripe-connect-mode";
     label: "Stripe Connect mode";
     required: false;
  }];
  directions: ["receive-only", "send-only", "bidirectional"];
  id: "ecommerce.stripe";
  limitations: ["The SDK user chooses Stripe account mode, restricted-key permissions, event destinations, webhook subscriptions, checkout UI, refund policy, dispute evidence policy, consent, and retention.", "This package provides normalized support-operation foundations and raw-client access; it does not decide when to charge, refund, cancel, submit evidence, or expose payment data to an operator."];
  maintainers: [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     defaultApiVersion: "2026-05-27.dahlia";
     docs: "https://docs.stripe.com/api";
     implementation: {
        generatedFullProviderApiClone: false;
        rawClientEscapeHatch: true;
        sdkPackage: "stripe";
        strategy: "official-sdk";
     };
     rawProviderRequest: {
        acknowledgementRequired: true;
        capability: "ecommerce.payments";
        coverage: "escape-hatch-not-full-provider-api";
     };
     sdkPackage: "stripe";
  };
  name: "Stripe";
  operations: [{
     alias: "ecommerce.event.receive";
     capability: "receive";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeEvent";
     }];
   }, {
     alias: "ecommerce.order.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCheckoutSession";
     }];
     providerOperation: "checkout.sessions.retrieve";
   }, {
     alias: "ecommerce.order.search";
     capability: "search-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCheckoutSession";
     }];
     providerOperation: "checkout.sessions.list";
   }, {
     alias: "ecommerce.customer.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCustomer";
     }];
     providerOperation: "customers.retrieve";
   }, {
     alias: "ecommerce.customer.search";
     capability: "search-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCustomer";
     }];
     providerOperation: "customers.search";
   }, {
     alias: "ecommerce.payment.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripePaymentIntent";
     }];
     providerOperation: "paymentIntents.retrieve";
   }, {
     alias: "ecommerce.refund.create";
     capability: "create-provider-object";
     changesWorkflow: true;
     exposesSensitiveData: true;
     externallyVisible: true;
     providerObjects: [{
        kind: "stripeRefund";
     }];
     providerOperation: "refunds.create";
     requiresApproval: true;
     sideEffect: true;
   }, {
     alias: "ecommerce.refund.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeRefund";
     }];
     providerOperation: "refunds.retrieve";
   }, {
     alias: "ecommerce.subscription.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeSubscription";
     }];
     providerOperation: "subscriptions.retrieve";
   }, {
     alias: "ecommerce.subscription.update";
     capability: "update-provider-object";
     changesWorkflow: true;
     exposesSensitiveData: true;
     externallyVisible: true;
     providerObjects: [{
        kind: "stripeSubscription";
     }];
     providerOperation: "subscriptions.update";
     requiresApproval: true;
     sideEffect: true;
   }, {
     alias: "ecommerce.invoice.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeInvoice";
     }];
     providerOperation: "invoices.retrieve";
   }, {
     alias: "ecommerce.webhookEndpoint.manage";
     capability: "update-provider-object";
     changesWorkflow: true;
     providerObjects: [{
        kind: "stripeWebhookEndpoint";
     }];
     providerOperation: "webhookEndpoints";
     sideEffect: true;
   }, {
     alias: "stripe.rawClient";
     capability: "ecommerce.payments";
     exposesSensitiveData: true;
     extension: true;
     providerObjects: [{
        kind: "stripeRawClient";
     }];
  }];
  packageName: "@cognidesk/integration-ecommerce-stripe";
  privacyNotes: ["Stripe records can include customer contact data, billing/shipping addresses, payment state, subscription terms, invoice history, refund reasons, dispute evidence, and account metadata.", "Secret keys, Connect account routing, and webhook signing secrets stay server-side; Studio receives only readiness state and policy-visible metadata."];
  provider: "stripe";
  trustLevel: "official";
};

Type Declaration

Name Type
capabilities { audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension?: boolean; label?: string; metadata?: Record\<string, unknown>; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; requiresCredential?: boolean; sideEffect?: boolean; }[]
category string
channelAudiences ("customer-facing" | "internal-support" | "mixed")[]
coverage { evidence: { label: string; url?: string; }[]; notes: string[]; scope: | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"; }
coverage.evidence { label: string; url?: string; }[]
coverage.notes string[]
coverage.scope | "support-workflow-subset" | "provider-api-subset" | "connector-required" | "local-protocol" | "full-provider-api"
credentialRequirements { description?: string; id: string; label?: string; metadata?: Record\<string, unknown>; required: boolean; scopes: string[]; }[]
directions ( | "receive-only" | "send-only" | "inbound-only" | "outbound-only" | "bidirectional")[]
id string
limitations string[]
maintainers { name: string; type: "community" | "official" | "unknown" | "partner"; url?: string; }[]
metadata? Record\<string, unknown>
name string
operations { alias: string; audience?: "customer-facing" | "internal-support" | "mixed"; audiences?: ("customer-facing" | "internal-support" | "mixed")[]; capability: string; changesWorkflow?: boolean; description?: string; exposesSensitiveData?: boolean; extension: boolean; externallyVisible?: boolean; inputSchema?: unknown; inputSchemaName?: string; inputSchemaRef?: string; label?: string; metadata?: Record\<string, unknown>; outputSchema?: unknown; outputSchemaName?: string; outputSchemaRef?: string; providerObject?: string; providerObjects?: { description?: string; kind: string; label?: string; metadata?: Record\<string, unknown>; schemaName?: string; }[]; providerOperation?: string; requiredPolicyIds?: string[]; requiresApproval?: boolean; requiresCredential?: boolean; sideEffect?: boolean; }[]
packageName string
privacyNotes string[]
provider string
trustLevel "community" | "official" | "verified" | "experimental"

Type Declaration

Name Type
capabilities [{ audiences: ["customer-facing", "internal-support", "mixed"]; capability: "receive"; description: "Validates and parses Stripe webhook events for SDK-user-owned commerce and payment support workflows."; exposesSensitiveData: true; label: "Receive Stripe events"; providerObjects: [{ kind: "stripeEvent"; label: "Stripe Event"; }]; requiresCredential: true; }, { audiences: ["internal-support", "mixed"]; capability: "read-provider-object"; description: "Reads customers, Checkout Sessions, PaymentIntents, subscriptions, invoices, refunds, and disputes."; exposesSensitiveData: true; label: "Read Stripe commerce records"; providerObjects: [{ kind: "stripeCustomer"; label: "Stripe Customer"; }, { kind: "stripeCheckoutSession"; label: "Stripe Checkout Session"; }, { kind: "stripePaymentIntent"; label: "Stripe PaymentIntent"; }, { kind: "stripeSubscription"; label: "Stripe Subscription"; }, { kind: "stripeInvoice"; label: "Stripe Invoice"; }, { kind: "stripeRefund"; label: "Stripe Refund"; }, { kind: "stripeDispute"; label: "Stripe Dispute"; }]; requiresCredential: true; }, { audiences: ["internal-support", "mixed"]; capability: "search-provider-object"; description: "Lists and searches support-relevant Stripe objects with SDK-user-supplied filters."; exposesSensitiveData: true; label: "Search Stripe commerce records"; providerObjects: [{ kind: "stripeCustomer"; label: "Stripe Customer"; }, { kind: "stripeCheckoutSession"; label: "Stripe Checkout Session"; }, { kind: "stripePaymentIntent"; label: "Stripe PaymentIntent"; }]; requiresCredential: true; }, { audiences: ["customer-facing", "internal-support", "mixed"]; capability: "create-provider-object"; changesWorkflow: true; description: "Creates Checkout Sessions, PaymentIntents, and refunds when SDK-user policy permits."; exposesSensitiveData: true; label: "Create Stripe payment support actions"; providerObjects: [{ kind: "stripeCheckoutSession"; label: "Stripe Checkout Session"; }, { kind: "stripePaymentIntent"; label: "Stripe PaymentIntent"; }, { kind: "stripeRefund"; label: "Stripe Refund"; }]; requiresCredential: true; sideEffect: true; }, { audiences: ["internal-support", "mixed"]; capability: "update-provider-object"; changesWorkflow: true; description: "Updates subscriptions and manages webhook endpoints when SDK-user policy permits."; exposesSensitiveData: true; label: "Update Stripe support records"; providerObjects: [{ kind: "stripeSubscription"; label: "Stripe Subscription"; }, { kind: "stripeWebhookEndpoint"; label: "Stripe Webhook Endpoint"; }]; requiresCredential: true; sideEffect: true; }, { audiences: ["internal-support"]; capability: "ecommerce.payments"; description: "Exposes the configured official Stripe SDK client for SDK-user-owned advanced operations."; exposesSensitiveData: true; extension: true; label: "Stripe raw SDK escape hatch"; providerObjects: [{ kind: "stripeRawClient"; label: "Stripe SDK Client"; }]; requiresCredential: true; }]
category "ecommerce"
channelAudiences ["customer-facing", "internal-support", "mixed"]
coverage { evidence: [{ label: "Stripe API reference"; url: "https://docs.stripe.com/api"; }, { label: "Stripe Node SDK"; url: "https://github.com/stripe/stripe-node"; }, { label: "Stripe webhook signature verification"; url: "https://docs.stripe.com/webhooks/signature"; }]; notes: ["Coverage is limited to Cognidesk-normalized Stripe commerce support operations backed by the official Stripe SDK.", "The official Stripe SDK remains available as an explicit raw-client escape hatch; raw SDK coverage is not Cognidesk adapter coverage.", "Generated Stripe full-provider API clones are intentionally not part of this package."]; scope: "support-workflow-subset"; }
coverage.evidence [{ label: "Stripe API reference"; url: "https://docs.stripe.com/api"; }, { label: "Stripe Node SDK"; url: "https://github.com/stripe/stripe-node"; }, { label: "Stripe webhook signature verification"; url: "https://docs.stripe.com/webhooks/signature"; }]
coverage.notes ["Coverage is limited to Cognidesk-normalized Stripe commerce support operations backed by the official Stripe SDK.", "The official Stripe SDK remains available as an explicit raw-client escape hatch; raw SDK coverage is not Cognidesk adapter coverage.", "Generated Stripe full-provider API clones are intentionally not part of this package."]
coverage.scope "support-workflow-subset"
credentialRequirements [{ description: "Server-side Stripe secret or restricted key selected and owned by the SDK user."; id: "stripe-secret-key"; label: "Stripe secret key"; metadata: { scopeKind: "provider-permission-labels"; }; required: true; scopes: ["customers:read", "payment_intents:read", "checkout_sessions:read", "subscriptions:read", "invoices:read", "refunds:read", "disputes:read", "subscriptions:write", "webhook_endpoints:read", "webhook_endpoints:write"]; }, { description: "Endpoint signing secret used to validate Stripe-Signature headers against the raw request body."; id: "stripe-webhook-signing-secret"; label: "Stripe webhook signing secret"; required: true; }, { description: "SDK-user-selected account context for platform or connected-account routing."; id: "stripe-connect-mode"; label: "Stripe Connect mode"; required: false; }]
directions ["receive-only", "send-only", "bidirectional"]
id "ecommerce.stripe"
limitations ["The SDK user chooses Stripe account mode, restricted-key permissions, event destinations, webhook subscriptions, checkout UI, refund policy, dispute evidence policy, consent, and retention.", "This package provides normalized support-operation foundations and raw-client access; it does not decide when to charge, refund, cancel, submit evidence, or expose payment data to an operator."]
maintainers [{ name: "Cognidesk"; type: "official"; }]
metadata { defaultApiVersion: "2026-05-27.dahlia"; docs: "https://docs.stripe.com/api"; implementation: { generatedFullProviderApiClone: false; rawClientEscapeHatch: true; sdkPackage: "stripe"; strategy: "official-sdk"; }; rawProviderRequest: { acknowledgementRequired: true; capability: "ecommerce.payments"; coverage: "escape-hatch-not-full-provider-api"; }; sdkPackage: "stripe"; }
metadata.defaultApiVersion "2026-05-27.dahlia"
metadata.docs "https://docs.stripe.com/api"
metadata.implementation { generatedFullProviderApiClone: false; rawClientEscapeHatch: true; sdkPackage: "stripe"; strategy: "official-sdk"; }
metadata.implementation.generatedFullProviderApiClone false
metadata.implementation.rawClientEscapeHatch true
metadata.implementation.sdkPackage "stripe"
metadata.implementation.strategy "official-sdk"
metadata.rawProviderRequest { acknowledgementRequired: true; capability: "ecommerce.payments"; coverage: "escape-hatch-not-full-provider-api"; }
metadata.rawProviderRequest.acknowledgementRequired true
metadata.rawProviderRequest.capability "ecommerce.payments"
metadata.rawProviderRequest.coverage "escape-hatch-not-full-provider-api"
metadata.sdkPackage "stripe"
name "Stripe"
operations [{ alias: "ecommerce.event.receive"; capability: "receive"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeEvent"; }]; }, { alias: "ecommerce.order.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCheckoutSession"; }]; providerOperation: "checkout.sessions.retrieve"; }, { alias: "ecommerce.order.search"; capability: "search-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCheckoutSession"; }]; providerOperation: "checkout.sessions.list"; }, { alias: "ecommerce.customer.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCustomer"; }]; providerOperation: "customers.retrieve"; }, { alias: "ecommerce.customer.search"; capability: "search-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCustomer"; }]; providerOperation: "customers.search"; }, { alias: "ecommerce.payment.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripePaymentIntent"; }]; providerOperation: "paymentIntents.retrieve"; }, { alias: "ecommerce.refund.create"; capability: "create-provider-object"; changesWorkflow: true; exposesSensitiveData: true; externallyVisible: true; providerObjects: [{ kind: "stripeRefund"; }]; providerOperation: "refunds.create"; requiresApproval: true; sideEffect: true; }, { alias: "ecommerce.refund.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeRefund"; }]; providerOperation: "refunds.retrieve"; }, { alias: "ecommerce.subscription.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeSubscription"; }]; providerOperation: "subscriptions.retrieve"; }, { alias: "ecommerce.subscription.update"; capability: "update-provider-object"; changesWorkflow: true; exposesSensitiveData: true; externallyVisible: true; providerObjects: [{ kind: "stripeSubscription"; }]; providerOperation: "subscriptions.update"; requiresApproval: true; sideEffect: true; }, { alias: "ecommerce.invoice.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeInvoice"; }]; providerOperation: "invoices.retrieve"; }, { alias: "ecommerce.webhookEndpoint.manage"; capability: "update-provider-object"; changesWorkflow: true; providerObjects: [{ kind: "stripeWebhookEndpoint"; }]; providerOperation: "webhookEndpoints"; sideEffect: true; }, { alias: "stripe.rawClient"; capability: "ecommerce.payments"; exposesSensitiveData: true; extension: true; providerObjects: [{ kind: "stripeRawClient"; }]; }]
packageName "@cognidesk/integration-ecommerce-stripe"
privacyNotes ["Stripe records can include customer contact data, billing/shipping addresses, payment state, subscription terms, invoice history, refund reasons, dispute evidence, and account metadata.", "Secret keys, Connect account routing, and webhook signing secrets stay server-side; Studio receives only readiness state and policy-visible metadata."]
provider "stripe"
trustLevel "official"

stripeEcommerceProviderManifestInput

const stripeEcommerceProviderManifestInput: {
  capabilities: [{
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "receive";
     description: "Validates and parses Stripe webhook events for SDK-user-owned commerce and payment support workflows.";
     exposesSensitiveData: true;
     label: "Receive Stripe events";
     providerObjects: [{
        kind: "stripeEvent";
        label: "Stripe Event";
     }];
     requiresCredential: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "read-provider-object";
     description: "Reads customers, Checkout Sessions, PaymentIntents, subscriptions, invoices, refunds, and disputes.";
     exposesSensitiveData: true;
     label: "Read Stripe commerce records";
     providerObjects: [{
        kind: "stripeCustomer";
        label: "Stripe Customer";
      }, {
        kind: "stripeCheckoutSession";
        label: "Stripe Checkout Session";
      }, {
        kind: "stripePaymentIntent";
        label: "Stripe PaymentIntent";
      }, {
        kind: "stripeSubscription";
        label: "Stripe Subscription";
      }, {
        kind: "stripeInvoice";
        label: "Stripe Invoice";
      }, {
        kind: "stripeRefund";
        label: "Stripe Refund";
      }, {
        kind: "stripeDispute";
        label: "Stripe Dispute";
     }];
     requiresCredential: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "search-provider-object";
     description: "Lists and searches support-relevant Stripe objects with SDK-user-supplied filters.";
     exposesSensitiveData: true;
     label: "Search Stripe commerce records";
     providerObjects: [{
        kind: "stripeCustomer";
        label: "Stripe Customer";
      }, {
        kind: "stripeCheckoutSession";
        label: "Stripe Checkout Session";
      }, {
        kind: "stripePaymentIntent";
        label: "Stripe PaymentIntent";
     }];
     requiresCredential: true;
   }, {
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "create-provider-object";
     changesWorkflow: true;
     description: "Creates Checkout Sessions, PaymentIntents, and refunds when SDK-user policy permits.";
     exposesSensitiveData: true;
     label: "Create Stripe payment support actions";
     providerObjects: [{
        kind: "stripeCheckoutSession";
        label: "Stripe Checkout Session";
      }, {
        kind: "stripePaymentIntent";
        label: "Stripe PaymentIntent";
      }, {
        kind: "stripeRefund";
        label: "Stripe Refund";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "update-provider-object";
     changesWorkflow: true;
     description: "Updates subscriptions and manages webhook endpoints when SDK-user policy permits.";
     exposesSensitiveData: true;
     label: "Update Stripe support records";
     providerObjects: [{
        kind: "stripeSubscription";
        label: "Stripe Subscription";
      }, {
        kind: "stripeWebhookEndpoint";
        label: "Stripe Webhook Endpoint";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["internal-support"];
     capability: "ecommerce.payments";
     description: "Exposes the configured official Stripe SDK client for SDK-user-owned advanced operations.";
     exposesSensitiveData: true;
     extension: true;
     label: "Stripe raw SDK escape hatch";
     providerObjects: [{
        kind: "stripeRawClient";
        label: "Stripe SDK Client";
     }];
     requiresCredential: true;
  }];
  category: "ecommerce";
  channelAudiences: ["customer-facing", "internal-support", "mixed"];
  coverage: {
     evidence: [{
        label: "Stripe API reference";
        url: "https://docs.stripe.com/api";
      }, {
        label: "Stripe Node SDK";
        url: "https://github.com/stripe/stripe-node";
      }, {
        label: "Stripe webhook signature verification";
        url: "https://docs.stripe.com/webhooks/signature";
     }];
     notes: ["Coverage is limited to Cognidesk-normalized Stripe commerce support operations backed by the official Stripe SDK.", "The official Stripe SDK remains available as an explicit raw-client escape hatch; raw SDK coverage is not Cognidesk adapter coverage.", "Generated Stripe full-provider API clones are intentionally not part of this package."];
     scope: "support-workflow-subset";
  };
  credentialRequirements: [{
     description: "Server-side Stripe secret or restricted key selected and owned by the SDK user.";
     id: "stripe-secret-key";
     label: "Stripe secret key";
     metadata: {
        scopeKind: "provider-permission-labels";
     };
     required: true;
     scopes: ["customers:read", "payment_intents:read", "checkout_sessions:read", "subscriptions:read", "invoices:read", "refunds:read", "disputes:read", "subscriptions:write", "webhook_endpoints:read", "webhook_endpoints:write"];
   }, {
     description: "Endpoint signing secret used to validate Stripe-Signature headers against the raw request body.";
     id: "stripe-webhook-signing-secret";
     label: "Stripe webhook signing secret";
     required: true;
   }, {
     description: "SDK-user-selected account context for platform or connected-account routing.";
     id: "stripe-connect-mode";
     label: "Stripe Connect mode";
     required: false;
  }];
  directions: ["receive-only", "send-only", "bidirectional"];
  id: "ecommerce.stripe";
  limitations: ["The SDK user chooses Stripe account mode, restricted-key permissions, event destinations, webhook subscriptions, checkout UI, refund policy, dispute evidence policy, consent, and retention.", "This package provides normalized support-operation foundations and raw-client access; it does not decide when to charge, refund, cancel, submit evidence, or expose payment data to an operator."];
  maintainers: [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     defaultApiVersion: "2026-05-27.dahlia";
     docs: "https://docs.stripe.com/api";
     implementation: {
        generatedFullProviderApiClone: false;
        rawClientEscapeHatch: true;
        sdkPackage: "stripe";
        strategy: "official-sdk";
     };
     rawProviderRequest: {
        acknowledgementRequired: true;
        capability: "ecommerce.payments";
        coverage: "escape-hatch-not-full-provider-api";
     };
     sdkPackage: "stripe";
  };
  name: "Stripe";
  operations: [{
     alias: "ecommerce.event.receive";
     capability: "receive";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeEvent";
     }];
   }, {
     alias: "ecommerce.order.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCheckoutSession";
     }];
     providerOperation: "checkout.sessions.retrieve";
   }, {
     alias: "ecommerce.order.search";
     capability: "search-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCheckoutSession";
     }];
     providerOperation: "checkout.sessions.list";
   }, {
     alias: "ecommerce.customer.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCustomer";
     }];
     providerOperation: "customers.retrieve";
   }, {
     alias: "ecommerce.customer.search";
     capability: "search-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeCustomer";
     }];
     providerOperation: "customers.search";
   }, {
     alias: "ecommerce.payment.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripePaymentIntent";
     }];
     providerOperation: "paymentIntents.retrieve";
   }, {
     alias: "ecommerce.refund.create";
     capability: "create-provider-object";
     changesWorkflow: true;
     exposesSensitiveData: true;
     externallyVisible: true;
     providerObjects: [{
        kind: "stripeRefund";
     }];
     providerOperation: "refunds.create";
     requiresApproval: true;
     sideEffect: true;
   }, {
     alias: "ecommerce.refund.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeRefund";
     }];
     providerOperation: "refunds.retrieve";
   }, {
     alias: "ecommerce.subscription.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeSubscription";
     }];
     providerOperation: "subscriptions.retrieve";
   }, {
     alias: "ecommerce.subscription.update";
     capability: "update-provider-object";
     changesWorkflow: true;
     exposesSensitiveData: true;
     externallyVisible: true;
     providerObjects: [{
        kind: "stripeSubscription";
     }];
     providerOperation: "subscriptions.update";
     requiresApproval: true;
     sideEffect: true;
   }, {
     alias: "ecommerce.invoice.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "stripeInvoice";
     }];
     providerOperation: "invoices.retrieve";
   }, {
     alias: "ecommerce.webhookEndpoint.manage";
     capability: "update-provider-object";
     changesWorkflow: true;
     providerObjects: [{
        kind: "stripeWebhookEndpoint";
     }];
     providerOperation: "webhookEndpoints";
     sideEffect: true;
   }, {
     alias: "stripe.rawClient";
     capability: "ecommerce.payments";
     exposesSensitiveData: true;
     extension: true;
     providerObjects: [{
        kind: "stripeRawClient";
     }];
  }];
  packageName: "@cognidesk/integration-ecommerce-stripe";
  privacyNotes: ["Stripe records can include customer contact data, billing/shipping addresses, payment state, subscription terms, invoice history, refund reasons, dispute evidence, and account metadata.", "Secret keys, Connect account routing, and webhook signing secrets stay server-side; Studio receives only readiness state and policy-visible metadata."];
  provider: "stripe";
  trustLevel: "official";
};

Type Declaration

Name Type
capabilities [{ audiences: ["customer-facing", "internal-support", "mixed"]; capability: "receive"; description: "Validates and parses Stripe webhook events for SDK-user-owned commerce and payment support workflows."; exposesSensitiveData: true; label: "Receive Stripe events"; providerObjects: [{ kind: "stripeEvent"; label: "Stripe Event"; }]; requiresCredential: true; }, { audiences: ["internal-support", "mixed"]; capability: "read-provider-object"; description: "Reads customers, Checkout Sessions, PaymentIntents, subscriptions, invoices, refunds, and disputes."; exposesSensitiveData: true; label: "Read Stripe commerce records"; providerObjects: [{ kind: "stripeCustomer"; label: "Stripe Customer"; }, { kind: "stripeCheckoutSession"; label: "Stripe Checkout Session"; }, { kind: "stripePaymentIntent"; label: "Stripe PaymentIntent"; }, { kind: "stripeSubscription"; label: "Stripe Subscription"; }, { kind: "stripeInvoice"; label: "Stripe Invoice"; }, { kind: "stripeRefund"; label: "Stripe Refund"; }, { kind: "stripeDispute"; label: "Stripe Dispute"; }]; requiresCredential: true; }, { audiences: ["internal-support", "mixed"]; capability: "search-provider-object"; description: "Lists and searches support-relevant Stripe objects with SDK-user-supplied filters."; exposesSensitiveData: true; label: "Search Stripe commerce records"; providerObjects: [{ kind: "stripeCustomer"; label: "Stripe Customer"; }, { kind: "stripeCheckoutSession"; label: "Stripe Checkout Session"; }, { kind: "stripePaymentIntent"; label: "Stripe PaymentIntent"; }]; requiresCredential: true; }, { audiences: ["customer-facing", "internal-support", "mixed"]; capability: "create-provider-object"; changesWorkflow: true; description: "Creates Checkout Sessions, PaymentIntents, and refunds when SDK-user policy permits."; exposesSensitiveData: true; label: "Create Stripe payment support actions"; providerObjects: [{ kind: "stripeCheckoutSession"; label: "Stripe Checkout Session"; }, { kind: "stripePaymentIntent"; label: "Stripe PaymentIntent"; }, { kind: "stripeRefund"; label: "Stripe Refund"; }]; requiresCredential: true; sideEffect: true; }, { audiences: ["internal-support", "mixed"]; capability: "update-provider-object"; changesWorkflow: true; description: "Updates subscriptions and manages webhook endpoints when SDK-user policy permits."; exposesSensitiveData: true; label: "Update Stripe support records"; providerObjects: [{ kind: "stripeSubscription"; label: "Stripe Subscription"; }, { kind: "stripeWebhookEndpoint"; label: "Stripe Webhook Endpoint"; }]; requiresCredential: true; sideEffect: true; }, { audiences: ["internal-support"]; capability: "ecommerce.payments"; description: "Exposes the configured official Stripe SDK client for SDK-user-owned advanced operations."; exposesSensitiveData: true; extension: true; label: "Stripe raw SDK escape hatch"; providerObjects: [{ kind: "stripeRawClient"; label: "Stripe SDK Client"; }]; requiresCredential: true; }]
category "ecommerce"
channelAudiences ["customer-facing", "internal-support", "mixed"]
coverage { evidence: [{ label: "Stripe API reference"; url: "https://docs.stripe.com/api"; }, { label: "Stripe Node SDK"; url: "https://github.com/stripe/stripe-node"; }, { label: "Stripe webhook signature verification"; url: "https://docs.stripe.com/webhooks/signature"; }]; notes: ["Coverage is limited to Cognidesk-normalized Stripe commerce support operations backed by the official Stripe SDK.", "The official Stripe SDK remains available as an explicit raw-client escape hatch; raw SDK coverage is not Cognidesk adapter coverage.", "Generated Stripe full-provider API clones are intentionally not part of this package."]; scope: "support-workflow-subset"; }
coverage.evidence [{ label: "Stripe API reference"; url: "https://docs.stripe.com/api"; }, { label: "Stripe Node SDK"; url: "https://github.com/stripe/stripe-node"; }, { label: "Stripe webhook signature verification"; url: "https://docs.stripe.com/webhooks/signature"; }]
coverage.notes ["Coverage is limited to Cognidesk-normalized Stripe commerce support operations backed by the official Stripe SDK.", "The official Stripe SDK remains available as an explicit raw-client escape hatch; raw SDK coverage is not Cognidesk adapter coverage.", "Generated Stripe full-provider API clones are intentionally not part of this package."]
coverage.scope "support-workflow-subset"
credentialRequirements [{ description: "Server-side Stripe secret or restricted key selected and owned by the SDK user."; id: "stripe-secret-key"; label: "Stripe secret key"; metadata: { scopeKind: "provider-permission-labels"; }; required: true; scopes: ["customers:read", "payment_intents:read", "checkout_sessions:read", "subscriptions:read", "invoices:read", "refunds:read", "disputes:read", "subscriptions:write", "webhook_endpoints:read", "webhook_endpoints:write"]; }, { description: "Endpoint signing secret used to validate Stripe-Signature headers against the raw request body."; id: "stripe-webhook-signing-secret"; label: "Stripe webhook signing secret"; required: true; }, { description: "SDK-user-selected account context for platform or connected-account routing."; id: "stripe-connect-mode"; label: "Stripe Connect mode"; required: false; }]
directions ["receive-only", "send-only", "bidirectional"]
id "ecommerce.stripe"
limitations ["The SDK user chooses Stripe account mode, restricted-key permissions, event destinations, webhook subscriptions, checkout UI, refund policy, dispute evidence policy, consent, and retention.", "This package provides normalized support-operation foundations and raw-client access; it does not decide when to charge, refund, cancel, submit evidence, or expose payment data to an operator."]
maintainers [{ name: "Cognidesk"; type: "official"; }]
metadata { defaultApiVersion: "2026-05-27.dahlia"; docs: "https://docs.stripe.com/api"; implementation: { generatedFullProviderApiClone: false; rawClientEscapeHatch: true; sdkPackage: "stripe"; strategy: "official-sdk"; }; rawProviderRequest: { acknowledgementRequired: true; capability: "ecommerce.payments"; coverage: "escape-hatch-not-full-provider-api"; }; sdkPackage: "stripe"; }
metadata.defaultApiVersion "2026-05-27.dahlia"
metadata.docs "https://docs.stripe.com/api"
metadata.implementation { generatedFullProviderApiClone: false; rawClientEscapeHatch: true; sdkPackage: "stripe"; strategy: "official-sdk"; }
metadata.implementation.generatedFullProviderApiClone false
metadata.implementation.rawClientEscapeHatch true
metadata.implementation.sdkPackage "stripe"
metadata.implementation.strategy "official-sdk"
metadata.rawProviderRequest { acknowledgementRequired: true; capability: "ecommerce.payments"; coverage: "escape-hatch-not-full-provider-api"; }
metadata.rawProviderRequest.acknowledgementRequired true
metadata.rawProviderRequest.capability "ecommerce.payments"
metadata.rawProviderRequest.coverage "escape-hatch-not-full-provider-api"
metadata.sdkPackage "stripe"
name "Stripe"
operations [{ alias: "ecommerce.event.receive"; capability: "receive"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeEvent"; }]; }, { alias: "ecommerce.order.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCheckoutSession"; }]; providerOperation: "checkout.sessions.retrieve"; }, { alias: "ecommerce.order.search"; capability: "search-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCheckoutSession"; }]; providerOperation: "checkout.sessions.list"; }, { alias: "ecommerce.customer.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCustomer"; }]; providerOperation: "customers.retrieve"; }, { alias: "ecommerce.customer.search"; capability: "search-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeCustomer"; }]; providerOperation: "customers.search"; }, { alias: "ecommerce.payment.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripePaymentIntent"; }]; providerOperation: "paymentIntents.retrieve"; }, { alias: "ecommerce.refund.create"; capability: "create-provider-object"; changesWorkflow: true; exposesSensitiveData: true; externallyVisible: true; providerObjects: [{ kind: "stripeRefund"; }]; providerOperation: "refunds.create"; requiresApproval: true; sideEffect: true; }, { alias: "ecommerce.refund.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeRefund"; }]; providerOperation: "refunds.retrieve"; }, { alias: "ecommerce.subscription.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeSubscription"; }]; providerOperation: "subscriptions.retrieve"; }, { alias: "ecommerce.subscription.update"; capability: "update-provider-object"; changesWorkflow: true; exposesSensitiveData: true; externallyVisible: true; providerObjects: [{ kind: "stripeSubscription"; }]; providerOperation: "subscriptions.update"; requiresApproval: true; sideEffect: true; }, { alias: "ecommerce.invoice.read"; capability: "read-provider-object"; exposesSensitiveData: true; providerObjects: [{ kind: "stripeInvoice"; }]; providerOperation: "invoices.retrieve"; }, { alias: "ecommerce.webhookEndpoint.manage"; capability: "update-provider-object"; changesWorkflow: true; providerObjects: [{ kind: "stripeWebhookEndpoint"; }]; providerOperation: "webhookEndpoints"; sideEffect: true; }, { alias: "stripe.rawClient"; capability: "ecommerce.payments"; exposesSensitiveData: true; extension: true; providerObjects: [{ kind: "stripeRawClient"; }]; }]
packageName "@cognidesk/integration-ecommerce-stripe"
privacyNotes ["Stripe records can include customer contact data, billing/shipping addresses, payment state, subscription terms, invoice history, refund reasons, dispute evidence, and account metadata.", "Secret keys, Connect account routing, and webhook signing secrets stay server-side; Studio receives only readiness state and policy-visible metadata."]
provider "stripe"
trustLevel "official"