Stripe · Capability

Stripe Payment Intents API — Payment Intents

Stripe Payment Intents API — Payment Intents. 11 operations. Lead operation: Payment Intents. Self-contained Naftiko capability covering one Stripe business surface.

Run with Naftiko StripePayment Intents

What You Can Do

GET
Getpaymentintents

Returns a list of PaymentIntents.

/v1/v1/payment-intents
POST
Postpaymentintents

Creates a PaymentIntent object.

/v1/v1/payment-intents
GET
Getpaymentintentssearch

Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language.

/v1/v1/payment-intents/search
GET
Getpaymentintentsintent

Retrieves the details of a PaymentIntent that has previously been created.

/v1/v1/payment-intents/{intent}
POST
Postpaymentintentsintent

Updates properties on a PaymentIntent object without confirming.

/v1/v1/payment-intents/{intent}
POST
Postpaymentintentsintentapplycustomerbalance

Manually reconcile the remaining amount for a customer_balance PaymentIntent.

/v1/v1/payment-intents/{intent}/apply-customer-balance
POST
Postpaymentintentsintentcancel

You can cancel a PaymentIntent object when it’s in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, /v1/v1/payment-intents/{intent}/cancel

POST
Postpaymentintentsintentcapture

Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture.

/v1/v1/payment-intents/{intent}/capture
POST
Postpaymentintentsintentconfirm

Confirm that your customer intends to pay with current or provided

/v1/v1/payment-intents/{intent}/confirm
POST
Postpaymentintentsintentincrementauthorization

Perform an incremental authorization on an eligible

/v1/v1/payment-intents/{intent}/increment-authorization
POST
Postpaymentintentsintentverifymicrodeposits

Verifies microdeposits on a PaymentIntent object.

/v1/v1/payment-intents/{intent}/verify-microdeposits

MCP Tools

p-returns-list-paymentintents-p

Returns a list of PaymentIntents.

read-only idempotent
p-creates-paymentintent-object-p

Creates a PaymentIntent object.

p-search-paymentintents-you-ve-previously-created

Search for PaymentIntents you’ve previously created using Stripe’s Search Query Language.

read-only idempotent
p-retrieves-details-paymentintent-that-has

Retrieves the details of a PaymentIntent that has previously been created.

read-only idempotent
p-updates-properties-paymentintent-object-without

Updates properties on a PaymentIntent object without confirming.

p-manually-reconcile-remaining-amount-code-customer

Manually reconcile the remaining amount for a customer_balance PaymentIntent.

p-you-can-cancel-paymentintent-object

You can cancel a PaymentIntent object when it’s in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or,

p-capture-funds-existing-uncaptured-paymentintent

Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture.

p-confirm-that-your-customer-intends

Confirm that your customer intends to pay with current or provided

p-perform-incremental-authorization-eligible

Perform an incremental authorization on an eligible

p-verifies-microdeposits-paymentintent-object-p

Verifies microdeposits on a PaymentIntent object.

Capability Spec

