View Source API Reference stripity_stripe v3.3.1
Modules
A HTTP client for Stripe.
Low-level utilities for interacting with the Stripe API.
This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.
Account Links are the means by which a Connect platform grants a connected account permission to access Stripe-hosted applications, such as Connect Onboarding.
An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components.
Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends.
This is an object representing your Stripe balance. You can retrieve it to see the balance currently on your Stripe account.
Options for customizing account balances and payout settings for a Stripe platform’s connected accounts.
Balance transactions represent funds moving through your Stripe account. Stripe creates them for every type of transaction that enters or leaves your Stripe account balance.
These bank accounts are payment methods on Customer objects.
A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests.
Indicates the billing credit balance for billing credits granted to a customer.
A credit balance transaction is a resource representing a transaction (either a credit or a debit) against an existing credit grant.
A credit grant is an API resource that documents the allocation of some billing credits to a customer.
Meters specify how to aggregate meter events over a billing period. Meter events represent the actions that customers take in your system. Meters attach to prices and form the basis of the bill.
Meter events represent actions that customers take in your system. You can use meter events to bill a customer based on their usage. Meter events are associated with billing meters, which define both the contents of the event’s payload and how to aggregate those events.
A billing meter event adjustment is a resource that allows you to cancel a meter event. For example, you might create a billing meter event adjustment to cancel a meter event that was created in error or attached to the wrong customer.
A billing meter event summary represents an aggregated view of a customer's billing meter events within a specified timeframe. It indicates how much usage was accrued by a customer for that period.
A portal configuration describes the functionality and behavior you embed in a portal session. Related guide: Configure the customer portal.
The Billing customer portal is a Stripe-hosted UI for subscription and billing management.
This is an object representing a capability for a Stripe account.
You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in order to transfer to those cards later.
A customer's Cash balance represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account.
The Charge object represents a single attempt to move money into your Stripe account.
PaymentIntent confirmation is the most common way to create Charges, but Account Debits may also create Charges.
Some legacy payment flows create Charges directly, which is not recommended for new integrations.
A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through Checkout or Payment Links. We recommend creating a new Session each time your customer attempts to pay.
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.
Utility that handles interaction with the application's configuration
ConfirmationTokens help transport client side data collected by Stripe JS over to your server for confirming a PaymentIntent or SetupIntent. If the confirmation is successful, values present on the ConfirmationToken are written onto the Intent.
Work with Stripe Connect.
Stripe needs to collect certain pieces of information about each account created. These requirements can differ depending on the account's country. The Country Specs API makes these rules available to your integration.
A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer. Coupons may be applied to subscriptions, invoices, checkout sessions, quotes, and more. Coupons do not work with conventional one-off charges or payment intents.
Issue a credit note to adjust an invoice's amount after the invoice is finalized.
The credit note line item object
This object represents a customer of your business. Use it to create recurring charges, save payment and contact information, and track payments that belong to the same customer.
Each customer has a Balance value,
which denotes a debit or credit that's automatically applied to their next invoice upon finalization.
You may modify the value directly by using the update customer API,
or by creating a Customer Balance Transaction, which increments or decrements the customer's balance by the specified amount.
Customers with certain payments enabled have a cash balance, representing funds that were paid by the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions represent when funds are moved into or out of this balance. This includes funding by the customer, allocation to payments, and refunds to the customer.
A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access control over a Customer.
A dispute occurs when a customer questions your charge with their card issuer. When this happens, you have the opportunity to respond to the dispute with evidence that shows that the charge is legitimate.
An active entitlement describes access to a feature for a customer.
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 behaviour implemented by modules which represent Stripe objects.
A struct which represents an error which occurred during a Stripe API call.
Snapshot events allow you to track and react to activity in your Stripe integration. When
the state of another API resource changes, Stripe creates an Event object that contains
all the relevant information associated with that action, including the affected API
resource. For example, a successful payment triggers a charge.succeeded event, which
contains the Charge in the event's data property. Some actions trigger multiple events.
For example, if you create a new subscription for a customer, it triggers both a
customer.subscription.created event and a charge.succeeded event.
[Deprecated] The ExchangeRate APIs are deprecated. Please use the FX Quotes API instead.
Application Fee Refund objects allow you to refund an application fee that
has previously been created but not yet refunded. Funds will be refunded to
the Stripe account from which the fee was originally collected.
This object represents files hosted on Stripe's servers. You can upload files with the create file request (for example, when uploading dispute evidence). Stripe also creates files independently (for example, the results of a Sigma scheduled query).
To share the contents of a File object with non-Stripe users, you can
create a FileLink. FileLinks contain a URL that you can use to
retrieve the contents of the file without authentication.
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.
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.
Each customer has a balance that is
automatically applied to future invoices and payments using the customer_balance payment method.
Customers can fund this balance by initiating a bank transfer to any account in the
financial_addresses field.
Related guide: Customer balance funding instructions
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_number, selfie.
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.
Invoices are statements of amounts owed by a customer, and are either generated one-off, or generated periodically from a subscription.
Invoice Payments represent payments made against invoices. Invoice Payments can be accessed in two ways
Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates can be created from within the Dashboard, and they can be used over the API when creating invoices.
Invoice Items represent the component lines of an invoice. When you create an invoice item with an invoice field, it is attached to the specified invoice and included as an invoice line item within invoice.lines.
When an issued card is used to make a purchase, an Issuing Authorization
object is created. Authorizations must be approved for the
purchase to be completed successfully.
You can create physical or virtual cards that are issued to cardholders.
An Issuing Cardholder object represents an individual or business entity who is issued cards.
As a card issuer, you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.
A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.
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.
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.
A line item.
Invoice Line Items represent the individual lines within an invoice and only exist within the context of an invoice.
Work with Stripe list objects.
Login Links are single-use URLs that takes an Express account to the login page for their Stripe dashboard. A Login Link differs from an Account Link in that it takes the user directly to their Express dashboard for the specified account
A Mandate is a record of the permission that your customer gives you to debit their payment method.
A Payment Attempt Record represents an individual attempt at making a payment, on or off Stripe. Each payment attempt tries to collect a fixed amount of money from a fixed customer and payment method. Payment Attempt Records are attached to Payment Records. Only one attempt per Payment Record can have guaranteed funds.
A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session.
A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times.
PaymentMethod objects represent your customer's payment instruments. You can use them with PaymentIntents to collect payments or save them to Customer objects to store instrument details for future payments.
PaymentMethodConfigurations control which payment methods are displayed to your customers when you don't explicitly specify payment method types. You can have multiple configurations with different sets of payment methods for different scenarios.
A payment method domain represents a web domain that you have registered with Stripe. Stripe Elements use registered payment method domains to control where certain payment methods are shown.
A Payment Record is a resource that allows you to represent payments that occur on- or off-Stripe. For example, you can create a Payment Record to model a payment made on a different payment processor, in order to mark an Invoice as paid and a Subscription as active. Payment Records consist of one or more Payment Attempt Records, which represent individual attempts made on a payment network.
A Payout object is created when you receive funds from Stripe, or when you
initiate a payout to either a bank account or debit card of a connected
Stripe account. You can retrieve individual payouts,
and list all payouts. Payouts are made on varying
schedules, depending on your country and
industry.
This is an object representing a person associated with a Stripe account.
You can now model subscriptions more flexibly using the Prices API. It replaces the Plans API and is backwards compatible to simplify your migration.
Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. Products help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.
Products describe the specific goods or services you offer to your customers. For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product. They can be used in conjunction with Prices to configure pricing in Payment Links, Checkout, and Subscriptions.
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.
A Promotion Code represents a customer-redeemable code for an underlying promotion. You can create multiple codes for a single promotion.
A Quote is a way to model prices that you'd like to provide to a customer. Once accepted, it will automatically create an invoice, subscription or subscription schedule.
An early fraud warning indicates that the card issuer has notified us that a charge may be fraudulent.
Value lists allow you to group values together which can then be referenced in rules.
Value list items allow you to add specific values to a given Radar value list, which can then be used in rules.
Refund objects allow you to refund a previously created charge that isn't refunded yet. Funds are refunded to the credit or debit card that's initially charged.
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.
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.
A module for working with requests to the Stripe API.
Reviews can be used to supplement automated fraud detection with human expertise.
If you have scheduled a Sigma query, you'll
receive a sigma.scheduled_query_run.created webhook each time the query
runs. The webhook contains a ScheduledQueryRun object, which you can use to
retrieve the query results.
Work with Stripe search result objects.
A SetupAttempt describes one attempted confirmation of a SetupIntent, whether that confirmation is successful or unsuccessful. You can use SetupAttempts to inspect details of a specific attempt at setting up a payment method using a SetupIntent.
A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use PaymentIntents to drive the payment flow.
Shipping rates describe the price of shipping presented to your customers and applied to a purchase. For more information, see Charge for shipping.
Source objects allow you to accept a variety of payment methods. They
represent a customer's payment instrument, and can be used with the Stripe API
just like a Card object: once chargeable, they can be charged, or can be
attached to customers.
Some payment methods have no required amount that a customer must send. Customers can be instructed to send any amount, and it can be made up of multiple transactions. As such, sources can have multiple associated transactions.
Subscriptions allow you to charge a customer on a recurring basis.
Subscription items allow you to create customer subscriptions with more than one plan, making it easy to represent complex billing relationships.
A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.
A Tax Association exposes the Tax Transactions that Stripe attempted to create on your behalf based on the PaymentIntent input
A Tax Calculation allows you to calculate the tax to collect from your customer.
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.
You can use Tax Settings to manage configurations used by Stripe Tax calculations.
A Tax Transaction records the tax collected from or refunded to your customer.
Tax codes classify goods and services for tax purposes.
You can add one or multiple tax IDs to a customer or account. Customer and account tax IDs get displayed on related invoices and credit notes.
Tax rates can be applied to invoices, subscriptions and Checkout Sessions to collect tax.
A Configurations object represents how features should be configured for terminal readers. For information about how to use it, see the Terminal configurations documentation.
A Connection Token is used by the Stripe Terminal SDK to connect to a reader.
A Location represents a grouping of readers.
Returns redirect links used for onboarding onto Tap to Pay on iPhone.
A Reader represents a physical device for accepting payment details.
A test clock enables deterministic control over objects in testmode. With a test clock, you can create objects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances, you can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time.
Tokenization is the process Stripe uses to collect sensitive card or bank account details, or personally identifiable information (PII), directly from your customers in a secure manner. A token representing this information is returned to your server to use. Use our recommended payments integrations to perform this process on the client-side. This guarantees that no sensitive card data touches your server, and allows your integration to operate in a PCI-compliant way.
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.
A Transfer object is created when you move funds between Stripe accounts as
part of Connect.
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.
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.
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_details.
Stripe or the platform can control Features via the requested field.
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.
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.
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.
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.
Transactions represent changes to a FinancialAccount's balance.
TransactionEntries represent individual units of money movements within a single Transaction.
A module that contains shared types matching Stripe schemas.
Usage records allow you to report customer usage and metrics to Stripe for metered billing of subscription prices.
Creates a Stripe Event from webhook's payload if signature is valid.
You can configure webhook endpoints via the API to be notified about events that happen in your Stripe account or connected accounts.
Webhook handler specification.
See Stripe.WebhookPlug for more details.
Helper Plug to process webhook events and send them to a custom handler.
Mix Tasks
The hello mix task: mix stripe.generate