Categorygithub.com/alphaspark/stripe-go
modulepackage
29.3.1+incompatible
Repository: https://github.com/alphaspark/stripe-go.git
Documentation: pkg.go.dev

# README

Go Stripe

GoDoc Build Status Coverage Status

Summary

The official Stripe Go client library.

Versioning

Each revision of the binding is tagged and the version is updated accordingly.

Given Go's lack of built-in versioning, it is highly recommended you use a package management tool in order to ensure a newer version of the binding does not affect backwards compatibility.

To see the list of past versions, run git tag. To manually get an older version of the client, clone this repo, checkout the specific tag and build the library:

git clone https://github.com/stripe/stripe-go.git
cd stripe-go
git checkout api_version_tag
make build

For more details on changes between versions, see the binding changelog and API changelog.

Installation

go get github.com/stripe/stripe-go

Documentation

For a comprehensive list of examples, check out the API documentation.

For details on all the functionality in this library, see the GoDoc documentation.

Below are a few simple examples:

Customers

params := &stripe.CustomerParams{
	Balance: -123,
	Desc:  "Stripe Developer",
	Email: "[email protected]",
}
params.SetSource("tok_1234")

customer, err := customer.New(params)

Charges

params := &stripe.ChargeListParams{Customer: customer.ID}
params.Filters.AddFilter("include[]", "", "total_count")

// set this so you can easily retry your request in case of a timeout
params.Params.IdempotencyKey = stripe.NewIdempotencyKey()

i := charge.List(params)
for i.Next() {
	charge := i.Charge()
}

if err := i.Err(); err != nil {
	// handle
}

Events

i := event.List(nil)
for i.Next() {
	e := i.Event()

	// access event data via e.GetObjValue("resource_name_based_on_type", "resource_property_name")
	// alternatively you can access values via e.Data.Obj["resource_name_based_on_type"].(map[string]interface{})["resource_property_name"]

	// access previous attributes via e.GetPrevValue("resource_name_based_on_type", "resource_property_name")
	// alternatively you can access values via e.Data.Prev["resource_name_based_on_type"].(map[string]interface{})["resource_property_name"]
}

Alternatively, you can use the even.Data.Raw property to unmarshal to the appropriate struct.

Authentication with Connect

There are two ways of authenticating requests when performing actions on behalf of a connected account, one that uses the Stripe-Account header containing an account's ID, and one that uses the account's keys. Usually the former is the recommended approach. See the documentation for more information.

To use the Stripe-Account approach, pass the StripeAccount field to a ListParams or Params class. For example:

// For a list request
listParams := &stripe.ChargeListParams{StripeAccount: merchantID}
// For any other kind of request
params := &stripe.CustomerParams{StripeAccount: merchantID}

To use a key, pass it to API's Init function:


import (
	"github.com/stripe/stripe-go"
	"github.com/stripe/stripe-go/client"
)

stripe := &client.API{}
stripe.Init("access_token", nil)

Google AppEngine

If you're running the client in a Google AppEngine environment, you'll need to create a per-request Stripe client since the http.DefaultClient is not available. Here's a sample handler:

import (
	"fmt"
	"net/http"

	"google.golang.org/appengine"
	"google.golang.org/appengine/urlfetch"

	"github.com/stripe/stripe-go"
	"github.com/stripe/stripe-go/client"
)

func handler(w http.ResponseWriter, r *http.Request) {
	c := appengine.NewContext(r)
	httpClient := urlfetch.Client(c)

	sc := client.New("sk_live_key", stripe.NewBackends(httpClient))

	fmt.Fprintf(w, "Ready to make calls to the Stripe API")
}

Usage

While some resources may contain more/less APIs, the following pattern is applied throughout the library for a given $resource$:

Without a Client

If you're only dealing with a single key, you can simply import the packages required for the resources you're interacting with without the need to create a client.

import (
	"github.com/stripe/stripe-go"
	"github.com/stripe/stripe-go/$resource$"
)

// Setup
stripe.Key = "sk_key"

stripe.SetBackend("api", backend) // optional, useful for mocking

// Create
$resource$, err := $resource$.New(stripe.$Resource$Params)

// Get
$resource$, err := $resource$.Get(id, stripe.$Resource$Params)

// Update
$resource$, err := $resource$.Update(stripe.$Resource$Params)

// Delete
resourceDeleted, err := $resource$.Del(id, stripe.$Resource$Params)

