How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Stripe Charges API

The Charge object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way to create Charges, but transferring money to a different Stripe account through Connect also creates Charges. Some legacy payment flows create Charges directly, which is not recommended for new integrations.

Stripe Charges API is one of 159 APIs that Stripe publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Charges, Disputes, and Refunds. The published artifact set on APIs.io includes API documentation, an API reference, and an OpenAPI specification.

This API exposes 14 operations across 9 paths, and defines 21 schemas. It is described by OpenAPI 3.2.0, at version 2023-10-16.

Requests are made against a single base URL, https://api.stripe.com/.

14 operations 9 paths 21 schemas 6 GET8 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
2023-10-16
Server
https://api.stripe.com/
Authentication
HTTP Basic, HTTP Bearer
Terms of Service
Resource Areas
1

Authentication & Security 2

Stripe Charges API declares 2 security schemes for authenticating requests. It accepts HTTP basic authentication (basicAuth). It accepts HTTP bearer tokens (auth-scheme) (bearerAuth). By default, every request must be authenticated.

  • basicAuth — Basic HTTP authentication. Allowed headers-- Authorization: Basic | Authorization: Basic
  • bearerAuth — Bearer HTTP authentication. Allowed headers-- Authorization: Bearer

Paths & Operations 14

Across 9 paths, the API surfaces 14 operations — 6 GET, 8 POST. Each is listed below with its method, path, parameters, and response codes.

Charges 14
GET
/v1/charges
Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.
GetCharges 8 params body → 200default
POST
/v1/charges
Use the Payment Intents API to initiate a new payment instead of using this method. Confirmation of the PaymentIntent creates the Charge object used to request payment, so this method is limited to l…
PostCharges body → 200default
GET
/v1/charges/search
Search for charges you’ve previously created using Stripe’s Search Query Language . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions…
GetChargesSearch 4 params body → 200default
GET
/v1/charges/{charge}
Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge informati…
GetChargesCharge 2 params body → 200default
POST
/v1/charges/{charge}
Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
PostChargesCharge 1 param body → 200default
POST
/v1/charges/{charge}/capture
Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ( 7 by default ), a…
PostChargesChargeCapture 1 param body → 200default
GET
/v1/charges/{charge}/dispute
Retrieve a dispute for a specified charge.
GetChargesChargeDispute 2 params body → 200default
POST
/v1/charges/{charge}/dispute
PostChargesChargeDispute 1 param body → 200default
POST
/v1/charges/{charge}/dispute/close
PostChargesChargeDisputeClose 1 param body → 200default
POST
/v1/charges/{charge}/refund
When you create a new refund, you must specify either a Charge or a PaymentIntent object. This action refunds a previously created charge that’s not refunded yet. Funds are refunded to the credit or…
PostChargesChargeRefund 1 param body → 200default
GET
/v1/charges/{charge}/refunds
You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can us…
GetChargesChargeRefunds 5 params body → 200default
POST
/v1/charges/{charge}/refunds
When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it. Creating a new refund will refund a charge that has previously been created but not yet refund…
PostChargesChargeRefunds 1 param body → 200default
GET
/v1/charges/{charge}/refunds/{refund}
Retrieves the details of an existing refund.
GetChargesChargeRefundsRefund 3 params body → 200default
POST
/v1/charges/{charge}/refunds/{refund}
Update a specified refund.
PostChargesChargeRefundsRefund 2 params body → 200default

Schemas 21

The contract defines 21 schemas that model the data the API accepts and returns. The most detailed are charge (45 properties), PostChargesRequest (20 properties), refund (20 properties), dispute (16 properties). Each schema is shown below with its type and property counts.

SearchResult
object
6 properties 4 required
PostChargesChargeRefundsRequest
object
11 properties
PostChargesChargeCaptureRequest
object
9 properties
RefundList
object
4 properties 4 required
PostChargesChargeDisputeCloseRequest
object
1 property
PostChargesRequest
object
20 properties
ChargeList
object
4 properties 4 required
PostChargesChargeRefundRequest
object
8 properties
refund
object
Refund objects allow you to refund a previously created charge that isn't refunded yet. Funds are refunded to the credit or debit card that's initially charged…
20 properties 5 required
GetChargesChargeRequest
object
dispute
object
A dispute occurs when a customer questions your charge with their card issuer. When this happens, you have the opportunity to respond to the dispute with evide…
16 properties 14 required
charge
object
The Charge object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way to create Charges, but…
45 properties 15 required
GetChargesChargeRefundsRequest
object
PostChargesChargeRefundsRefundRequest
object
2 properties
error
object
An error response from the Stripe API
1 property 1 required
GetChargesChargeRefundsRefundRequest
object
GetChargesChargeDisputeRequest
object
GetChargesSearchRequest
object
GetChargesRequest
object
PostChargesChargeDisputeRequest
object
4 properties
PostChargesChargeRequest
object
8 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

stripe-charges-api-openapi.yml Raw ↑

Other APIs Stripe publishes across the network.

Stripe Accounts API
Stripe Balance API
Stripe Billing API
Stripe Checkout API
Stripe Climate API
Stripe Country API
Stripe Coupons API
Stripe Credit Notes API
Stripe Customers API
Stripe Disputes API
Stripe Ephemeral Keys API
Stripe Events API
Where this information came from

This is an independent, third-party profile of Stripe Charges API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.