Attributes
- idstring
Unique identifier for the object. Represented as the ISO country code for this country.
- default_
currencystring The default currency for this country. This applies to both payment methods and bank accounts.
- supported_
bank_ account_ currenciesobject Currencies that can be accepted in the specific country (for transfers).
- supported_
payment_ currenciesarray of strings Currencies that can be accepted in the specified country (for payments).
- supported_
payment_ methodsarray of strings Payment methods available in the specified country. You may need to enable some payment methods (e.g., ACH) on your account before they appear in this list. The
stripe
payment method refers to charging through your platform. - supported_
transfer_ countriesarray of strings Countries that can accept transfers from the specified country.
More attributes
- objectstring
- verification_
fieldsobject
{ "id": "US", "object": "country_spec", "default_currency": "usd", "supported_bank_account_currencies": { "usd": [ "US" ] }, "supported_payment_currencies": [ "usd", "aed", "afn", "..." ], "supported_payment_methods": [ "ach", "card", "stripe" ], "supported_transfer_countries": [ "US", "AE", "AG", "AL", "AM", "AR", "AT", "AU", "BA", "BE", "BG", "BH", "BO", "CA", "CH", "CI", "CL", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "EC", "EE", "EG", "ES", "ET", "FI", "FR", "GB", "GH", "GM", "GR", "GT", "GY", "HK", "HR", "HU", "ID", "IE", "IL", "IS", "IT", "JM", "JO", "JP", "KE", "KH", "KR", "KW", "LC", "LI", "LK", "LT", "LU", "LV", "MA", "MD", "MG", "MK", "MN", "MO", "MT", "MU", "MX", "MY", "NA", "NG", "NL", "NO", "NZ", "OM", "PA", "PE", "PH", "PL", "PT", "PY", "QA", "RO", "RS", "RW", "SA", "SE", "SG", "SI", "SK", "SN", "SV", "TH", "TN", "TR", "TT", "TZ", "UY", "UZ", "VN", "ZA", "BD", "BJ", "MC", "NE", "SM", "AZ", "BN", "BT", "AO", "DZ", "TW", "BS", "BW", "GA", "LA", "MZ", "KZ", "PK" ], "verification_fields": { "company": { "additional": [], "minimum": [ "business_profile.mcc", "business_profile.url", "business_type", "company.address.city", "company.address.line1", "company.address.postal_code", "company.address.state", "company.name", "company.owners_provided", "company.phone", "company.tax_id", "external_account", "owners.address.city", "owners.address.line1", "owners.address.postal_code", "owners.address.state", "owners.dob.day", "owners.dob.month", "owners.dob.year", "owners.email", "owners.first_name", "owners.id_number", "owners.last_name", "owners.phone", "owners.ssn_last_4", "owners.verification.document", "representative.address.city", "representative.address.line1", "representative.address.postal_code", "representative.address.state", "representative.dob.day", "representative.dob.month", "representative.dob.year", "representative.email", "representative.first_name", "representative.id_number", "representative.last_name", "representative.phone", "representative.relationship.executive", "representative.relationship.title", "representative.ssn_last_4", "representative.verification.document", "tos_acceptance.date", "tos_acceptance.ip" ] }, "individual": { "additional": [], "minimum": [ "business_profile.mcc", "business_profile.url", "business_type", "external_account", "individual.address.city", "individual.address.line1", "individual.address.postal_code", "individual.address.state", "individual.dob.day", "individual.dob.month", "individual.dob.year", "individual.email", "individual.first_name", "individual.id_number", "individual.last_name", "individual.phone", "individual.ssn_last_4", "individual.verification.document", "tos_acceptance.date", "tos_acceptance.ip" ] } }}
Returns a Country Spec for a given Country code.
Parameters
No parameters.
Returns
Returns a country_spec object if a valid country code is provided, and raises an error otherwise.
{ "id": "US", "object": "country_spec", "default_currency": "usd", "supported_bank_account_currencies": { "usd": [ "US" ] }, "supported_payment_currencies": [ "usd", "aed", "afn", "..." ], "supported_payment_methods": [ "ach", "card", "stripe" ], "supported_transfer_countries": [ "US", "AE", "AG", "AL", "AM", "AR", "AT", "AU", "BA", "BE", "BG", "BH", "BO", "CA", "CH", "CI", "CL", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "EC", "EE", "EG", "ES", "ET", "FI", "FR", "GB", "GH", "GM", "GR", "GT", "GY", "HK", "HR", "HU", "ID", "IE", "IL", "IS", "IT", "JM", "JO", "JP", "KE", "KH", "KR", "KW", "LC", "LI", "LK", "LT", "LU", "LV", "MA", "MD", "MG", "MK", "MN", "MO", "MT", "MU", "MX", "MY", "NA", "NG", "NL", "NO", "NZ", "OM", "PA", "PE", "PH", "PL", "PT", "PY", "QA", "RO", "RS", "RW", "SA", "SE", "SG", "SI", "SK", "SN", "SV", "TH", "TN", "TR", "TT", "TZ", "UY", "UZ", "VN", "ZA", "BD", "BJ", "MC", "NE", "SM", "AZ", "BN", "BT", "AO", "DZ", "TW", "BS", "BW", "GA", "LA", "MZ", "KZ", "PK" ], "verification_fields": { "company": { "additional": [], "minimum": [ "business_profile.mcc", "business_profile.url", "business_type", "company.address.city", "company.address.line1", "company.address.postal_code", "company.address.state", "company.name", "company.owners_provided", "company.phone", "company.tax_id", "external_account", "owners.address.city", "owners.address.line1", "owners.address.postal_code", "owners.address.state", "owners.dob.day", "owners.dob.month", "owners.dob.year", "owners.email", "owners.first_name", "owners.id_number", "owners.last_name", "owners.phone", "owners.ssn_last_4", "owners.verification.document", "representative.address.city", "representative.address.line1", "representative.address.postal_code", "representative.address.state", "representative.dob.day", "representative.dob.month", "representative.dob.year", "representative.email", "representative.first_name", "representative.id_number", "representative.last_name", "representative.phone", "representative.relationship.executive", "representative.relationship.title", "representative.ssn_last_4", "representative.verification.document", "tos_acceptance.date", "tos_acceptance.ip" ] }, "individual": { "additional": [], "minimum": [ "business_profile.mcc", "business_profile.url", "business_type", "external_account", "individual.address.city", "individual.address.line1", "individual.address.postal_code", "individual.address.state", "individual.dob.day", "individual.dob.month", "individual.dob.year", "individual.email", "individual.first_name", "individual.id_number", "individual.last_name", "individual.phone", "individual.ssn_last_4", "individual.verification.document", "tos_acceptance.date", "tos_acceptance.ip" ] } }}
Lists all Country Spec objects available in the API.
Parameters
No parameters.
More parameters
- ending_
beforestring - limitinteger
- starting_
afterstring
Returns
Returns a list of country_spec objects.
{ "object": "list", "url": "/v1/country_specs", "has_more": false, "data": [ { "id": "US", "object": "country_spec", "default_currency": "usd", "supported_bank_account_currencies": { "usd": [ "US" ] }, "supported_payment_currencies": [ "usd", "aed", "afn", "..." ], "supported_payment_methods": [ "ach", "card", "stripe" ], "supported_transfer_countries": [ "US", "AE", "AG", "AL", "AM", "AR", "AT", "AU", "BA", "BE", "BG", "BH", "BO", "CA", "CH", "CI", "CL", "CO", "CR", "CY", "CZ", "DE", "DK", "DO", "EC", "EE", "EG", "ES", "ET", "FI", "FR", "GB", "GH", "GM", "GR", "GT", "GY", "HK", "HR", "HU", "ID", "IE", "IL", "IS", "IT", "JM", "JO", "JP", "KE", "KH", "KR", "KW", "LC", "LI", "LK", "LT", "LU", "LV", "MA", "MD", "MG", "MK", "MN", "MO", "MT", "MU", "MX", "MY", "NA", "NG", "NL", "NO", "NZ", "OM", "PA", "PE", "PH", "PL", "PT", "PY", "QA", "RO", "RS", "RW", "SA", "SE", "SG", "SI", "SK", "SN", "SV", "TH", "TN", "TR", "TT", "TZ", "UY", "UZ", "VN", "ZA", "BD", "BJ", "MC", "NE", "SM", "AZ", "BN", "BT", "AO", "DZ", "TW", "BS", "BW", "GA", "LA", "MZ", "KZ", "PK" ], "verification_fields": { "company": { "additional": [], "minimum": [ "business_profile.mcc", "business_profile.url", "business_type", "company.address.city", "company.address.line1", "company.address.postal_code", "company.address.state", "company.name", "company.owners_provided", "company.phone", "company.tax_id", "external_account", "owners.address.city", "owners.address.line1", "owners.address.postal_code", "owners.address.state", "owners.dob.day", "owners.dob.month", "owners.dob.year", "owners.email", "owners.first_name", "owners.id_number", "owners.last_name", "owners.phone", "owners.ssn_last_4", "owners.verification.document", "representative.address.city", "representative.address.line1", "representative.address.postal_code", "representative.address.state", "representative.dob.day", "representative.dob.month", "representative.dob.year", "representative.email", "representative.first_name", "representative.id_number", "representative.last_name", "representative.phone", "representative.relationship.executive", "representative.relationship.title", "representative.ssn_last_4", "representative.verification.document", "tos_acceptance.date", "tos_acceptance.ip" ] }, "individual": { "additional": [], "minimum": [ "business_profile.mcc", "business_profile.url", "business_type", "external_account", "individual.address.city", "individual.address.line1", "individual.address.postal_code", "individual.address.state", "individual.dob.day", "individual.dob.month", "individual.dob.year", "individual.email", "individual.first_name", "individual.id_number", "individual.last_name", "individual.phone", "individual.ssn_last_4", "individual.verification.document", "tos_acceptance.date", "tos_acceptance.ip" ] } } } {...} {...} ],}
External bank accounts are financial accounts associated with a Stripe platform’s connected accounts for the purpose of transferring funds to or from the connected account’s Stripe balance.
External account cards are debit cards associated with a Stripe platform’s connected accounts for the purpose of transferring funds to or from the connected accounts Stripe balance.
This is an object representing a person associated with a Stripe account.
A platform cannot access a person for an account where account.controller.requirement_collection is stripe
, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.
See the Standard onboarding or Express onboarding documentation for information about prefilling information and account onboarding steps. Learn more about handling identity verification with the API.
To top up your Stripe balance, you create a top-up object. You can retrieve individual top-ups, as well as list all top-ups. Top-ups are identified by a unique, random ID.
Related guide: Topping up your platform account
A Transfer
object is created when you move funds between Stripe accounts as part of Connect.
Before April 6, 2017, transfers also represented movement of funds from a Stripe account to a card or bank account. This behavior has since been split out into a Payout object, with corresponding payout endpoints. For more information, read about the transfer/payout split.
Related guide: Creating separate charges and transfers
Stripe Connect platforms can reverse transfers made to a connected account, either entirely or partially, and can also specify whether to refund any related application fees. Transfer reversals add to the platform’s balance and subtract from the destination account’s balance.
Reversing a transfer that was made for a destination charge is allowed only up to the amount of the charge. It is possible to reverse a transfer_group transfer only if the destination account has enough balance to cover the reversal.
Related guide: Reverse transfers
Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends.
The primary resource in Secret Store is a secret
. Other apps can’t view secrets created by an app. Additionally, secrets are scoped to provide further permission control.
All Dashboard users and the app backend share account
scoped secrets. Use the account
scope for secrets that don’t change per-user, like a third-party API key.
A user
scoped secret is accessible by the app backend and one specific Dashboard user. Use the user
scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions.
Related guide: Store data between page reloads
An early fraud warning indicates that the card issuer has notified us that a charge may be fraudulent.
Related guide: Early fraud warnings
Reviews can be used to supplement automated fraud detection with human expertise.
Value lists allow you to group values together which can then be referenced in rules.
Related guide: Default Stripe lists
Value list items allow you to add specific values to a given Radar value list, which can then be used in rules.
Related guide: Managing list items
An Issuing Cardholder
object represents an individual or business entity who is issued cards.
Related guide: How to create a cardholder
You can create physical or virtual cards that are issued to cardholders.
- POST/
As a card issuer, you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.
Related guide: Issuing disputes
Funding Instructions contain reusable bank account and routing information. Push funds to these addresses via bank transfer to top up Issuing Balances.
A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.
- POST/
A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card.
TokensPreview feature
An issuing token object is created when an issued card is added to a digital wallet. As a card issuer, you can view and manage these tokens through Stripe.
Any use of an issued card that results in funds entering or leaving your Stripe account, such as a completed purchase or refund, is represented by an Issuing Transaction
object.
Related guide: Issued card transactions
A Connection Token is used by the Stripe Terminal SDK to connect to a reader.
Related guide: Fleet management
A Location represents a grouping of readers.
Related guide: Fleet management
A Reader represents a physical device for accepting payment details.
Related guide: Connecting to a reader
- POST/
Terminal Hardware OrderPreview feature
A TerminalHardwareOrder represents an order for Terminal hardware, containing information such as the price, shipping information and the items ordered.
- POST/
Terminal Hardware ProductPreview feature
A TerminalHardwareProduct is a category of hardware devices that are generally similar, but may have variations depending on the country it’s shipped to.
TerminalHardwareSKUs represent variations within the same Product (for example, a country specific device). For example, WisePOS E is a TerminalHardwareProduct and a WisePOS E - US and WisePOS E - UK are TerminalHardwareSKUs.
Terminal Hardware SKUPreview feature
A TerminalHardwareSKU represents a SKU for Terminal hardware. A SKU is a representation of a product available for purchase, containing information such as the name, price, and images.
Terminal Hardware Shipping MethodPreview feature
A TerminalHardwareShipping represents a Shipping Method for Terminal hardware. A Shipping Method is a country-specific representation of a way to ship hardware, containing information such as the country, name, and expected delivery date.
A Configurations object represents how features should be configured for terminal readers.
Stripe Treasury provides users with a container for money called a FinancialAccount that is separate from their Payments balance. FinancialAccounts serve as the source and destination of Treasury’s money movement APIs.
Encodes whether a FinancialAccount has access to a particular Feature, with a status
enum and associated status_
. Stripe or the platform can control Features via the requested field.
Transactions represent changes to a FinancialAccount’s balance.
TransactionEntries represent individual units of money movements within a single Transaction.
Use OutboundTransfers to transfer funds from a FinancialAccount to a PaymentMethod belonging to the same entity. To send funds to a different party, use OutboundPayments instead. You can send funds over ACH rails or through a domestic wire transfer to a user’s own external bank account.
Simulate OutboundTransfer state changes with the /v1/test_
endpoints. These methods can only be called on test mode objects.
Related guide: Moving money with Treasury using OutboundTransfer objects
- POST/
Use OutboundPayments to send funds to another party’s external bank account or FinancialAccount. To send money to an account belonging to the same user, use an OutboundTransfer.
Simulate OutboundPayment state changes with the /v1/test_
endpoints. These methods can only be called on test mode objects.
Related guide: Moving money with Treasury using OutboundPayment objects
- POST/
Use InboundTransfers to add funds to your FinancialAccount via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit.
Related guide: Moving money with Treasury using InboundTransfer objects
- POST/
ReceivedCredits represent funds sent to a FinancialAccount (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount.
ReceivedDebits represent funds pulled from a FinancialAccount. These are not initiated from the FinancialAccount.
You can reverse some ReceivedCredits depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal.
You can reverse some ReceivedDebits depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal.
A feature represents a monetizable ability or functionality in your system. Features can be assigned to products, and when those products are purchased, Stripe will create an entitlement to the feature for the purchasing customer.
A product_feature represents an attachment between a feature and a product. When a product is purchased that has a feature attached, Stripe will create an entitlement to the feature for the purchasing customer.
An active entitlement describes access to a feature for a customer.
If you have scheduled a Sigma query, you’ll receive a sigma.
webhook each time the query runs. The webhook contains a ScheduledQueryRun
object, which you can use to retrieve the query results.
The Report Run object represents an instance of a report type generated with specific run parameters. Once the object is created, Stripe begins processing the report. When the report has finished running, it will give you a reference to a file where you can retrieve your results. For an overview, see API Access to Reports.
Note that certain report types can only be run based on your live-mode data (not test-mode data), and will error when queried without a live-mode API key.
The Report Type resource corresponds to a particular type of report, such as the “Activity summary” or “Itemized payouts” reports. These objects are identified by an ID belonging to a set of enumerated values. See API Access to Reports documentation for those Report Type IDs, along with required and optional parameters.
Note that certain report types can only be run based on your live-mode data (not test-mode data), and will error when queried without a live-mode API key.
A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
Describes an owner of an account.
A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.
A Transaction represents a real transaction that affects a Financial Connections Account balance.
A Tax Calculation allows you to calculate the tax to collect from your customer.
Related guide: Calculate tax in your custom payment flow
A Tax Registration
lets us know that your business is registered to collect tax on payments within a region, enabling you to automatically collect tax.
Stripe doesn’t register on your behalf with the relevant authorities when you create a Tax Registration
object. For more information on how to register to collect tax, see our guide.
Related guide: Using the Registrations API
A Tax Transaction records the tax collected from or refunded to your customer.
Related guide: Calculate tax in your custom payment flow
You can use Tax Settings
to manage configurations used by Stripe Tax calculations.
Related guide: Using the Settings API
A VerificationSession guides you through the process of collecting and verifying the identities of your users. It contains details about the type of verification, such as what verification check to perform. Only create one VerificationSession for each verification in your system.
A VerificationSession transitions through multiple statuses throughout its lifetime as it progresses through the verification flow. The VerificationSession contains the user’s verified data after verification checks are complete.
Related guide: The Verification Sessions API
A VerificationReport is the result of an attempt to collect and verify data from a user. The collection of verification checks performed is determined from the type
and options
parameters used. You can find the result of each verification check performed in the appropriate sub-resource: document
, id_
, selfie
.
Each VerificationReport contains a copy of any data collected by the user as well as reference IDs which can be used to access collected images through the FileUpload API. To configure and create VerificationReports, use the VerificationSession API.
Related guide: Accessing verification results.
A Crypto Onramp Session represents your customer’s session as they purchase cryptocurrency through Stripe. Once payment is successful, Stripe will fulfill the delivery of cryptocurrency to your user’s wallet and contain a reference to the crypto transaction ID.
You can create an onramp session on your server and embed the widget on your frontend. Alternatively, you can redirect your users to the standalone hosted onramp.
Related guide: Integrate the onramp
Crypto Onramp Quotes are estimated quotes for onramp conversions into all the different cryptocurrencies on different networks. The Quotes API allows you to display quotes in your product UI before directing the user to the onramp widget.
Related guide: Quotes API
Orders represent your intent to purchase a particular Climate product. When you create an order, the payment is deducted from your merchant balance.
A Climate product represents a type of carbon removal unit available for reservation. You can retrieve it to see the current price and availability.
A supplier of carbon removal.
Instructs Stripe to make a request on your behalf using the destination URL. The destination URL is activated by Stripe at the time of onboarding. Stripe verifies requests with your credentials provided during onboarding, and injects card details from the payment_method into the request.
Stripe redacts all sensitive fields and headers, including authentication credentials and card numbers, before storing the request and response data in the forwarding Request object, which are subject to a 30-day retention period.
You can provide a Stripe idempotency key to make sure that requests with the same key result in only one outbound request. The Stripe idempotency key provided should be unique and different from any idempotency keys provided on the underlying third-party request.
Forwarding Requests are synchronous requests that return a response or time out according to Stripe’s limits.
Related guide: Forward card details to third-party API endpoints.
You can configure webhook endpoints via the API to be notified about events that happen in your Stripe account or connected accounts.
Most users configure webhooks from the dashboard, which provides a user interface for registering and testing your webhook endpoints.
Related guide: Setting up webhooks