// List
i := $resource$.List(stripe.$Resource$ListParams)
for i.Next() {
	$resource$ := i.$Resource$()
}

if err := i.Err(); err != nil {
	// handle
}

With a Client

If you're dealing with multiple keys, it is recommended you use client.API. This allows you to create as many clients as needed, each with their own individual key.

import (
	"github.com/stripe/stripe-go"
	"github.com/stripe/stripe-go/client"
)

// Setup
sc := &client.API{}
sc.Init("sk_key", nil) // the second parameter overrides the backends used if needed for mocking

// Create
$resource$, err := sc.$Resource$s.New(stripe.$Resource$Params)

// Get
$resource$, err := sc.$Resource$s.Get(id, stripe.$Resource$Params)

// Update
$resource$, err := sc.$Resource$s.Update(stripe.$Resource$Params)

// Delete
resourceDeleted, err := sc.$Resource$s.Del(id, stripe.$Resource$Params)

// List
i := sc.$Resource$s.List(stripe.$Resource$ListParams)
for i.Next() {
	resource := i.$Resource$()
}

if err := i.Err(); err != nil {
	// handle
}

Writing a Plugin

If you're writing a plugin that uses the library, we'd appreciate it if you identified using stripe.SetAppInfo:

stripe.SetAppInfo(&stripe.AppInfo{
    Name:    "MyAwesomePlugin",
    URL:     "https://myawesomeplugin.info",
    Version: "1.2.34",
})

This information is passed along when the library makes calls to the Stripe API. Note that while Name is always required, URL and Version are optional.

Development

Pull requests from the community are welcome. If you submit one, please keep the following guidelines in mind:

  1. Code must be go fmt compliant.
  2. All types, structs and funcs should be documented.
  3. Ensure that make test succeeds.

Test

The test suite needs testify's require package to run:

github.com/stretchr/testify/require

