Stripe API
The Stripe REST API. Please see for more details.
- Homepage
- https://api.apis.guru/v2/specs/stripe.com/2022-11-15.json
- Provider
- stripe.com
- OpenAPI version
- 3.0.0
- Spec (JSON)
- https://api.apis.guru/v2/specs/stripe.com/2022-11-15/openapi.json
- Spec (YAML)
- https://api.apis.guru/v2/specs/stripe.com/2022-11-15/openapi.yaml
Tools (448)
Extracted live via the executor SDK.
-
account.getAccountRetrieves the details of an account.
-
accountLinks.postAccountLinksCreates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.
-
accounts.deleteAccountsAccountWith , you can delete accounts you manage.
Accounts created using test-mode keys can be deleted at any time. Standard accounts created using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys can only be deleted once all balances are zero.
If you want to delete your own account, use the instead.
-
accounts.deleteAccountsAccountBankAccountsIdDelete a specified external account for a given account.
-
accounts.deleteAccountsAccountExternalAccountsIdDelete a specified external account for a given account.
-
accounts.deleteAccountsAccountPeoplePersonDeletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the
account_opener. If your integration is using theexecutiveparameter, you cannot delete the only verifiedexecutiveon file. -
accounts.deleteAccountsAccountPersonsPersonDeletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the
account_opener. If your integration is using theexecutiveparameter, you cannot delete the only verifiedexecutiveon file. -
accounts.getAccountsReturns a list of accounts connected to your platform via . If you’re not a platform, the list is empty.
-
accounts.getAccountsAccountRetrieves the details of an account.
-
accounts.getAccountsAccountBankAccountsIdRetrieve a specified external account for a given account.
-
accounts.getAccountsAccountCapabilitiesReturns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
-
accounts.getAccountsAccountCapabilitiesCapabilityRetrieves information about the specified Account Capability.
-
accounts.getAccountsAccountExternalAccountsList external accounts for an account.
-
accounts.getAccountsAccountExternalAccountsIdRetrieve a specified external account for a given account.
-
accounts.getAccountsAccountPeopleReturns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
-
accounts.getAccountsAccountPeoplePersonRetrieves an existing person.
-
accounts.getAccountsAccountPersonsReturns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
-
accounts.getAccountsAccountPersonsPersonRetrieves an existing person.
-
accounts.postAccountsWith , you can create Stripe accounts for your users. To do this, you’ll first need to .
If you’ve already collected information for your connected accounts, you when creating the account. Connect Onboarding won’t ask for the pre-filled information during account onboarding. You can pre-fill any information on the account.
-
accounts.postAccountsAccountUpdates a by setting the values of the parameters passed. Any parameters not provided are left unchanged.
For Custom accounts, you can update any information on the account. For other accounts, you can update all information until that account has started to go through Connect Onboarding. Once you create an for a Standard or Express account, some parameters can no longer be changed. These are marked as Custom Only or Custom and Express below.
To update your own account, use the . Refer to our documentation to learn more about updating accounts.
-
accounts.postAccountsAccountBankAccountsCreate an external account for a given account.
-
accounts.postAccountsAccountBankAccountsIdUpdates the metadata, account holder name, account holder type of a bank account belonging to a , and optionally sets it as the default for its currency. Other bank account details are not editable by design.
You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.
-
accounts.postAccountsAccountCapabilitiesCapabilityUpdates an existing Account Capability.
-
accounts.postAccountsAccountExternalAccountsCreate an external account for a given account.
-
accounts.postAccountsAccountExternalAccountsIdUpdates the metadata, account holder name, account holder type of a bank account belonging to a , and optionally sets it as the default for its currency. Other bank account details are not editable by design.
You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.
-
accounts.postAccountsAccountLoginLinksCreates a single-use login link for an Express account to access their Stripe dashboard.
You may only create login links for connected to your platform.
-
accounts.postAccountsAccountPeopleCreates a new person.
-
accounts.postAccountsAccountPeoplePersonUpdates an existing person.
-
accounts.postAccountsAccountPersonsCreates a new person.
-
accounts.postAccountsAccountPersonsPersonUpdates an existing person.
-
accounts.postAccountsAccountRejectWith , you may flag accounts as suspicious.
Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.
-
applePay.deleteApplePayDomainsDomainDelete an apple pay domain.
-
applePay.getApplePayDomainsList apple pay domains.
-
applePay.getApplePayDomainsDomainRetrieve an apple pay domain.
-
applePay.postApplePayDomainsCreate an apple pay domain.
-
applicationFees.getApplicationFeesReturns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.
-
applicationFees.getApplicationFeesFeeRefundsIdBy default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.
-
applicationFees.getApplicationFeesIdRetrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.
-
applicationFees.getApplicationFeesIdRefundsYou can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the
limitandstarting_afterparameters to page through additional refunds. -
applicationFees.postApplicationFeesFeeRefundsIdUpdates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
This request only accepts metadata as an argument.
-
applicationFees.postApplicationFeesIdRefund -
applicationFees.postApplicationFeesIdRefundsRefunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected.
You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded.
Once entirely refunded, an application fee can’t be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee.
-
apps.getAppsSecretsList all secrets stored on the given scope.
-
apps.getAppsSecretsFindFinds a secret in the secret store by name and scope.
-
apps.postAppsSecretsCreate or replace a secret in the secret store.
-
apps.postAppsSecretsDeleteDeletes a secret from the secret store by name and scope.
-
balance.getBalanceRetrieves the current account balance, based on the authentication that was used to make the request. For a sample request, see .
-
balance.getBalanceHistoryReturns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
Note that this endpoint was previously called “Balance history” and used the path
/v1/balance/history. -
balance.getBalanceHistoryIdRetrieves the balance transaction with the given ID.
Note that this endpoint previously used the path
/v1/balance/history/:id. -
balanceTransactions.getBalanceTransactionsReturns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.
Note that this endpoint was previously called “Balance history” and used the path
/v1/balance/history. -
balanceTransactions.getBalanceTransactionsIdRetrieves the balance transaction with the given ID.
Note that this endpoint previously used the path
/v1/balance/history/:id. -
billingPortal.getBillingPortalConfigurationsReturns a list of configurations that describe the functionality of the customer portal.
-
billingPortal.getBillingPortalConfigurationsConfigurationRetrieves a configuration that describes the functionality of the customer portal.
-
billingPortal.postBillingPortalConfigurationsCreates a configuration that describes the functionality and behavior of a PortalSession
-
billingPortal.postBillingPortalConfigurationsConfigurationUpdates a configuration that describes the functionality of the customer portal.
-
billingPortal.postBillingPortalSessionsCreates a session of the customer portal.
-
charges.getChargesReturns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.
-
charges.getChargesChargeRetrieves 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 information. The same information is returned when creating or refunding the charge.
-
charges.getChargesChargeDisputeRetrieve a dispute for a specified charge.
-
charges.getChargesChargeRefundsYou 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 use this API method and the
limitandstarting_afterparameters to page through additional refunds. -
charges.getChargesChargeRefundsRefundRetrieves the details of an existing refund.
-
charges.getChargesSearchSearch for charges you’ve previously created using Stripe’s . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
-
charges.postChargesTo charge a credit card or other payment source, you create a
Chargeobject. If your API key is in test mode, the supplied payment source (e.g., card) won’t actually be charged, although everything else will occur as if in live mode. (Stripe assumes that the charge would have completed successfully). -
charges.postChargesChargeUpdates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
-
charges.postChargesChargeCaptureCapture the payment of an existing, uncaptured, charge. This is the second half of the two-step payment flow, where first you with the capture option set to false.
Uncaptured payments expire a set number of days after they are created (). If they are not captured by that point in time, they will be marked as refunded and will no longer be capturable.
-
charges.postChargesChargeDispute -
charges.postChargesChargeDisputeClose -
charges.postChargesChargeRefundWhen 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 refunded. Funds will be refunded to the credit or debit card that was originally charged.
You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded.
Once entirely refunded, a charge can’t be refunded again. This method will raise an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge.
-
charges.postChargesChargeRefundsCreate a refund.
-
charges.postChargesChargeRefundsRefundUpdate a specified refund.
-
checkout.getCheckoutSessionsReturns a list of Checkout Sessions.
-
checkout.getCheckoutSessionsSessionRetrieves a Session object.
-
checkout.getCheckoutSessionsSessionLineItemsWhen 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.
-
checkout.postCheckoutSessionsCreates a Session object.
-
checkout.postCheckoutSessionsSessionExpireA Session can be expired when it is in one of these statuses:
openAfter it expires, a customer can’t complete a Session and customers loading the Session see a message saying the Session is expired.
-
countrySpecs.getCountrySpecsLists all Country Spec objects available in the API.
-
countrySpecs.getCountrySpecsCountryReturns a Country Spec for a given Country code.
-
coupons.deleteCouponsCouponYou can delete coupons via the page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.
-
coupons.getCouponsReturns a list of your coupons.
-
coupons.getCouponsCouponRetrieves the coupon with the given ID.
-
coupons.postCouponsYou can create coupons easily via the page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.
A coupon has either a
percent_offor anamount_offandcurrency. If you set anamount_off, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with anamount_offof 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with anamount_offof 200 is applied to it. -
coupons.postCouponsCouponUpdates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.
-
creditNotes.getCreditNotesReturns a list of credit notes.
-
creditNotes.getCreditNotesCreditNoteLinesWhen retrieving a credit note, you’ll get a lines property containing the the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
-
creditNotes.getCreditNotesIdRetrieves the credit note object with the given identifier.
-
creditNotes.getCreditNotesPreviewGet a preview of a credit note without creating it.
-
creditNotes.getCreditNotesPreviewLinesWhen retrieving a credit note preview, you’ll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.
-
creditNotes.postCreditNotesIssue a credit note to adjust the amount of a finalized invoice. For a
status=openinvoice, a credit note reduces itsamount_due. For astatus=paidinvoice, a credit note does not affect itsamount_due. Instead, it can result in any combination of the following:- Refund: create a new refund (using
refund_amount) or link an existing refund (usingrefund). - Customer balance credit: credit the customer’s balance (using
credit_amount) which will be automatically applied to their next invoice when it’s finalized. - Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using
out_of_band_amount).
For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.
You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s
pre_payment_credit_notes_amountorpost_payment_credit_notes_amountdepending on itsstatusat the time of credit note creation. - Refund: create a new refund (using
-
creditNotes.postCreditNotesIdUpdates an existing credit note.
-
creditNotes.postCreditNotesIdVoidMarks a credit note as void. Learn more about .
-
customers.deleteCustomersCustomerPermanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
-
customers.deleteCustomersCustomerBankAccountsIdDelete a specified source for a given customer.
-
customers.deleteCustomersCustomerCardsIdDelete a specified source for a given customer.
-
customers.deleteCustomersCustomerDiscountRemoves the currently applied discount on a customer.
-
customers.deleteCustomersCustomerSourcesIdDelete a specified source for a given customer.
-
customers.deleteCustomersCustomerSubscriptionsSubscriptionExposedIdCancels a customer’s subscription. If you set the
at_period_endparameter totrue, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the defaultfalsevalue, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually . If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.
By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
-
customers.deleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscountRemoves the currently applied discount on a customer.
-
customers.deleteCustomersCustomerTaxIdsIdDeletes an existing
TaxIDobject. -
customers.getCustomersReturns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.
-
customers.getCustomersCustomerRetrieves a Customer object.
-
customers.getCustomersCustomerBalanceTransactionsReturns a list of transactions that updated the customer’s .
-
customers.getCustomersCustomerBalanceTransactionsTransactionRetrieves a specific customer balance transaction that updated the customer’s .
-
customers.getCustomersCustomerBankAccountsYou can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the
limitandstarting_afterparameters to page through additional bank accounts. -
customers.getCustomersCustomerBankAccountsIdBy default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.
-
customers.getCustomersCustomerCardsYou can see a list of the cards belonging to a customer. Note that the 10 most recent sources are always available on the
Customerobject. If you need more than those 10, you can use this API method and thelimitandstarting_afterparameters to page through additional cards. -
customers.getCustomersCustomerCardsIdYou can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.
-
customers.getCustomersCustomerCashBalanceRetrieves a customer’s cash balance.
-
customers.getCustomersCustomerCashBalanceTransactionsReturns a list of transactions that modified the customer’s .
-
customers.getCustomersCustomerCashBalanceTransactionsTransactionRetrieves a specific cash balance transaction, which updated the customer’s .
-
customers.getCustomersCustomerDiscount -
customers.getCustomersCustomerPaymentMethodsReturns a list of PaymentMethods for a given Customer
-
customers.getCustomersCustomerPaymentMethodsPaymentMethodRetrieves a PaymentMethod object for a given Customer.
-
customers.getCustomersCustomerSourcesList sources for a specified customer.
-
customers.getCustomersCustomerSourcesIdRetrieve a specified source for a given customer.
-
customers.getCustomersCustomerSubscriptionsYou can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.
-
customers.getCustomersCustomerSubscriptionsSubscriptionExposedIdRetrieves the subscription with the given ID.
-
customers.getCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount -
customers.getCustomersCustomerTaxIdsReturns a list of tax IDs for a customer.
-
customers.getCustomersCustomerTaxIdsIdRetrieves the
TaxIDobject with the given identifier. -
customers.getCustomersSearchSearch for customers you’ve previously created using Stripe’s . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
-
customers.postCustomersCreates a new customer object.
-
customers.postCustomersCustomerUpdates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the
past_duestate, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.This request accepts mostly the same arguments as the customer creation call.
-
customers.postCustomersCustomerBalanceTransactionsCreates an immutable transaction that updates the customer’s credit .
-
customers.postCustomersCustomerBalanceTransactionsTransactionMost credit balance transaction fields are immutable, but you may update its
descriptionandmetadata. -
customers.postCustomersCustomerBankAccountsWhen you create a new credit card, you must specify a customer or recipient on which to create it.
If the card’s owner has no default card, then the new card will become the default. However, if the owner already has a default, then it will not change. To change the default, you should to have a new
default_source. -
customers.postCustomersCustomerBankAccountsIdUpdate a specified source for a given customer.
-
customers.postCustomersCustomerBankAccountsIdVerifyVerify a specified bank account for a given customer.
-
customers.postCustomersCustomerCardsWhen you create a new credit card, you must specify a customer or recipient on which to create it.
If the card’s owner has no default card, then the new card will become the default. However, if the owner already has a default, then it will not change. To change the default, you should to have a new
default_source. -
customers.postCustomersCustomerCardsIdUpdate a specified source for a given customer.
-
customers.postCustomersCustomerCashBalanceChanges the settings on a customer’s cash balance.
-
customers.postCustomersCustomerFundingInstructionsRetrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
-
customers.postCustomersCustomerSourcesWhen you create a new credit card, you must specify a customer or recipient on which to create it.
If the card’s owner has no default card, then the new card will become the default. However, if the owner already has a default, then it will not change. To change the default, you should to have a new
default_source. -
customers.postCustomersCustomerSourcesIdUpdate a specified source for a given customer.
-
customers.postCustomersCustomerSourcesIdVerifyVerify a specified bank account for a given customer.
-
customers.postCustomersCustomerSubscriptionsCreates a new subscription on an existing customer.
-
customers.postCustomersCustomerSubscriptionsSubscriptionExposedIdUpdates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the endpoint.
-
customers.postCustomersCustomerTaxIdsCreates a new
TaxIDobject for a customer. -
disputes.getDisputesReturns a list of your disputes.
-
disputes.getDisputesDisputeRetrieves the dispute with the given ID.
-
disputes.postDisputesDisputeWhen you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your , but if you prefer, you can use the API to submit evidence programmatically.
Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our .
-
disputes.postDisputesDisputeCloseClosing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.
The status of the dispute will change from
needs_responsetolost. Closing a dispute is irreversible. -
ephemeralKeys.deleteEphemeralKeysKeyInvalidates a short-lived API key for a given resource.
-
ephemeralKeys.postEphemeralKeysCreates a short-lived API key for a given resource.
-
events.getEventsList events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in
api_versionattribute (not according to your current Stripe API version orStripe-Versionheader). -
events.getEventsIdRetrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.
-
exchangeRates.getExchangeRatesReturns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.
-
exchangeRates.getExchangeRatesRateIdRetrieves the exchange rates from the given currency to every supported currency.
-
fileLinks.getFileLinksReturns a list of file links.
-
fileLinks.getFileLinksLinkRetrieves the file link with the given ID.
-
fileLinks.postFileLinksCreates a new file link object.
-
fileLinks.postFileLinksLinkUpdates an existing file link object. Expired links can no longer be updated.
-
files.getFilesReturns a list of the files that your account has access to. The files are returned sorted by creation date, with the most recently created files appearing first.
-
files.getFilesFileRetrieves the details of an existing file object. Supply the unique file ID from a file, and Stripe will return the corresponding file object. To access file contents, see the .
-
files.postFilesTo upload a file to Stripe, you’ll need to send a request of type
multipart/form-data. The request should contain the file you would like to upload, as well as the parameters for creating a file.All of Stripe’s officially supported Client libraries should have support for sending
multipart/form-data. -
financialConnections.getFinancialConnectionsAccountsReturns a list of Financial Connections
Accountobjects. -
financialConnections.getFinancialConnectionsAccountsAccountRetrieves the details of an Financial Connections
Account. -
financialConnections.getFinancialConnectionsAccountsAccountOwnersLists all owners for a given
Account -
financialConnections.getFinancialConnectionsSessionsSessionRetrieves the details of a Financial Connections
Session -
financialConnections.postFinancialConnectionsAccountsAccountDisconnectDisables your access to a Financial Connections
Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). -
financialConnections.postFinancialConnectionsAccountsAccountRefreshRefreshes the data associated with a Financial Connections
Account. -
financialConnections.postFinancialConnectionsSessionsTo launch the Financial Connections authorization flow, create a
Session. The session’sclient_secretcan be used to launch the flow using Stripe.js. -
identity.getIdentityVerificationReportsList all verification reports.
-
identity.getIdentityVerificationReportsReportRetrieves an existing VerificationReport
-
identity.getIdentityVerificationSessionsReturns a list of VerificationSessions
-
identity.getIdentityVerificationSessionsSessionRetrieves the details of a VerificationSession that was previously created.
When the session status is
requires_input, you can use this method to retrieve a validclient_secretorurlto allow re-submission. -
identity.postIdentityVerificationSessionsCreates a VerificationSession object.
After the VerificationSession is created, display a verification modal using the session
client_secretor send your users to the session’surl.If your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.
Related guide: .
-
identity.postIdentityVerificationSessionsSessionUpdates a VerificationSession object.
When the session status is
requires_input, you can use this method to update the verification check and options. -
identity.postIdentityVerificationSessionsSessionCancelA VerificationSession object can be canceled when it is in
requires_input.Once canceled, future submission attempts are disabled. This cannot be undone. .
-
identity.postIdentityVerificationSessionsSessionRedactRedact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc.
A VerificationSession object can be redacted when it is in
requires_inputorverified. Redacting a VerificationSession inrequires_actionstate will automatically cancel it.The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession’s
redaction.statusfield will be set toprocessing; when the process is finished, it will change toredactedand anidentity.verification_session.redactedevent will be emitted.Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string
[redacted]or a similar placeholder. Themetadatafield will also be erased. Redacted objects cannot be updated or used for any purpose..
-
invoiceitems.deleteInvoiceitemsInvoiceitemDeletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.
-
invoiceitems.getInvoiceitemsReturns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.
-
invoiceitems.getInvoiceitemsInvoiceitemRetrieves the invoice item with the given ID.
-
invoiceitems.postInvoiceitemsCreates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.
-
invoiceitems.postInvoiceitemsInvoiceitemUpdates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.
-
invoices.deleteInvoicesInvoicePermanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be .
-
invoices.getInvoicesYou can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.
-
invoices.getInvoicesInvoiceRetrieves the invoice with the given ID.
-
invoices.getInvoicesInvoiceLinesWhen retrieving an invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
-
invoices.getInvoicesSearchSearch for invoices you’ve previously created using Stripe’s . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
-
invoices.getInvoicesUpcomingAt any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.
You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a
proration_dateparameter when doing the actual subscription update. The value passed in should be the same as thesubscription_proration_datereturned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items whereperiod[start]is equal to thesubscription_proration_dateon the upcoming invoice resource. -
invoices.getInvoicesUpcomingLinesWhen retrieving an upcoming invoice, you’ll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
-
invoices.postInvoicesThis endpoint creates a draft invoice for a given customer. The invoice remains a draft until you the invoice, which allows you to or the invoice to your customers.
-
invoices.postInvoicesInvoiceDraft invoices are fully editable. Once an invoice is , monetary values, as well as
collection_method, become uneditable.If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, sending reminders for, or invoices, pass
auto_advance=false. -
invoices.postInvoicesInvoiceFinalizeStripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.
-
invoices.postInvoicesInvoiceMarkUncollectibleMarking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.
-
invoices.postInvoicesInvoicePayStripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your . However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.
-
invoices.postInvoicesInvoiceSendStripe will automatically send invoices to customers according to your . However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.
Requests made in test-mode result in no emails being sent, despite sending an
invoice.sentevent. -
invoices.postInvoicesInvoiceVoidMark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to , however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
-
issuing.getIssuingAuthorizationsReturns a list of Issuing
Authorizationobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
issuing.getIssuingAuthorizationsAuthorizationRetrieves an Issuing
Authorizationobject. -
issuing.getIssuingCardholdersReturns a list of Issuing
Cardholderobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
issuing.getIssuingCardholdersCardholderRetrieves an Issuing
Cardholderobject. -
issuing.getIssuingCardsReturns a list of Issuing
Cardobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
issuing.getIssuingCardsCardRetrieves an Issuing
Cardobject. -
issuing.getIssuingDisputesReturns a list of Issuing
Disputeobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
issuing.getIssuingDisputesDisputeRetrieves an Issuing
Disputeobject. -
issuing.getIssuingSettlementsReturns a list of Issuing
Settlementobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
issuing.getIssuingSettlementsSettlementRetrieves an Issuing
Settlementobject. -
issuing.getIssuingTransactionsReturns a list of Issuing
Transactionobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
issuing.getIssuingTransactionsTransactionRetrieves an Issuing
Transactionobject. -
issuing.postIssuingAuthorizationsAuthorizationUpdates the specified Issuing
Authorizationobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. -
issuing.postIssuingAuthorizationsAuthorizationApproveApproves a pending Issuing
Authorizationobject. This request should be made within the timeout window of the flow. You can also respond directly to the webhook request to approve an authorization (preferred). More details can be found . -
issuing.postIssuingAuthorizationsAuthorizationDeclineDeclines a pending Issuing
Authorizationobject. This request should be made within the timeout window of the flow. You can also respond directly to the webhook request to decline an authorization (preferred). More details can be found . -
issuing.postIssuingCardholdersCreates a new Issuing
Cardholderobject that can be issued cards. -
issuing.postIssuingCardholdersCardholderUpdates the specified Issuing
Cardholderobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. -
issuing.postIssuingCardsCreates an Issuing
Cardobject. -
issuing.postIssuingCardsCardUpdates the specified Issuing
Cardobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. -
issuing.postIssuingDisputesCreates an Issuing
Disputeobject. Individual pieces of evidence within theevidenceobject are optional at this point. Stripe only validates that required evidence is present during submission. Refer to for more details about evidence requirements. -
issuing.postIssuingDisputesDisputeUpdates the specified Issuing
Disputeobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on theevidenceobject can be unset by passing in an empty string. -
issuing.postIssuingDisputesDisputeSubmitSubmits an Issuing
Disputeto the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see . -
issuing.postIssuingSettlementsSettlementUpdates the specified Issuing
Settlementobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. -
issuing.postIssuingTransactionsTransactionUpdates the specified Issuing
Transactionobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. -
linkAccountSessions.getLinkAccountSessionsSessionRetrieves the details of a Financial Connections
Session -
linkAccountSessions.postLinkAccountSessionsTo launch the Financial Connections authorization flow, create a
Session. The session’sclient_secretcan be used to launch the flow using Stripe.js. -
linkedAccounts.getLinkedAccountsReturns a list of Financial Connections
Accountobjects. -
linkedAccounts.getLinkedAccountsAccountRetrieves the details of an Financial Connections
Account. -
linkedAccounts.getLinkedAccountsAccountOwnersLists all owners for a given
Account -
linkedAccounts.postLinkedAccountsAccountDisconnectDisables your access to a Financial Connections
Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). -
linkedAccounts.postLinkedAccountsAccountRefreshRefreshes the data associated with a Financial Connections
Account. -
mandates.getMandatesMandateRetrieves a Mandate object.
-
paymentIntents.getPaymentIntentsReturns a list of PaymentIntents.
-
paymentIntents.getPaymentIntentsIntentRetrieves the details of a PaymentIntent that has previously been created.
Client-side retrieval using a publishable key is allowed when the
client_secretis provided in the query string.When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the object reference for more details.
-
paymentIntents.getPaymentIntentsSearchSearch for PaymentIntents you’ve previously created using Stripe’s . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
-
paymentIntents.postPaymentIntentsCreates a PaymentIntent object.
After the PaymentIntent is created, attach a payment method and to continue the payment. You can read more about the different payment flows available via the Payment Intents API .
When
confirm=trueis used during creation, it is equivalent to creating and confirming the PaymentIntent in the same call. You may use any parameters available in the whenconfirm=trueis supplied. -
paymentIntents.postPaymentIntentsIntentUpdates properties on a PaymentIntent object without confirming.
Depending on which properties you update, you may need to confirm the PaymentIntent again. For example, updating the
payment_methodwill always require you to confirm the PaymentIntent again. If you prefer to update and confirm at the same time, we recommend updating properties via the instead. -
paymentIntents.postPaymentIntentsIntentApplyCustomerBalanceManually reconcile the remaining amount for a customer_balance PaymentIntent.
-
paymentIntents.postPaymentIntentsIntentCancelA PaymentIntent object can be canceled when it is in one of these statuses:
requires_payment_method,requires_capture,requires_confirmation,requires_actionor, ,processing.Once canceled, no additional charges will be made by the PaymentIntent and any operations on the PaymentIntent will fail with an error. For PaymentIntents with
status=’requires_capture’, the remainingamount_capturablewill automatically be refunded.You cannot cancel the PaymentIntent for a Checkout Session. instead.
-
paymentIntents.postPaymentIntentsIntentCaptureCapture the funds of an existing uncaptured PaymentIntent when its status is
requires_capture.Uncaptured PaymentIntents will be canceled a set number of days after they are created (7 by default).
Learn more about .
-
paymentIntents.postPaymentIntentsIntentConfirmConfirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the
requires_actionstatus and suggest additional actions vianext_action. If payment fails, the PaymentIntent will transition to therequires_payment_methodstatus. If payment succeeds, the PaymentIntent will transition to thesucceededstatus (orrequires_capture, ifcapture_methodis set tomanual). If theconfirmation_methodisautomatic, payment may be attempted using our and the PaymentIntent’s . Afternext_actions are handled by the client, no additional confirmation is required to complete the payment. If theconfirmation_methodismanual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to therequires_confirmationstate after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. Read the to learn more about manual confirmation. -
paymentIntents.postPaymentIntentsIntentIncrementAuthorizationPerform an incremental authorization on an eligible . To be eligible, the PaymentIntent’s status must be
requires_captureand must betrue.Incremental authorizations attempt to increase the authorized amount on your customer’s card to the new, higher
amountprovided. As with the initial authorization, incremental authorizations may be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount.If the incremental authorization succeeds, the PaymentIntent object is returned with the updated . If the incremental authorization fails, a error is returned, and no fields on the PaymentIntent or Charge are updated. The PaymentIntent object remains capturable for the previously authorized amount.
Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. Once captured, a PaymentIntent can no longer be incremented.
Learn more about .
-
paymentIntents.postPaymentIntentsIntentVerifyMicrodepositsVerifies microdeposits on a PaymentIntent object.
-
paymentLinks.getPaymentLinksReturns a list of your payment links.
-
paymentLinks.getPaymentLinksPaymentLinkRetrieve a payment link.
-
paymentLinks.getPaymentLinksPaymentLinkLineItemsWhen retrieving a payment link, 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.
-
paymentLinks.postPaymentLinksCreates a payment link.
-
paymentLinks.postPaymentLinksPaymentLinkUpdates a payment link.
-
paymentMethods.getPaymentMethodsReturns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the API instead.
-
paymentMethods.getPaymentMethodsPaymentMethodRetrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use
-
paymentMethods.postPaymentMethodsCreates a PaymentMethod object. Read the to learn how to create PaymentMethods via Stripe.js.
Instead of creating a PaymentMethod directly, we recommend using the API to accept a payment immediately or the API to collect payment method details ahead of a future payment.
-
paymentMethods.postPaymentMethodsPaymentMethodUpdates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
-
paymentMethods.postPaymentMethodsPaymentMethodAttachAttaches a PaymentMethod object to a Customer.
To attach a new PaymentMethod to a customer for future payments, we recommend you use a or a PaymentIntent with . These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the
/v1/payment_methods/:id/attachendpoint without first using a SetupIntent or PaymentIntent withsetup_future_usagedoes not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See for more information about setting up future payments.To use this PaymentMethod as the default for invoice or subscription payments, set , on the Customer to the PaymentMethod’s ID.
-
paymentMethods.postPaymentMethodsPaymentMethodDetachDetaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.
-
payouts.getPayoutsReturns a list of existing payouts sent to third-party bank accounts or that Stripe has sent you. The payouts are returned in sorted order, with the most recently created payouts appearing first.
-
payouts.getPayoutsPayoutRetrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list, and Stripe will return the corresponding payout information.
-
payouts.postPayoutsTo send funds to your own bank account, you create a new payout object. Your must be able to cover the payout amount, or you’ll receive an “Insufficient Funds” error.
If your API key is in test mode, money won’t actually be sent, though everything else will occur as if in live mode.
If you are creating a manual payout on a Stripe account that uses multiple payment source types, you’ll need to specify the source type balance that the payout should draw from. The details available and pending amounts by source type.
-
payouts.postPayoutsPayoutUpdates the specified payout by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only the metadata as arguments.
-
payouts.postPayoutsPayoutCancelA previously created payout can be canceled if it has not yet been paid out. Funds will be refunded to your available balance. You may not cancel automatic Stripe payouts.
-
payouts.postPayoutsPayoutReverseReverses a payout by debiting the destination bank account. Only payouts for connected accounts to US bank accounts may be reversed at this time. If the payout is in the
pendingstatus,/v1/payouts/:id/cancelshould be used instead.By requesting a reversal via
/v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account has authorized the debit on the bank account and that no other authorization is required. -
plans.deletePlansPlanDeleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.
-
plans.getPlansReturns a list of your plans.
-
plans.getPlansPlanRetrieves the plan with the given ID.
-
plans.postPlansYou can now model subscriptions more flexibly using the . It replaces the Plans API and is backwards compatible to simplify your migration.
-
plans.postPlansPlanUpdates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.
-
prices.getPricesReturns a list of your prices.
-
prices.getPricesPriceRetrieves the price with the given ID.
-
prices.getPricesSearchSearch for prices you’ve previously created using Stripe’s . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
-
prices.postPricesCreates a new price for an existing product. The price can be recurring or one-time.
-
prices.postPricesPriceUpdates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.
-
products.deleteProductsIdDelete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with
type=goodis only possible if it has no SKUs associated with it. -
products.getProductsReturns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.
-
products.getProductsIdRetrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.
-
products.getProductsSearchSearch for products you’ve previously created using Stripe’s . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
-
products.postProductsCreates a new product object.
-
products.postProductsIdUpdates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
-
promotionCodes.getPromotionCodesReturns a list of your promotion codes.
-
promotionCodes.getPromotionCodesPromotionCodeRetrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing
codeuse with the desiredcode. -
promotionCodes.postPromotionCodesA promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.
-
promotionCodes.postPromotionCodesPromotionCodeUpdates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.
-
quotes.getQuotesReturns a list of your quotes.
-
quotes.getQuotesQuoteRetrieves the quote with the given ID.
-
quotes.getQuotesQuoteComputedUpfrontLineItemsWhen retrieving a quote, there is an includable property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items.
-
quotes.getQuotesQuoteLineItemsWhen retrieving a quote, 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.
-
quotes.getQuotesQuotePdfDownload the PDF for a finalized quote
-
quotes.postQuotesA quote models prices and services for a customer. Default options for
header,description,footer, andexpires_atcan be set in the dashboard via the . -
quotes.postQuotesQuoteA quote models prices and services for a customer.
-
quotes.postQuotesQuoteAcceptAccepts the specified quote.
-
quotes.postQuotesQuoteCancelCancels the quote.
-
quotes.postQuotesQuoteFinalizeFinalizes the quote.
-
radar.deleteRadarValueListItemsItemDeletes a
ValueListItemobject, removing it from its parent value list. -
radar.deleteRadarValueListsValueListDeletes a
ValueListobject, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. -
radar.getRadarEarlyFraudWarningsReturns a list of early fraud warnings.
-
radar.getRadarEarlyFraudWarningsEarlyFraudWarningRetrieves the details of an early fraud warning that has previously been created.
Please refer to the object reference for more details.
-
radar.getRadarValueListItemsReturns a list of
ValueListItemobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
radar.getRadarValueListItemsItemRetrieves a
ValueListItemobject. -
radar.getRadarValueListsReturns a list of
ValueListobjects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
radar.getRadarValueListsValueListRetrieves a
ValueListobject. -
radar.postRadarValueListItemsCreates a new
ValueListItemobject, which is added to the specified parent value list. -
radar.postRadarValueListsCreates a new
ValueListobject, which can then be referenced in rules. -
radar.postRadarValueListsValueListUpdates a
ValueListobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note thatitem_typeis immutable. -
refunds.getRefundsReturns a list of all refunds you’ve previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. For convenience, the 10 most recent refunds are always available by default on the charge object.
-
refunds.getRefundsRefundRetrieves the details of an existing refund.
-
refunds.postRefundsCreate a refund.
-
refunds.postRefundsRefundUpdates the specified refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
This request only accepts
metadataas an argument. -
refunds.postRefundsRefundCancelCancels a refund with a status of
requires_action.Refunds in other states cannot be canceled, and only refunds for payment methods that require customer action will enter the
requires_actionstate. -
reporting.getReportingReportRunsReturns a list of Report Runs, with the most recent appearing first.
-
reporting.getReportingReportRunsReportRunRetrieves the details of an existing Report Run.
-
reporting.getReportingReportTypesReturns a full list of Report Types.
-
reporting.getReportingReportTypesReportTypeRetrieves the details of a Report Type. (Certain report types require a .)
-
reporting.postReportingReportRunsCreates a new object and begin running the report. (Certain report types require a .)
-
reviews.getReviewsReturns a list of
Reviewobjects that haveopenset totrue. The objects are sorted in descending order by creation date, with the most recently created object appearing first. -
reviews.getReviewsReviewRetrieves a
Reviewobject. -
reviews.postReviewsReviewApproveApproves a
Reviewobject, closing it and removing it from the list of reviews. -
setupAttempts.getSetupAttemptsReturns a list of SetupAttempts associated with a provided SetupIntent.
-
setupIntents.getSetupIntentsReturns a list of SetupIntents.
-
setupIntents.getSetupIntentsIntentRetrieves the details of a SetupIntent that has previously been created.
Client-side retrieval using a publishable key is allowed when the
client_secretis provided in the query string.When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the object reference for more details.
-
setupIntents.postSetupIntentsCreates a SetupIntent object.
After the SetupIntent is created, attach a payment method and to collect any required permissions to charge the payment method later.
-
setupIntents.postSetupIntentsIntentUpdates a SetupIntent object.
-
setupIntents.postSetupIntentsIntentCancelA SetupIntent object can be canceled when it is in one of these statuses:
requires_payment_method,requires_confirmation, orrequires_action.Once canceled, setup is abandoned and any operations on the SetupIntent will fail with an error.
-
setupIntents.postSetupIntentsIntentConfirmConfirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website.
If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the
succeededstatus.Otherwise, it will transition to the
requires_actionstatus and suggest additional actions vianext_action. If setup fails, the SetupIntent will transition to therequires_payment_methodstatus. -
setupIntents.postSetupIntentsIntentVerifyMicrodepositsVerifies microdeposits on a SetupIntent object.
-
shippingRates.getShippingRatesReturns a list of your shipping rates.
-
shippingRates.getShippingRatesShippingRateTokenReturns the shipping rate object with the given ID.
-
shippingRates.postShippingRatesCreates a new shipping rate object.
-
shippingRates.postShippingRatesShippingRateTokenUpdates an existing shipping rate object.
-
sigma.getSigmaScheduledQueryRunsReturns a list of scheduled query runs.
-
sigma.getSigmaScheduledQueryRunsScheduledQueryRunRetrieves the details of an scheduled query run.
-
sources.getSourcesSourceRetrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.
-
sources.getSourcesSourceMandateNotificationsMandateNotificationRetrieves a new Source MandateNotification.
-
sources.getSourcesSourceSourceTransactionsList source transactions for a given source.
-
sources.getSourcesSourceSourceTransactionsSourceTransactionRetrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.
-
sources.postSourcesCreates a new source object.
-
sources.postSourcesSourceUpdates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
This request accepts the
metadataandowneras arguments. It is also possible to update type specific information for selected payment methods. Please refer to our for more detail. -
sources.postSourcesSourceVerifyVerify a given source.
-
subscriptionItems.deleteSubscriptionItemsItemDeletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.
-
subscriptionItems.getSubscriptionItemsReturns a list of your subscription items for a given subscription.
-
subscriptionItems.getSubscriptionItemsItemRetrieves the subscription item with the given ID.
-
subscriptionItems.getSubscriptionItemsSubscriptionItemUsageRecordSummariesFor the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).
The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.
-
subscriptionItems.postSubscriptionItemsAdds a new item to an existing subscription. No existing items will be changed or replaced.
-
subscriptionItems.postSubscriptionItemsItemUpdates the plan or quantity of an item on a current subscription.
-
subscriptionItems.postSubscriptionItemsSubscriptionItemUsageRecordsCreates a usage record for a specified subscription item and date, and fills it with a quantity.
Usage records provide
quantityinformation that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the plan, Stripe helps you send accurate invoices to your customers.The default calculation for usage is to add up all the
quantityvalues of the usage records within a billing period. You can change this default behavior with the billing plan’saggregate_usage. When there is more than one usage record with the same timestamp, Stripe adds thequantityvalues together. In most cases, this is the desired resolution, however, you can change this behavior with theactionparameter.The default pricing model for metered billing is . For finer granularity, you can configure metered billing to have a model.
-
subscriptions.deleteSubscriptionsSubscriptionExposedIdCancels a customer’s subscription immediately. The customer will not be charged again for the subscription.
Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually . If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.
By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.
-
subscriptions.deleteSubscriptionsSubscriptionExposedIdDiscountRemoves the currently applied discount on a subscription.
-
subscriptions.getSubscriptionsBy default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify
status=canceled. -
subscriptions.getSubscriptionsSearchSearch for subscriptions you’ve previously created using Stripe’s . Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.
-
subscriptions.getSubscriptionsSubscriptionExposedIdRetrieves the subscription with the given ID.
-
subscriptions.postSubscriptionsCreates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.
When you create a subscription with
collection_method=charge_automatically, the first invoice is finalized as part of the request. Thepayment_behaviorparameter determines the exact behavior of the initial payment.To start subscriptions where the first invoice always begins in a
draftstatus, use instead. Schedules provide the flexibility to model more complex billing configurations that change over time. -
subscriptions.postSubscriptionsSubscriptionExposedIdUpdates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the endpoint.
-
subscriptions.postSubscriptionsSubscriptionResumeInitiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become
active, and if payment fails the subscription will bepast_due. The resumption invoice will void automatically if not paid by the expiration date. -
subscriptionSchedules.getSubscriptionSchedulesRetrieves the list of your subscription schedules.
-
subscriptionSchedules.getSubscriptionSchedulesScheduleRetrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.
-
subscriptionSchedules.postSubscriptionSchedulesCreates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.
-
subscriptionSchedules.postSubscriptionSchedulesScheduleUpdates an existing subscription schedule.
-
subscriptionSchedules.postSubscriptionSchedulesScheduleCancelCancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is
not_startedoractive. -
subscriptionSchedules.postSubscriptionSchedulesScheduleReleaseReleases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is
not_startedoractive. If the subscription schedule is currently associated with a subscription, releasing it will remove itssubscriptionproperty and set the subscription’s ID to thereleased_subscriptionproperty. -
taxCodes.getTaxCodesA list of to add to Products in order to allow specific tax calculations.
-
taxCodes.getTaxCodesIdRetrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.
-
taxRates.getTaxRatesReturns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.
-
taxRates.getTaxRatesTaxRateRetrieves a tax rate with the given ID
-
taxRates.postTaxRatesCreates a new tax rate.
-
taxRates.postTaxRatesTaxRateUpdates an existing tax rate.
-
terminal.deleteTerminalConfigurationsConfigurationDeletes a
Configurationobject. -
terminal.deleteTerminalLocationsLocationDeletes a
Locationobject. -
terminal.deleteTerminalReadersReaderDeletes a
Readerobject. -
terminal.getTerminalConfigurationsReturns a list of
Configurationobjects. -
terminal.getTerminalConfigurationsConfigurationRetrieves a
Configurationobject. -
terminal.getTerminalLocationsReturns a list of
Locationobjects. -
terminal.getTerminalLocationsLocationRetrieves a
Locationobject. -
terminal.getTerminalReadersReturns a list of
Readerobjects. -
terminal.getTerminalReadersReaderRetrieves a
Readerobject. -
terminal.postTerminalConfigurationsCreates a new
Configurationobject. -
terminal.postTerminalConfigurationsConfigurationUpdates a new
Configurationobject. -
terminal.postTerminalConnectionTokensTo connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.
-
terminal.postTerminalLocationsCreates a new
Locationobject. For further details, including which address fields are required in each country, see the guide. -
terminal.postTerminalLocationsLocationUpdates a
Locationobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. -
terminal.postTerminalReadersCreates a new
Readerobject. -
terminal.postTerminalReadersReaderUpdates a
Readerobject by setting the values of the parameters passed. Any parameters not provided will be left unchanged. -
terminal.postTerminalReadersReaderCancelActionCancels the current reader action.
-
terminal.postTerminalReadersReaderProcessPaymentIntentInitiates a payment flow on a Reader.
-
terminal.postTerminalReadersReaderProcessSetupIntentInitiates a setup intent flow on a Reader.
-
terminal.postTerminalReadersReaderRefundPaymentInitiates a refund on a Reader
-
terminal.postTerminalReadersReaderSetReaderDisplaySets reader display to show cart details.
-
testHelpers.deleteTestHelpersTestClocksTestClockDeletes a test clock.
-
testHelpers.getTestHelpersTestClocksReturns a list of your test clocks.
-
testHelpers.getTestHelpersTestClocksTestClockRetrieves a test clock.
-
testHelpers.postTestHelpersCustomersCustomerFundCashBalanceCreate an incoming testmode bank transfer
-
testHelpers.postTestHelpersIssuingCardsCardShippingDeliverUpdates the shipping status of the specified Issuing
Cardobject todelivered. -
testHelpers.postTestHelpersIssuingCardsCardShippingFailUpdates the shipping status of the specified Issuing
Cardobject tofailure. -
testHelpers.postTestHelpersIssuingCardsCardShippingReturnUpdates the shipping status of the specified Issuing
Cardobject toreturned. -
testHelpers.postTestHelpersIssuingCardsCardShippingShipUpdates the shipping status of the specified Issuing
Cardobject toshipped. -
testHelpers.postTestHelpersRefundsRefundExpireExpire a refund with a status of
requires_action. -
testHelpers.postTestHelpersTerminalReadersReaderPresentPaymentMethodPresents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.
-
testHelpers.postTestHelpersTestClocksCreates a new test clock that can be attached to new customers and quotes.
-
testHelpers.postTestHelpersTestClocksTestClockAdvanceStarts advancing a test clock to a specified time in the future. Advancement is done when status changes to
Ready. -
testHelpers.postTestHelpersTreasuryInboundTransfersIdFailTransitions a test mode created InboundTransfer to the
failedstatus. The InboundTransfer must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryInboundTransfersIdReturnMarks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the
succeededstate. -
testHelpers.postTestHelpersTreasuryInboundTransfersIdSucceedTransitions a test mode created InboundTransfer to the
succeededstatus. The InboundTransfer must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryOutboundPaymentsIdFailTransitions a test mode created OutboundPayment to the
failedstatus. The OutboundPayment must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryOutboundPaymentsIdPostTransitions a test mode created OutboundPayment to the
postedstatus. The OutboundPayment must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryOutboundPaymentsIdReturnTransitions a test mode created OutboundPayment to the
returnedstatus. The OutboundPayment must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryOutboundTransfersOutboundTransferFailTransitions a test mode created OutboundTransfer to the
failedstatus. The OutboundTransfer must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryOutboundTransfersOutboundTransferPostTransitions a test mode created OutboundTransfer to the
postedstatus. The OutboundTransfer must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryOutboundTransfersOutboundTransferReturnTransitions a test mode created OutboundTransfer to the
returnedstatus. The OutboundTransfer must already be in theprocessingstate. -
testHelpers.postTestHelpersTreasuryReceivedCreditsUse this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can’t directly create ReceivedCredits initiated by third parties.
-
testHelpers.postTestHelpersTreasuryReceivedDebitsUse this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can’t directly create ReceivedDebits initiated by third parties.
-
tokens.getTokensTokenRetrieves the token with the given ID.
-
tokens.postTokensCreates a single-use token that represents a bank account’s details. This token can be used with any API method in place of a bank account dictionary. This token can be used only once, by attaching it to a .
-
topups.getTopupsReturns a list of top-ups.
-
topups.getTopupsTopupRetrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.
-
topups.postTopupsTop up the balance of an account
-
topups.postTopupsTopupUpdates the metadata of a top-up. Other top-up details are not editable by design.
-
topups.postTopupsTopupCancelCancels a top-up. Only pending top-ups can be canceled.
-
transfers.getTransfersReturns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.
-
transfers.getTransfersIdReversalsYou can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the
limitandstarting_afterparameters to page through additional reversals. -
transfers.getTransfersTransferRetrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.
-
transfers.getTransfersTransferReversalsIdBy default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.
-
transfers.postTransfersTo send funds from your Stripe account to a connected account, you create a new transfer object. Your must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.
-
transfers.postTransfersIdReversalsWhen you create a new reversal, you must specify a transfer to create it on.
When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.
Once entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.
-
transfers.postTransfersTransferUpdates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
This request accepts only metadata as an argument.
-
transfers.postTransfersTransferReversalsIdUpdates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
This request only accepts metadata and description as arguments.
-
treasury.getTreasuryCreditReversalsReturns a list of CreditReversals.
-
treasury.getTreasuryCreditReversalsCreditReversalRetrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list
-
treasury.getTreasuryDebitReversalsReturns a list of DebitReversals.
-
treasury.getTreasuryDebitReversalsDebitReversalRetrieves a DebitReversal object.
-
treasury.getTreasuryFinancialAccountsReturns a list of FinancialAccounts.
-
treasury.getTreasuryFinancialAccountsFinancialAccountRetrieves the details of a FinancialAccount.
-
treasury.getTreasuryFinancialAccountsFinancialAccountFeaturesRetrieves Features information associated with the FinancialAccount.
-
treasury.getTreasuryInboundTransfersReturns a list of InboundTransfers sent from the specified FinancialAccount.
-
treasury.getTreasuryInboundTransfersIdRetrieves the details of an existing InboundTransfer.
-
treasury.getTreasuryOutboundPaymentsReturns a list of OutboundPayments sent from the specified FinancialAccount.
-
treasury.getTreasuryOutboundPaymentsIdRetrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list.
-
treasury.getTreasuryOutboundTransfersReturns a list of OutboundTransfers sent from the specified FinancialAccount.
-
treasury.getTreasuryOutboundTransfersOutboundTransferRetrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list.
-
treasury.getTreasuryReceivedCreditsReturns a list of ReceivedCredits.
-
treasury.getTreasuryReceivedCreditsIdRetrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list.
-
treasury.getTreasuryReceivedDebitsReturns a list of ReceivedDebits.
-
treasury.getTreasuryReceivedDebitsIdRetrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list
-
treasury.getTreasuryTransactionEntriesRetrieves a list of TransactionEntry objects.
-
treasury.getTreasuryTransactionEntriesIdRetrieves a TransactionEntry object.
-
treasury.getTreasuryTransactionsRetrieves a list of Transaction objects.
-
treasury.getTreasuryTransactionsIdRetrieves the details of an existing Transaction.
-
treasury.postTreasuryCreditReversalsReverses a ReceivedCredit and creates a CreditReversal object.
-
treasury.postTreasuryDebitReversalsReverses a ReceivedDebit and creates a DebitReversal object.
-
treasury.postTreasuryFinancialAccountsCreates a new FinancialAccount. For now, each connected account can only have one FinancialAccount.
-
treasury.postTreasuryFinancialAccountsFinancialAccountUpdates the details of a FinancialAccount.
-
treasury.postTreasuryFinancialAccountsFinancialAccountFeaturesUpdates the Features associated with a FinancialAccount.
-
treasury.postTreasuryInboundTransfersCreates an InboundTransfer.
-
treasury.postTreasuryInboundTransfersInboundTransferCancelCancels an InboundTransfer.
-
treasury.postTreasuryOutboundPaymentsCreates an OutboundPayment.
-
treasury.postTreasuryOutboundPaymentsIdCancelCancel an OutboundPayment.
-
treasury.postTreasuryOutboundTransfersCreates an OutboundTransfer.
-
treasury.postTreasuryOutboundTransfersOutboundTransferCancelAn OutboundTransfer can be canceled if the funds have not yet been paid out.
-
webhookEndpoints.deleteWebhookEndpointsWebhookEndpointYou can also delete webhook endpoints via the page of the Stripe dashboard.
-
webhookEndpoints.getWebhookEndpointsReturns a list of your webhook endpoints.
-
webhookEndpoints.getWebhookEndpointsWebhookEndpointRetrieves the webhook endpoint with the given ID.
-
webhookEndpoints.postWebhookEndpointsA webhook endpoint must have a
urland a list ofenabled_events. You may optionally specify the Booleanconnectparameter. If set to true, then a Connect webhook endpoint that notifies the specifiedurlabout events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specifiedurlonly about events from your account is created. You can also create webhook endpoints in the section of the Dashboard. -
webhookEndpoints.postWebhookEndpointsWebhookEndpointUpdates the webhook endpoint. You may edit the
url, the list ofenabled_events, and the status of your endpoint. -
openapi.previewSpecPreview an OpenAPI document before adding it as a source
-
openapi.addSourceAdd an OpenAPI source and register its operations as tools