Stripe Checkout API — Checkout
Stripe Checkout API — Checkout. 5 operations. Lead operation: Checkout. Self-contained Naftiko capability covering one Stripe business surface.
What You Can Do
Returns a list of Checkout Sessions.
Creates a Session object.
Retrieves a Session object.
A Session can be expired when it is in one of these statuses: open
When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
MCP Tools
p-returns-list-checkout-sessions-p
Returns a list of Checkout Sessions.
p-creates-session-object-p
Creates a Session object.
p-retrieves-session-object-p
Retrieves a Session object.
p-a-session-can-be-expired
A Session can be expired when it is in one of these statuses: open
p-when-retrieving-checkout-session-there
When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Stripe Checkout API — Checkout
description: 'Stripe Checkout API — Checkout. 5 operations. Lead operation: Checkout. Self-contained Naftiko capability
covering one Stripe business surface.'
tags:
- Stripe
- Checkout
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
STRIPE_API_KEY: STRIPE_API_KEY
capability:
consumes:
- type: http
namespace: checkout-checkout
baseUri: https://api.stripe.com
description: Stripe Checkout API — Checkout business capability. Self-contained, no shared references.
resources:
- name: v1-checkout-sessions
path: /v1/checkout/sessions
operations:
- name: getcheckoutsessions
method: GET
description: <p>Returns a list of Checkout Sessions.</p>
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: created
in: query
type: string
description: Only return the Checkout Sessions that were created during the given date interval.
- name: customer
in: query
type: string
description: Only return the Checkout Sessions for the Customer specified.
- name: customer_details
in: query
type: object
description: Only return the Checkout Sessions for the Customer details specified.
- 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: payment_intent
in: query
type: string
description: Only return the Checkout Session for the PaymentIntent specified.
- name: payment_link
in: query
type: string
description: Only return the Checkout Sessions for the Payment Link specified.
- 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: status
in: query
type: string
description: Only return the Checkout Sessions matching the given status.
- name: subscription
in: query
type: string
description: Only return the Checkout Session for the subscription specified.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: postcheckoutsessions
method: POST
description: <p>Creates a Session object.</p>
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-checkout-sessions-session
path: /v1/checkout/sessions/{session}
operations:
- name: getcheckoutsessionssession
method: GET
description: <p>Retrieves a Session object.</p>
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: session
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-checkout-sessions-session-expire
path: /v1/checkout/sessions/{session}/expire
operations:
- name: postcheckoutsessionssessionexpire
method: POST
description: '<p>A Session can be expired when it is in one of these statuses: <code>open</code> </p>'
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: session
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: v1-checkout-sessions-session-line_items
path: /v1/checkout/sessions/{session}/line_items
operations:
- name: getcheckoutsessionssessionlineitems
method: GET
description: <p>When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property containing
the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.</p>
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- 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: session
in: path
type: string
required: true
- 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
authentication:
type: bearer
token: '{{env.STRIPE_API_KEY}}'
exposes:
- type: rest
namespace: checkout-checkout-rest
port: 8080
description: REST adapter for Stripe Checkout API — Checkout. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/v1/checkout/sessions
name: v1-checkout-sessions
description: REST surface for v1-checkout-sessions.
operations:
- method: GET
name: getcheckoutsessions
description: <p>Returns a list of Checkout Sessions.</p>
call: checkout-checkout.getcheckoutsessions
with:
created: rest.created
customer: rest.customer
customer_details: rest.customer_details
ending_before: rest.ending_before
expand: rest.expand
limit: rest.limit
payment_intent: rest.payment_intent
payment_link: rest.payment_link
starting_after: rest.starting_after
status: rest.status
subscription: rest.subscription
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: POST
name: postcheckoutsessions
description: <p>Creates a Session object.</p>
call: checkout-checkout.postcheckoutsessions
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/checkout/sessions/{session}
name: v1-checkout-sessions-session
description: REST surface for v1-checkout-sessions-session.
operations:
- method: GET
name: getcheckoutsessionssession
description: <p>Retrieves a Session object.</p>
call: checkout-checkout.getcheckoutsessionssession
with:
expand: rest.expand
session: rest.session
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/checkout/sessions/{session}/expire
name: v1-checkout-sessions-session-expire
description: REST surface for v1-checkout-sessions-session-expire.
operations:
- method: POST
name: postcheckoutsessionssessionexpire
description: '<p>A Session can be expired when it is in one of these statuses: <code>open</code> </p>'
call: checkout-checkout.postcheckoutsessionssessionexpire
with:
session: rest.session
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/checkout/sessions/{session}/line-items
name: v1-checkout-sessions-session-line-items
description: REST surface for v1-checkout-sessions-session-line_items.
operations:
- method: GET
name: getcheckoutsessionssessionlineitems
description: <p>When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property containing
the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.</p>
call: checkout-checkout.getcheckoutsessionssessionlineitems
with:
ending_before: rest.ending_before
expand: rest.expand
limit: rest.limit
session: rest.session
starting_after: rest.starting_after
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: checkout-checkout-mcp
port: 9090
transport: http
description: MCP adapter for Stripe Checkout API — Checkout. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: p-returns-list-checkout-sessions-p
description: <p>Returns a list of Checkout Sessions.</p>
hints:
readOnly: true
destructive: false
idempotent: true
call: checkout-checkout.getcheckoutsessions
with:
created: tools.created
customer: tools.customer
customer_details: tools.customer_details
ending_before: tools.ending_before
expand: tools.expand
limit: tools.limit
payment_intent: tools.payment_intent
payment_link: tools.payment_link
starting_after: tools.starting_after
status: tools.status
subscription: tools.subscription
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: p-creates-session-object-p
description: <p>Creates a Session object.</p>
hints:
readOnly: false
destructive: false
idempotent: false
call: checkout-checkout.postcheckoutsessions
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: p-retrieves-session-object-p
description: <p>Retrieves a Session object.</p>
hints:
readOnly: true
destructive: false
idempotent: true
call: checkout-checkout.getcheckoutsessionssession
with:
expand: tools.expand
session: tools.session
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: p-a-session-can-be-expired
description: '<p>A Session can be expired when it is in one of these statuses: <code>open</code> </p>'
hints:
readOnly: false
destructive: false
idempotent: false
call: checkout-checkout.postcheckoutsessionssessionexpire
with:
session: tools.session
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: p-when-retrieving-checkout-session-there
description: <p>When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property containing
the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.</p>
hints:
readOnly: true
destructive: false
idempotent: true
call: checkout-checkout.getcheckoutsessionssessionlineitems
with:
ending_before: tools.ending_before
expand: tools.expand
limit: tools.limit
session: tools.session
starting_after: tools.starting_after
body: tools.body
outputParameters:
- type: object
mapping: $.