It also depends on [stripe-mock], so make sure to fetch and run it from a background terminal ([stripe-mock's README][stripe-mock] also contains instructions for installing via Homebrew and other methods):

go get -u github.com/stripe/stripe-mock
stripe-mock

Run all tests:

go test ./...

Run tests for one package:

go test ./invoice

Run a single test:

go test ./invoice -run TestInvoiceGet

For any requests, bug or comments, please open an issue or submit a pull request.

# Packages

No description provided by the author
Package applepaydomain provides the /apple_pay/domains APIs.
Package balance provides the /balance APIs.
Package bankaccount provides the /bank_accounts APIs.
Package bitcoinreceiver provides the /bitcoin/receivers APIs.
Package bitcointransaction provides the /bitcoin/transactions APIs.
Package card provides the /cards APIs.
Package charge provides the /charges APIs.
Package client provides a Stripe client for invoking APIs across all resources.
Package countryspec provides the /country_specs APIs.
Package coupon provides the /coupons APIs.
Package currency provides the list of currency codes.
Package customer provides the /customers APIs.
Package discount provides the discount-related APIs.
No description provided by the author
Package ephemeralkey provides the /ephemeral_keys APIs.
Package event provides the /events APIs.
Package exchangerate provides the /exchange_rates APIs.
Package fee provides the /application_fees APIs.
Package feerefund provides the /application_fees/refunds APIs.
Package fileupload provides the file upload related APIs.
No description provided by the author
Package invoice provides the /invoices APIs.
Package invoiceitem provides the /invoiceitems APIs.
Package loginlink provides the /login_links APIs.
No description provided by the author
No description provided by the author
No description provided by the author
Package paymentsource provides the /sources APIs.
Package payout provides the /payouts APIs.
Package plan provides the /plans APIs.
No description provided by the author
Package recipient provides the /recipients APIs.
Package recipienttransfer provides the /recipient_transfers APIs.
Package refund provides the /refunds APIs.
Package reversal provides the /transfers/reversals APIs.
No description provided by the author
No description provided by the author
Package sourcetransaction provides the /source/transactions APIs.
Package sub provides the /subscriptions APIs.
Package sub provides the /subscriptions APIs.
No description provided by the author
Package threedsecure provides the /3d_secure APIs.
Package token provides the /tokens APIs.
No description provided by the author
Package transfer provides the /transfers APIs.
No description provided by the author

# Functions

GetBackend returns the currently used backend in the binding.
GetIter returns a new Iter for a given query and its options.
NewBackends creates a new set of backends with the given HTTP client.
NewIdempotencyKey generates a new idempotency key that can be used on a request.
SetAppInfo sets app information.
SetBackend sets the backend used in the binding.
SetHTTPClient overrides the default HTTP client.
SourceParamsFor creates SourceParams objects around supported payment sources, returning errors if not.

# Constants

AccountTypeCustom is a constant value representing an account of type custom.
AccountTypeExpress is a constant value representing an account of type express.
AccountTypeStandard is a constant value representing an account of type standard.
APIBackend is a constant representing the API service backend.
No description provided by the author
APIURL is the URL of the API service backend.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Company is a constant value representing a company legal entity type.
Day is a constant value representing a daily payout interval.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ExternalAccountTypeBankAccount is a constant value representing an external account which is a bank account.
ExternalAccountTypeCard is a constant value representing an external account which is a card.
FlowCodeVerification a verification code should be communicated by the customer to authenticate the source.
FlowNone no particular authentication is involved the source should become chargeable directly or asyncrhonously.
FlowReceiver a receiver address should be communicated to the customer to push funds to it.
FlowRedirect a redirect is required to authenticate the source.
IdentityVerificationPending is a constant value indicating that identity verification status is pending.
IdentityVerificationUnverified is a constant value indicating that identity verification status is unverified.
IdentityVerificationVerified is a constant value indicating that identity verification status is verified.
No description provided by the author
No description provided by the author
No description provided by the author
Individual is a constant value representing an individual legal entity type.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Manual is a constant value representing a manual payout interval.
No description provided by the author
Month is a constant value representing a monthly payout interval.
PaymentSourceAccount is a constant representing a payment source which is an account.
PaymentSourceBankAccount is a constant representing a payment source which is a bank account.
PaymentSourceBitcoinReceiver is a constant representing a payment source which is a Bitcoin receiver.
PaymentSourceCard is a constant representing a payment source which is a card.
PaymentSourceObject is a constant representing a payment source which is a top level source object (/v1/sources).
PayoutDestinationBankAccount is a constant representing a payout destination which is a bank account.
PayoutDestinationCard is a constant representing a payout destination which is a card.
PayoutMethodInstant is a constant representing an instant payout.
PayoutMethodStandard is a constant representing a standard payout.
No description provided by the author
ProductTypeGood is a constant that indicates a product represents a physical good, which may be sold through the Stripe Relay API.
ProductTypeService is a constant that indicates a product represents a service which is provided on a recurring basis and is priced with a Stripe plan.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RecipientTransferDestinationBankAccount is a constant representing a recipient_transfer destination which is a bank account.
RecipientTransferDestinationCard is a constant representing a recipient_transfer destination which is a card.
RecipientTransferMethodInstant is a constant representing an instant recipient_transfer.
RecipientTransferMethodStandard is a constant representing a standard recipient_transfer.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
RefundAttributesAvailable the refund attributes are available.
RefundAttributesEmail the refund attributes are automatically collected over email.
RefundAttributesManual the refund attributes should be collected by the user.
RefundAttributesMissing the refund attributes are missing.
RefundAttributesRequested the refund attributes have been requested.
SourceStatusCanceled we canceled the source along with any side-effect it had (returned funds to customers if any were sent).
SourceStatusChargeable the source is ready to be charged (once if usage is `single_use`, repeatedly otherwise).
SourceStatusConsumed the source is `single_use` usage and has been charged already.
SourceStatusFailed the source is no longer usable.
SourceStatusPending the source is freshly created and not yet chargeable.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TotalBackends is the total number of Stripe API endpoints supported by the binding.
TransactionSourceCharge is a constant representing a transaction source of charge.
TransactionSourceDispute is a constant representing a transaction source of dispute.
TransactionSourceFee is a constant representing a transaction source of application_fee.
TransactionSourcePayout is a constant representing a transaction source of payout.
TransactionSourceRecipientTransfer is a constant representing a transaction source of recipient_transfer.
TransactionSourceRefund is a constant representing a transaction source of refund.
TransactionSourceReversal is a constant representing a transaction source of reversal.
TransactionSourceTransfer is a constant representing a transaction source of transfer.
UnknownPlatform is the string returned as the system name if we couldn't get one from `uname`.
UploadsBackend is a constant representing the uploads service backend.
UploadsURL is the URL of the uploads service backend.
UsageReusable the source can be charged multiple times for arbitrary amounts.
UsageSingleUse the source can only be charged once for the specified amount and currency.
Week is a constant value representing a weekly payout interval.

# Variables

Key is the Stripe API key used globally in the binding.
Logger controls how stripe performs logging at a package level.
LogLevel is the logging level for this library.

# Structs

Account is the resource representing your Stripe account.
AccountExternalAccountParams are the parameters allowed to reference an external account when creating an account.
AccountList is a list of accounts as returned from a list endpoint.
AccountListParams are the parameters allowed during account listing.
AccountParams are the parameters allowed during account creation/updates.
AccountRejectParams is the structure for the Reject function.
Address is the structure for an account address.
Standard address parameters.
Amount is a structure wrapping an amount value and its currency.
APIConnectionError is a failure to connect to the Stripe API.
APIError is a catch all for any errors not covered by other types (and should be extremely uncommon).
AppInfo contains information about the "app" which this integration belongs to.
ApplePayDomain is the resource representing a Stripe ApplePayDomain object.
ApplePayDomainList is a list of ApplePayDomains as returned from a list endpoint.
ApplePayDomainListParams are the parameters allowed during ApplePayDomain listing.
ApplePayDomainParams is the set of parameters that can be used when creating an ApplePayDomain object.
No description provided by the author
AuthenticationError is a failure to properly authenticate during a request.
BackendConfiguration is the internal implementation for making HTTP calls to Stripe.
Backends are the currently supported endpoints.
Balance is the resource representing your Stripe balance.
BalanceParams is the set of parameters that can be used when retrieving a balance.
BankAccount represents a Stripe bank account.
BankAccountList is a list object for bank accounts.
BankAccountListParams is the set of parameters that can be used when listing bank accounts.
BankAccountParams is the set of parameters that can be used when updating a bank account.
BitcoinReceiver is the resource representing a Stripe bitcoin receiver.
BitcoinReceiverList is a list of bitcoin receivers as retrieved from a list endpoint.
BitcoinReceiverListParams is the set of parameters that can be used when listing BitcoinReceivers.
BitcoinReceiverParams is the set of parameters that can be used when creating a BitcoinReceiver.
BitcoinReceiverUpdateParams is the set of parameters that can be used when updating a BitcoinReceiver.
BitcoinTransaction is the resource representing a Stripe bitcoin transaction.
BitcoinTransactionList is a list object for BitcoinTransactions.
BitcoinTransactionListParams is the set of parameters that can be used when listing BitcoinTransactions.
CaptureParams is the set of parameters that can be used when capturing a charge.
Card is the resource representing a Stripe credit/debit card.
CardError are the most common type of error you should expect to handle.
CardList is a list object for cards.
CardListParams is the set of parameters that can be used when listing cards.
CardParams is the set of parameters that can be used when creating or updating a card.
Charge is the resource representing a Stripe charge.
ChargeList is a list of charges as retrieved from a list endpoint.
ChargeListParams is the set of parameters that can be used when listing charges.
Outcome is the charge's outcome that details whether a payment was accepted and why.
ChargeOutcomeRule tells you the Radar rule that blocked the charge, if any.
ChargeParams is the set of parameters that can be used when creating or updating a charge.
CodeVerificationFlow informs of the state of a verification authentication flow.
CountrySpec is the resource representing the rules required for a Stripe account.
CountrySpecList is a list of country specs as retrieved from a list endpoint.
CountrySpecListParams are the parameters allowed during CountrySpec listing.
Coupon is the resource representing a Stripe coupon.
CouponList is a list of coupons as retrieved from a list endpoint.
CouponListParams is the set of parameters that can be used when listing coupons.
CouponParams is the set of parameters that can be used when creating a coupon.
Customer is the resource representing a Stripe customer.
CustomerList is a list of customers as retrieved from a list endpoint.
CustomerListParams is the set of parameters that can be used when listing customers.
CustomerParams is the set of parameters that can be used when creating or updating a customer.
CustomerShippingDetails is the structure containing shipping information.
CustomerSourceParams are used to manipulate a given Stripe Customer object's payment sources.
No description provided by the author
No description provided by the author
Discount is the resource representing a Stripe discount.
DiscountParams is the set of parameters that can be used when deleting a discount.
Dispute is the resource representing a Stripe dispute.
DisputeEvidence is the structure that contains various details about the evidence submitted for the dispute.
DisputeEvidenceParams is the set of parameters that can be used when submitting evidence for disputes.
DisputeList is a list of disputes as retrieved from a list endpoint.
DisputeListParams is the set of parameters that can be used when listing disputes.
DisputeParams is the set of parameters that can be used when updating a dispute.
DOB is a structure for an account owner's date of birth.
EphemeralKey is the resource representing a Stripe ephemeral key.
EphemeralKeyParams is the set of parameters that can be used when creating an ephemeral key.
Error is the response returned when a call is unsuccessful.
Event is the resource representing a Stripe event.
EventData is the unmarshalled object as a map.
EventList is a list of events as retrieved from a list endpoint.
EventListParams is the set of parameters that can be used when listing events.
EventRequest contains information on a request that created an event.
EvidenceDetails is the structure representing more details about the dispute.
ExchangeRate is the resource representing the currency exchange rates at a given time.
ExchangeRateList is a list of exchange rates as retrieved from a list endpoint.
ExchangeRateListParams are the parameters allowed during ExchangeRate listing.
ExternalAccount is an external account (a bank account or card) that's attached to an account.
ExternalAccountList is a list of external accounts that may be either bank accounts or cards.
ExtraValues are extra parameters that are attached to an API request.
Fee is the resource representing a Stripe application fee.
FeeList is a list of fees as retrieved from a list endpoint.
FeeListParams is the set of parameters that can be used when listing application fees.
FeeParams is the set of parameters that can be used when refunding an application fee.
FeeRefund is the resource representing a Stripe fee refund.
FeeRefundList is a list object for fee refunds.
FeeRefundListParams is the set of parameters that can be used when listing fee refunds.
FeeRefundParams is the set of parameters that can be used when refunding a fee.
File represents a link to downloadable content.
FileUpload is the resource representing a Stripe file upload.
FileUploadList is a list of file uploads as retrieved from a list endpoint.
FileUploadListParams is the set of parameters that can be used when listing file uploads.
FileUploadParams is the set of parameters that can be used when creating a file upload.
Filters is a structure that contains a collection of filters for list-related APIs.
FraudDetails is the structure detailing fraud status.
FraudDetailsParams provides information on the fraud details for a charge.
IdentityDocument is the structure for an identity document.
IdentityVerification is the structure for an account's verification.
InvalidRequestError is an error that occurs when a request contains invalid parameters.
No description provided by the author
Invoice is the resource representing a Stripe invoice.
InvoiceItem is the resource represneting a Stripe invoice item.
InvoiceItemList is a list of invoice items as retrieved from a list endpoint.
InvoiceItemListParams is the set of parameters that can be used when listing invoice items.
InvoiceItemParams is the set of parameters that can be used when creating or updating an invoice item.
InvoiceLine is the resource representing a Stripe invoice line item.
InvoiceLineList is a list object for invoice line items.
InvoiceLineListParams is the set of parameters that can be used when listing invoice line items.
InvoiceList is a list of invoices as retrieved from a list endpoint.
InvoiceListParams is the set of parameters that can be used when listing invoices.
InvoiceParams is the set of parameters that can be used when creating or updating an invoice.
InvoicePayParams is the set of parameters that can be used when paying invoices.
Iter provides a convenient interface for iterating over the elements returned from paginated list API calls.
LegalEntity is the structure for properties related to an account's legal state.
ListMeta is the structure that contains the common properties of List iterators.
ListParams is the structure that contains the common properties of any *ListParams structure.
LoginLink is the resource representing a login link for Express accounts.
LoginLinkParams is the set of parameters that can be used when creating a login_link.
No description provided by the author
No description provided by the author
No description provided by the author
OrderList is a list of orders as retrieved from a list endpoint.
OrderListParams is the set of parameters that can be used when listing orders.
No description provided by the author
OrderPayParams is the set of parameters that can be used when paying orders.
No description provided by the author
OrderReturnList is a list of returns as retrieved from a list endpoint.
OrderReturnListParams is the set of parameters that can be used when listing returns.
OrderReturnParams is the set of parameters that can be used when returning orders.
No description provided by the author
No description provided by the author
Owner is the structure for an account owner.
PackageDimensions represents the dimension of a product or a sku from the perspective of shipping.
Params is the structure that contains the common properties of any *Params structure.
PaymentSource describes the payment source used to make a Charge.
Payout is the resource representing a Stripe payout.
PayoutDestination describes the destination of a Payout.
PayoutList is a list of payouts as retrieved from a list endpoint.
PayoutListParams is the set of parameters that can be used when listing payouts.
PayoutParams is the set of parameters that can be used when creating or updating a payout.
PayoutSchedule is the structure for an account's payout schedule.
PayoutScheduleParams are the parameters allowed for payout schedules.
Period is a structure representing a start and end dates.
PermissionError results when you attempt to make an API request for which your API key doesn't have the right permissions.
PIIParams are parameters for personal identifiable information (PII).
Plan is the resource representing a Stripe plan.
PlanList is a list of plans as returned from a list endpoint.
PlanListParams is the set of parameters that can be used when listing plans.
PlanParams is the set of parameters that can be used when creating or updating a plan.
PlanProductParams is the set of parameters that can be used when creating a product inside a plan This can only be used on plan creation and won't work on plan update.
Product is the resource representing a Stripe product.
ProductList is a list of products as retrieved from a list endpoint.
ProductListParams is the set of parameters that can be used when listing products.
ProductParams is the set of parameters that can be used when creating or updating a product.
RangeQueryParams are a set of generic request parameters that are used on list endpoints to filter their results by some timestamp.
RateLimitError occurs when the Stripe API is hit to with too many requests too quickly and indicates that the current request has been rate limited.
ReceiverFlow informs of the state of a receiver authentication flow.
Recipient is the resource representing a Stripe recipient.
RecipientList is a list of recipients as retrieved from a list endpoint.
RecipientListParams is the set of parameters that can be used when listing recipients.
RecipientParams is the set of parameters that can be used when creating or updating recipients.
RecipientTransfer is the resource representing a Stripe recipient_transfer.
RecipientTransferDestination describes the destination of a RecipientTransfer.
ReceiverFlow informs of the state of a redirect authentication flow.
No description provided by the author
Refund is the resource representing a Stripe refund.
RefundList is a list object for refunds.
RefundListParams is the set of parameters that can be used when listing refunds.
RefundParams is the set of parameters that can be used when refunding a charge.
Reversal represents a transfer reversal.
ReversalList is a list of object for reversals.
ReversalListParams is the set of parameters that can be used when listing reversals.
ReversalParams is the set of parameters that can be used when reversing a transfer.
No description provided by the author
No description provided by the author
ShippingDetails is the structure containing shipping information.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SourceList is a list object for cards.
SourceListParams are used to enumerate the payment sources that are attached to a Customer.
SourceObjectDetachParams is the set of parameters that can be used when detaching a source from a customer.
No description provided by the author
No description provided by the author
No description provided by the author
SourceParams is a union struct used to describe an arbitrary payment source.
SourceTransaction is the resource representing a Stripe source transaction.
SourceTransactionList is a list object for SourceTransactions.
SourceTransactionListParams is the set of parameters that can be used when listing SourceTransactions.
SourceVerifyParams are used to verify a customer source For more details see https://stripe.com/docs/guides/ach-beta.
StatusTransitions are the timestamps at which the order status was updated https://stripe.com/docs/api#order_object.
Sub is the resource representing a Stripe subscription.
SubItem is the resource representing a Stripe subscription item.
SubItemList is a list of invoice items as retrieved from a list endpoint.
SubItemListParams is the set of parameters that can be used when listing invoice items.
SubItemParams is the set of parameters that can be used when creating or updating a subscription item.
SubItemsParams is the set of parameters that can be used when creating or updating a subscription item on a subscription For more details see https://stripe.com/docs/api#create_subscription and https://stripe.com/docs/api#update_subscription.
SubList is a list object for subscriptions.
SubListParams is the set of parameters that can be used when listing active subscriptions.
SubParams is the set of parameters that can be used when creating or updating a subscription.
ThreeDSecure is the resource representing a Stripe 3DS object For more details see https://stripe.com/docs/api#three_d_secure.
ThreeDSecureParams is the set of parameters that can be used when creating a 3DS object.
Token is the resource representing a Stripe token.
TokenParams is the set of parameters that can be used when creating a token.
Topup is the resource representing a Stripe top-up.
TopupList is a list of top-ups as retrieved from a list endpoint.
TopupListParams is the set of parameters that can be used when listing top-ups.
TopupParams is the set of parameters that can be used when creating or updating a top-up.
TOSAcceptanceParams is the structure for TOS acceptance.
Transaction is the resource representing the balance transaction.
TransactionList is a list of transactions as returned from a list endpoint.
TransactionSource describes the source of a balance Transaction.
Transfer is the resource representing a Stripe transfer.
TransferDestination describes the destination of a Transfer.
TransferList is a list of transfers as retrieved from a list endpoint.
TransferListParams is the set of parameters that can be used when listing transfers.
TransferParams is the set of parameters that can be used when creating or updating a transfer.
TxFee is a structure that breaks down the fees in a transaction.
TxListParams is the set of parameters that can be used when listing balance transactions.
TxParams is the set of parameters that can be used when retrieving a transaction.
VerificationFieldsList lists the fields needed for an account verification.

# Interfaces

Backend is an interface for making calls against a Stripe service.
Printfer is an interface to be implemented by Logger.

# Type aliases

AccountType is the type of an account.
BankAccountStatus is the list of allowed values for the bank account's status.
CardBrand is the list of allowed values for the card's brand.
CardFunding is the list of allowed values for the card's funding.
CodeVerificationFlowStatus represents the possible statuses of a code verification flow.
Country is the list of supported countries.
CouponDuration is the list of allowed values for the coupon's duration.
Currency is the list of supported currencies.
DisputeReason is the list of allowed values for a discount's reason.
DisputeStatus is the list of allowed values for a discount's status.
ErrorCode is the list of allowed values for the error's code.
ErrorType is the list of allowed values for the error's type.
No description provided by the author
ExternalAccountType is the type of an external account.
FileUploadPurpose is the purpose of a particular file upload.
FraudReport is the list of allowed values for reporting fraud.
Gender is the gender of an account owner.
IdentityVerificationDetailsCode is a machine-readable code specifying the verification state of a legal entity.
IdentityVerificationStatus describes the different statuses for identity verification.
Interval describes the payout interval.
InvoiceBilling is the type of billing method for this invoice.
InvoiceLineType is the list of allowed values for the invoice line's type.
LegalEntityType describes the types for a legal entity.
OrderStatus represents the statuses of an order object.
PaymentSourceType consts represent valid payment sources.
PayoutDestinationType consts represent valid payout destinations.
PayoutFailureCode is the list of allowed values for the payout's failure code.
PayoutMethodType represents the type of payout.
PayoutSourceType is the list of allowed values for the payout's source_type field.
PayoutStatus is the list of allowed values for the payout's status.
PayoutType is the list of allowed values for the payout's type.
PlanInterval is the list of allowed values for a plan's interval.
ProductType is the type of a product.
Query is the function used to get a page listing.
Reason describes the reason why the review is open or closed.
RecipientTransferDestinationType consts represent valid recipient_transfer destinations.
RecipientTransferFailCode is the list of allowed values for the recipient_transfer's failure code.
RecipientTransferMethodType represents the type of recipient_transfer.
RecipientTransferSourceType is the list of allowed values for the recipient_transfer's source_type field.
RecipientTransferStatus is the list of allowed values for the recipient_transfer's status.
RecipientTransferType is the list of allowed values for the recipient_transfer's type.
RecipientType is the list of allowed values for the recipient's type.
RedirectFlowFailureReason represents the possible failure reasons of a redirect flow.
RedirectFlowStatus represents the possible statuses of a redirect flow.
RefundAttributesMethod are the possible method to retrieve a receiver's refund attributes.
RefundAttributesStatus are the possible status of a receiver's refund attributes.
RefundReason is, if set, the reason the refund is being made--allowed values are "fraudulent", "duplicate", and "requested_by_customer".
RefundStatus is the status of the refund.
SourceFlow represents the possible flows of a source object.
SourceStatus represents the possible statuses of a source object.
SourceUsage represents the possible usages of a source object.
SubBilling is the type of billing method for this subscription's invoices.
SubStatus is the list of allowed values for the subscription's status.
SupportedBackend is an enumeration of supported Stripe endpoints.
No description provided by the author
TokenizationMethod is the list of allowed values for the card's tokenization method.
TokenType is the list of allowed values for a token's type.
TransactionSourceType consts represent valid balance transaction sources.
TransactionStatus is the list of allowed values for the transaction's status.
TransactionType is the list of allowed values for the transaction's type.
TransferSourceType is the list of allowed values for the transfer's source_type field.
Verification is the list of allowed verification responses.