naftiko: 1.0.0-alpha2
info:
  label: Stripe Payment Intents API — Payment Intents
  description: 'Stripe Payment Intents API — Payment Intents. 11 operations. Lead operation: Payment Intents. Self-contained
    Naftiko capability covering one Stripe business surface.'
  tags:
  - Stripe
  - Payment Intents
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    STRIPE_API_KEY: STRIPE_API_KEY
capability:
  consumes:
  - type: http
    namespace: openapi:stripe-payment-intents-payment-intents
    baseUri: https://api.stripe.com
    description: Stripe Payment Intents API — Payment Intents business capability. Self-contained, no shared references.
    resources:
    - name: v1-payment_intents
      path: /v1/payment_intents
      operations:
      - name: getpaymentintents
        method: GET
        description: <p>Returns a list of PaymentIntents.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: created
          in: query
          type: string
          description: A filter on the list, based on the object `created` field. The value can be a string with an integer
            Unix timestamp or a dictionary with a number of different q
        - name: customer
          in: query
          type: string
          description: Only return PaymentIntents for the customer that this customer ID specifies.
        - name: ending_before
          in: query
          type: string
          description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list.
            For instance, if you make a list request and receive 100 ob
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default
            is 10.
        - name: starting_after
          in: query
          type: string
          description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list.
            For instance, if you make a list request and receive 100 o
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postpaymentintents
        method: POST
        description: <p>Creates a PaymentIntent object.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-payment_intents-search
      path: /v1/payment_intents/search
      operations:
      - name: getpaymentintentssearch
        method: GET
        description: <p>Search for PaymentIntents you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search
          Query Language</a>.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: limit
          in: query
          type: integer
          description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default
            is 10.
        - name: page
          in: query
          type: string
          description: A cursor for pagination across multiple pages of results. Don't include this parameter on the first
            call. Use the next_page value returned in a previous respons
        - name: query
          in: query
          type: string
          description: The search query string. See [search query language](https://stripe.com/docs/search#search-query-language)
            and the list of supported [query fields for payment i
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-payment_intents-intent
      path: /v1/payment_intents/{intent}
      operations:
      - name: getpaymentintentsintent
        method: GET
        description: <p>Retrieves the details of a PaymentIntent that has previously been created. </p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: client_secret
          in: query
          type: string
          description: The client secret of the PaymentIntent. We require it if you use a publishable key to retrieve the
            source.
        - name: expand
          in: query
          type: array
          description: Specifies which fields in the response should be expanded.
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: postpaymentintentsintent
        method: POST
        description: <p>Updates properties on a PaymentIntent object without confirming.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-payment_intents-intent-apply_customer_balance
      path: /v1/payment_intents/{intent}/apply_customer_balance
      operations:
      - name: postpaymentintentsintentapplycustomerbalance
        method: POST
        description: <p>Manually reconcile the remaining amount for a <code>customer_balance</code> PaymentIntent.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-payment_intents-intent-cancel
      path: /v1/payment_intents/{intent}/cancel
      operations:
      - name: postpaymentintentsintentcancel
        method: POST
        description: '<p>You can cancel a PaymentIntent object when it’s in one of these statuses: <code>requires_payment_method</code>,
          <code>requires_capture</code>, <code>requires_confirmation</code>, <code>requires_action</code> or, <a href="/docs/payments/i'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-payment_intents-intent-capture
      path: /v1/payment_intents/{intent}/capture
      operations:
      - name: postpaymentintentsintentcapture
        method: POST
        description: <p>Capture the funds of an existing uncaptured PaymentIntent when its status is <code>requires_capture</code>.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-payment_intents-intent-confirm
      path: /v1/payment_intents/{intent}/confirm
      operations:
      - name: postpaymentintentsintentconfirm
        method: POST
        description: <p>Confirm that your customer intends to pay with current or provided
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-payment_intents-intent-increment_authorization
      path: /v1/payment_intents/{intent}/increment_authorization
      operations:
      - name: postpaymentintentsintentincrementauthorization
        method: POST
        description: <p>Perform an incremental authorization on an eligible
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-payment_intents-intent-verify_microdeposits
      path: /v1/payment_intents/{intent}/verify_microdeposits
      operations:
      - name: postpaymentintentsintentverifymicrodeposits
        method: POST
        description: <p>Verifies microdeposits on a PaymentIntent object.</p>
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: intent
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      token: '{{env.STRIPE_API_KEY}}'
  exposes:
  - type: rest
    namespace: openapi:stripe-payment-intents-payment-intents-rest
    port: 8080
    description: REST adapter for Stripe Payment Intents API — Payment Intents. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/v1/payment-intents
      name: v1-payment-intents
      description: REST surface for v1-payment_intents.
      operations:
      - method: GET
        name: getpaymentintents
        description: <p>Returns a list of PaymentIntents.</p>
        call: openapi:stripe-payment-intents-payment-intents.getpaymentintents
        with:
          created: rest.created
          customer: rest.customer
          ending_before: rest.ending_before
          expand: rest.expand
          limit: rest.limit
          starting_after: rest.starting_after
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postpaymentintents
        description: <p>Creates a PaymentIntent object.</p>
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintents
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/search
      name: v1-payment-intents-search
      description: REST surface for v1-payment_intents-search.
      operations:
      - method: GET
        name: getpaymentintentssearch
        description: <p>Search for PaymentIntents you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search
          Query Language</a>.
        call: openapi:stripe-payment-intents-payment-intents.getpaymentintentssearch
        with:
          expand: rest.expand
          limit: rest.limit
          page: rest.page
          query: rest.query
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/{intent}
      name: v1-payment-intents-intent
      description: REST surface for v1-payment_intents-intent.
      operations:
      - method: GET
        name: getpaymentintentsintent
        description: <p>Retrieves the details of a PaymentIntent that has previously been created. </p>
        call: openapi:stripe-payment-intents-payment-intents.getpaymentintentsintent
        with:
          client_secret: rest.client_secret
          expand: rest.expand
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postpaymentintentsintent
        description: <p>Updates properties on a PaymentIntent object without confirming.</p>
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintent
        with:
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/{intent}/apply-customer-balance
      name: v1-payment-intents-intent-apply-customer-balance
      description: REST surface for v1-payment_intents-intent-apply_customer_balance.
      operations:
      - method: POST
        name: postpaymentintentsintentapplycustomerbalance
        description: <p>Manually reconcile the remaining amount for a <code>customer_balance</code> PaymentIntent.</p>
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentapplycustomerbalance
        with:
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/{intent}/cancel
      name: v1-payment-intents-intent-cancel
      description: REST surface for v1-payment_intents-intent-cancel.
      operations:
      - method: POST
        name: postpaymentintentsintentcancel
        description: '<p>You can cancel a PaymentIntent object when it’s in one of these statuses: <code>requires_payment_method</code>,
          <code>requires_capture</code>, <code>requires_confirmation</code>, <code>requires_action</code> or, <a href="/docs/payments/i'
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentcancel
        with:
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/{intent}/capture
      name: v1-payment-intents-intent-capture
      description: REST surface for v1-payment_intents-intent-capture.
      operations:
      - method: POST
        name: postpaymentintentsintentcapture
        description: <p>Capture the funds of an existing uncaptured PaymentIntent when its status is <code>requires_capture</code>.</p>
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentcapture
        with:
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/{intent}/confirm
      name: v1-payment-intents-intent-confirm
      description: REST surface for v1-payment_intents-intent-confirm.
      operations:
      - method: POST
        name: postpaymentintentsintentconfirm
        description: <p>Confirm that your customer intends to pay with current or provided
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentconfirm
        with:
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/{intent}/increment-authorization
      name: v1-payment-intents-intent-increment-authorization
      description: REST surface for v1-payment_intents-intent-increment_authorization.
      operations:
      - method: POST
        name: postpaymentintentsintentincrementauthorization
        description: <p>Perform an incremental authorization on an eligible
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentincrementauthorization
        with:
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/payment-intents/{intent}/verify-microdeposits
      name: v1-payment-intents-intent-verify-microdeposits
      description: REST surface for v1-payment_intents-intent-verify_microdeposits.
      operations:
      - method: POST
        name: postpaymentintentsintentverifymicrodeposits
        description: <p>Verifies microdeposits on a PaymentIntent object.</p>
        call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentverifymicrodeposits
        with:
          intent: rest.intent
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: openapi:stripe-payment-intents-payment-intents-mcp
    port: 9090
    transport: http
    description: MCP adapter for Stripe Payment Intents API — Payment Intents. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: p-returns-list-paymentintents-p
      description: <p>Returns a list of PaymentIntents.</p>
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi:stripe-payment-intents-payment-intents.getpaymentintents
      with:
        created: tools.created
        customer: tools.customer
        ending_before: tools.ending_before
        expand: tools.expand
        limit: tools.limit
        starting_after: tools.starting_after
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-creates-paymentintent-object-p
      description: <p>Creates a PaymentIntent object.</p>
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintents
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-search-paymentintents-you-ve-previously-created
      description: <p>Search for PaymentIntents you’ve previously created using Stripe’s <a href="/docs/search#search-query-language">Search
        Query Language</a>.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi:stripe-payment-intents-payment-intents.getpaymentintentssearch
      with:
        expand: tools.expand
        limit: tools.limit
        page: tools.page
        query: tools.query
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-retrieves-details-paymentintent-that-has
      description: <p>Retrieves the details of a PaymentIntent that has previously been created. </p>
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi:stripe-payment-intents-payment-intents.getpaymentintentsintent
      with:
        client_secret: tools.client_secret
        expand: tools.expand
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-updates-properties-paymentintent-object-without
      description: <p>Updates properties on a PaymentIntent object without confirming.</p>
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintent
      with:
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-manually-reconcile-remaining-amount-code-customer
      description: <p>Manually reconcile the remaining amount for a <code>customer_balance</code> PaymentIntent.</p>
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentapplycustomerbalance
      with:
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-you-can-cancel-paymentintent-object
      description: '<p>You can cancel a PaymentIntent object when it’s in one of these statuses: <code>requires_payment_method</code>,
        <code>requires_capture</code>, <code>requires_confirmation</code>, <code>requires_action</code> or, <a href="/docs/payments/i'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentcancel
      with:
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-capture-funds-existing-uncaptured-paymentintent
      description: <p>Capture the funds of an existing uncaptured PaymentIntent when its status is <code>requires_capture</code>.</p>
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentcapture
      with:
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-confirm-that-your-customer-intends
      description: <p>Confirm that your customer intends to pay with current or provided
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentconfirm
      with:
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-perform-incremental-authorization-eligible
      description: <p>Perform an incremental authorization on an eligible
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentincrementauthorization
      with:
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: p-verifies-microdeposits-paymentintent-object-p
      description: <p>Verifies microdeposits on a PaymentIntent object.</p>
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: openapi:stripe-payment-intents-payment-intents.postpaymentintentsintentverifymicrodeposits
      with:
        intent: tools.intent
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.