- #739 Use
ApplicationFee
struct forFeeRefund.Fee
(minor breaking change)
- #734 Put
/v1/
prefix as part of all paths instead of URL
- #733 Fix malformed URL generated for the uploads API when using
NewBackends
- #721 Add support for
RadarValueList
andRadarValueListItem
- #721 Remove
Closed
andForgiven
fromInvoiceParams
- #721 Add
PaidOutOfBand
toInvoicePayParams
- #728 Add
IssuingCard
toEphemeralKeyParams
- #727 Add support for
TransferData
on payment intent create and update
- #725 Improved error deserialization
- #723 Add support for
last_payment_error
onPaymentIntent
. - #724 Add support for
transfer_data[destination]
onPaymentIntent
.
- #714 Fix bug in retry logic that would cause the client to panic
- #716 Drop support for Go 1.8.
- #715 Ship changes to the
PaymentIntent
resource to match the final layout. - #717 Add support for
flat_amount
onPlan
tiers. - #718 Add support for
supported_transfer_countries
onCountrySpec
. - #720 Add support for
review
onPaymentIntent
. - #707 Add new invoice methods and fixes to the Issuing Cardholder resource (multiple breaking changes)
- Move to API version 2018-11-08.
- Add support for new API methods, properties and parameters for
Invoice
. - Add support for
default_source
onSubscription
andInvoice
.
- #711 Set
Request.GetBody
when making requests - #711 Drop support for Go 1.7 (hasn't been supported by Go core since the release of Go 1.9 in August 2017)
- #708 Add Stripe Terminal endpoints to master to
client.API
- #704 Add support for
subscription_cancel_at_period_end
on the Upcoming Invoice API.
- #702 Add support for
delivery_success
filter when listing Events.
- #700 Add support for
on_behalf_of
on Subscription and Charge resources.
- #698 Move to API version 2018-09-24
- Rename
FileUpload
toFile
(and allFileUpload*
structs toFile*
) - Fix file links client
- Rename
- #695 Rename
Transaction
toDisputedTransaction
inIssuingDisputeParams
(minor breaking change) - #695 Add support for Stripe Terminal
- #697 Fix
number
JSON tag on theIssuingCardDetails
resource.
- #694 Add
ErrorCodeResourceMissing
error code constant
- #693 Change
Product
underPlan
from a string to a fullProduct
struct pointer (this is a minor breaking change -- upgrade by changing toplan.Product.ID
)
- #691 Add
InvoicePrefix
toCustomer
andCustomerParams
- #690 Add support for reporting resources
- #683 Add
StatusTransitions
filter parameters toOrderListParams
- #681 Handle deserialization of
OrderItem
parent into an object if expanded (minor breaking change)
- New major version for better compatibility with Go's new module system (no breaking changes)
- #688 Encode
Params
inAppendToAsSourceOrExternalAccount
(bug fix) - #689 Add
go.mod
for the new module system
- #686 Add
Mandate
andReceiver
toSourceObjectParams
and changeDate
onSourceMandateAcceptance
toint64
(minor breaking change)
- #680 Change
SubscriptionTaxPercent
onInvoice
fromint64
tofloat64
(minor breaking change)
- #678 Allow payment intent capture to take its own parameters
- #675 Fix incorrectly encoded parameter in
UsageRecordSummaryListParams
- #668 Move to API version 2018-08-23
- Add
TaxInfo
andTaxInfoVerification
toCustomer
- Rename
Amount
toUnitAmount
onPlanTierParams
- Remove
BusinessVATID
fromCustomer
- Remove
AtPeriodEnd
fromSubscriptionCancelParams
- Add
- #667 Add
Forgive
toInvoicePayParams
- #666 Add
Subscription
toSubscriptionItem
- #664 Add
AvailablePayoutMethods
toCard
- #663 Add support for usage record summaries and rename
Live
onIssuerFraudRecord,
SourceTransaction, and
UsageRecordto
Livemode` (a minor breaking change)
- #659 Remove mutating Bitcoin receiver API calls (these were no longer functional anyway)
- #661 Correct
IssuingCardShipping
's type toint64
- #662 Rename
IssuingCardShipping
'sEta
toETA
- #657 Use integer-indexed encoding for all arrays
- #656 Expose new
ValidatePayload
functions for validating incoming payloads without constructing an event
- #652 Change the type of
FileUpload.Links
toFileLinkList
(this is a bug fix given that the previous type would never have worked)
- #653 All
BackendImplementation
s should sleep by default on retries
- #648 Introduce buffers so a request's body can be read multiple times (this modifies the interface of a few exported internal functions so it's technically breaking, but it will probably not be breaking for most users)
- #649 Rename
BackendConfiguration
toBackendImplementation
(likewise, technically breaking, but minor) - #650 Export
webhook.ComputeSignature
- #646 Set request body before every retry (this modifies the interface of a few exported internal functions so it's technically breaking, but it will probably not be breaking for most users)
- #643 Bug fix and various code/logging improvements to retry code
- #641 Minor breaking changes to correct a few naming inconsistencies:
IdentityVerificationDetailsCodeScanIdCountryNotSupported
becomesIdentityVerificationDetailsCodeScanIDCountryNotSupported
IdentityVerificationDetailsCodeScanIdTypeNotSupported
becomesIdentityVerificationDetailsCodeScanIDTypeNotSupported
BitcoinUri
onBitcoinReceiver
becomesBitcoinURI
NetworkId
onIssuingAuthorization
becomesNetworkID
- #637 Add support for Sigma scheduled query runs
- #639 Move to API version
2018-07-27
(breaking)- Remove
SKUs
fromProduct
- Subscription creation and update can no longer take a source
- Change
PercentOff
on coupon struct and params from integer to float
- Remove
- #640 Add missing field
Created
toAccount
- #636 Add
RiskScore
toChargeOutcome
- #635 Add support for Stripe Issuing
- #633 Fix encoding of list params for bank accounts and cards
- #627 Wire an
http.Client
fromNewBackends
through to backends
- #624 Add
AutoAdvance
forInvoice
- #606 Add support for payment intents
- #623 Changed
Payout.Destination
fromstring
to*PayoutDestination
to support expanding (minor breaking change)
- #622 Correct position of
DeclineChargeOn
(it was added accidentally onLegalEntityParams
when it should have been onAccountParams
)
- #620 Add support for
Quantity
andUnitAmount
toInvoiceItemParams
andQuantity
toInvoiceItem
- #618 Add support for
DeclineChargeOn
toAccount
andAccountParams
- #616 Adding missing clients to the
API
struct including aUsageRecords
entry
- #611 Introduce
GetBackendWithConfig
and make logging configurable per backend
- #607 Add support for
PartnerID
fromstripe.SetAppInfo
- #604 Add extra parameters
CustomerReference
andShippingFromZip
toChargeLevel3Params
andChargeLevel3
- #603 Add support for Level III data on charge creation
- #601 Add missing parameters for retrieving an upcoming invoice
- #599 Add
ExchangeRate
toBalanceTransaction
- #596 Add
Type
toProductListParams
so that products can be listed by type
- #595 Add
Product
toPlanListParams
so that plans can be listed by product
- #592 Add
Name
field toCoupon
andCouponParams
- #557 Add automatic retries for intermittent errors (enabling using
BackendConfiguration.SetMaxNetworkRetries
) - #589 Fix all
Get
methods to support standardized parameter structs + remove some deprecated functionsIssuerFraudRecordListParams
now uses*string
forCharge
(set it usingstripe.String
like elsewhere)event.Get
now takesstripe.EventParams
instead ofParams
for consistency- The
Get
method forcountryspec
,exchangerate
,issuerfraudrecord
now take an extra params struct parameter to be consistent and allow setting a connected account (usestripe.CountrySpecParams
,stripe.ExchangeRateParams
, andIssuerFraudRecordParams
) charge.MarkFraudulent
andcharge.MarkSafe
have been removed; usecharge.Update
insteadcharge.CloseDispute
andcharge.UpdateDispute
have been removed; usedispute.Update
ordispute.Close
insteadloginlink.New
now properly passes its params struct into its API call
- #587 Use
net/http
constants instead of string literals for HTTP verbs (this is an internal cleanup and should not affect library behavior)
- #581 Push parameter encoding into
BackendConfiguration.Call
(this is an internal cleanup and should not affect library behavior)
- #586 Add
AmountPaid
,AmountRemaining
,BillingReason
(including newInvoiceBillingReason
and constants), andSubscriptionProrationDate
toInvoice
- #585 Remove
File
in favor ofFileUpload
, and consolidating both classes which were already nearly identical exceptMIMEType
has been replaced byType
(this is technically a breaking change, but quite a small one)
- #578 Improve expansion parsing by not discarding unmarshal errors
- #583 Add new account constants, rename one, and fix
DueBy
(this is technically a breaking change, but quite a small one)
- #582 Fix unmarshaling of
LegalEntity
(specifically when we havelegal_entity[additional_owners][][verification]
) so that it comes out as a struct
- #577 Add
DocumentBack
to account legal entity identity verification parameters and response
- #576 Fix plan transform usage to use
BucketSize
instead ofDivideBy
; note this is technically a breaking API change, but we've released it as a minor because the previous manifestation didn't work
- #571 Add
HostedInvoiceURL
andInvoicePDF
toInvoice
- #573 Add
FormatURLPath
helper to allow safer URL path building
- #572 Add
Active
to plan parameters and response
- #569 Fix unmarshaling of expanded transaction sources in balance transactions
- #544 MAJOR changes that make all fields on parameter structs pointers, and rename many fields on parameter and response structs to be consistent with naming in the REST API; we've written a migration guide with complete details to help with the upgrade
- #566 Support
DisputeParams
indispute.Close
- #562 Add
go.mod
for vgo support
- #558 Add
SubscriptionItem
toInvoiceLine
- #552 Add support for issuer fraud records
- #550 Append standard
Params
as well as card options when encodingCardParams
- #546 Add
SubParams.TrialFromPlan
andSubItemsParams.ClearUsage
- #543 Support listing orders by customer (add
Customer
toOrderListParams
)
- #541 Add
Mandate
onSource
(and associated mandate structs)
- #538 Introduce flexible billing primitives for subscriptions
- #535 Add constant for redirect status
not_required
(RedirectFlowStatusNotRequired
)
- #534 Add
AmountZero
toInvoiceItemParams
- #533 Make
DestPayment
underTransfer
expandable by changing it from a string to aCharge
- #530 Fix mixed up types in
CountrySpec.SupportedBankAccountCurrencies
- #527 Add
MaidenName
,PersonalIDNumber
,PersonalIDNumberProvided
fields toOwner
struct
- #525 Support shipping carrier and tracking number in orders
- #526 Fix ignored
commonParams
when returning an order
- #522 Bump API version and fix creating plans with a product
- #520 Add support for topups
WARNING: Please use 29.1.1 instead.
- #519 Correct the implementation of
PaymentSource.MarshalJSON
to also handle bank account sources
WARNING: Please use 29.1.1 instead.
- #518 Bump API version to 2018-02-06 and add support for Product & Plan API
- #517 Add
BillingCycleAnchor
toSub
andBillingCycleAnchorUnchanged
toSubParams
- #516 Add
AmountZero
toPlanParams
to it's possible to send zero values when creating or updating a plan
- #512 Encode empty values found in maps (like
Meta
)
- #509 Plumb through additional possible errors when unmarshaling polymorphic types (please test your integrations while upgrading)
- #506 Add support for recursing into slices in
event.GetObjValue
- #500 Support sharing for bank accounts and cards (adds
ID
field to bank account and charge parameters)
- #494 Add
Automatic
toPayout
struct
- #492 Correct name of user agent header used to send Go version to Stripe's API
- #491 Support for exchange rates APIs
- #488 Support for listing source transactions
- #486 Send the required
object=bank_account
parameter when adding a bank account through an account - #487 Make bank account's
account_holder_name
andaccount_holder_type
parameters truly optional
- #484 Error early when params not specified for card-related API calls
- #477 Support context on API requests with
Params.Context
andListParams.Context
- #479 Pass token in only one of
external_account
or source when appending card
- #476 Make initializing new backends concurrency-safe
- #359 Add support for verify sources (added
Values
onSourceVerifyParams
)
- #472 Add support for
statement_descriptor
in source objects - #473 Add support for detaching sources from customers
- #471 Add support for
RedirectFlow.FailureReason
for sources
- #468 Fix encoding of pointer-based scalars (e.g.
Active *bool
inProduct
) - #470 Fix concurrent race in
form
package's encoding caches
- #467 Change
Product.Get
to includeProductParams
for request metadata - #467 Fix sending extra parameters on product and SKU requests
- #465 Fix encoding of
CVC
parameter inCardParams
- #461 Fix encoding of
TypeData
under sources
- #458 Remove
ChargeParams.Token
(this seems like it was added accidentally)
- Introduce
form
package so it's no longer necessary to build conditional structures to encode parameters -- this may result in parameters that were set but previously not encoded to now be encoded so PLEASE TEST CAREFULLY WHEN UPGRADING! - Alphabetize all struct fields -- this may result in position-based struct initialization to fail if it was being used
- Switch to stripe-mock for testing (test suite now runs completely!)
- Remote Displayer interface and Display implementations
- Add
FraudDetails
toChargeParams
- Remove
FraudReport
fromChargeParams
(useFraudDetails
instead)
- Add
OnBehalfOf
to charge parameters. - Add
OnBehalfOf
to subscription parameters.
- Use bearer token authentication for API requests
- All
Del
methods now take params as second argument (which may benil
) - Product
Delete
has been renamed toDel
for consistency - Product
Delete
now returns(*Product, error)
for consistency - SKU
Delete
has been renamed toDel
for consistency - SKU
Delete
now returns(*SKU, error)
for consistency
- Add
FeeZero
to invoice andTaxPercentZero
to subscription for zeroing values
- Add "range queries" for supported parameters (e.g.
created[gte]=123
)
- Add metadata to subscription items
`Pay` on invoice now takes specific pay parameters
- Fix bank account retrieval when using a customer ID
- Support sharing path while creating a source
- Add LoginLinks to client list
plan.Del now takes `stripe.PlanParams` as a second argument
- Support for ephemeral keys
- Support for checking webhook signatures
- Fix returned type of subscription items list
- Note: I meant to release this as 22.3.1, but I'm leaving it as it was released
- Fix parameters for subscription items list
- Support subscription items when getting upcoming invoice
- Support setting subscription's quantity to zero when getting upcoming invoice
- Handle
deleted
parameter when updating subscription items in a subscription
- Change
Logger
to alog.Logger
-like interface so other loggers are usable
- Add support for login links
- Add support for new
Type
for accounts - Make
Event
Request
(renamed fromReq
) a struct with a new idempotency key - Rename
Event
UserID
toAccount
- Fix plan update so
TrialPeriod
parameter is sent
- Implement
Get
forRequestValues
- Pass extra parameters to API calls on bank account deletion
- Add
Billing
andDueDate
filters to invoice listing - Add
Billing
filter to subscription listing
- Add
DetailsCode
toIdentityVerification
- Send user agent information with
X-Stripe-Client-User-Agent
- Add
stripe.SetAppInfo
for plugin authors to register app information
- Allow coupon to be specified when creating orders
- No longer require that items have descriptions when creating orders
- Balances are now retrieved by payout instead of by transfer
- Bump API version to 2017-04-06: https://stripe.com/docs/upgrades#2017-04-06
- Add support for payouts and recipient transfers
- Change the transfer resource to support its new format
- Deprecate recipient creation
- Disputes under charges are now expandable and collapsed by default
- Rules under charge outcomes are now expandable and collapsed by default
- Please see 20.0.0 (bad release)
- Allow the ID of an identity document to be passed into an account owner update
- Add
ShippingCarrier
to dispute evidence
- Add
Period
,Plan
, andQuantity
toInvoiceItem
- Add
AdditionalOwnersEmpty
to allow additional owners to be unset
- Add new form of file upload using
io.FileReader
and filename
- Add
Token
toSourceObjectParams
- Add
CouponEmpty
(allowing a coupon to be cleared) to customer parameters - Add
CouponEmpty
(allowing a coupon to be cleared) to subscription parameters
- Add missing value "all" to subscription statuses
- Add subscription items client to main
client.API
struct
- Add
Statement
(statement descriptor) toCaptureParams
- Add new parameters for invoices and subscriptions
- Add new rich
Destination
type toChargeParams
- Support Connect account as payment source
- Add transfer group to charges and transfers
- Add
Rule
toChargeOutcome
- Add support for updating sources
- Fix subscription
trial_period_days
to be populated by the right value
- Include verification document details when persisting
LegalEntity
- Remote
SubProrationDateNow
field fromInvoiceParams
- Truncate
tax_percent
at four decimals (e.g. 3.9750%) instead of two
- Add retrieve method for 3-D Secure resources
- Add
PaymentSource
toAPI
- Allow bank accounts to be created as a customer source
- Add
TrialPeriodEnd
toSubParams
- Add
StatusTransitions
toOrder
- Add
Application
toCharge
- Add
Review
toCharge
for the charge reviews
- Add
RiskLevel
toChargeOutcome
- Support for 403 status codes (permission denied)
- Add
Status
toSubListParams
to allow filtering subscriptions by status
- Add
HasEvidence
andPastDue
toEvidenceDetails
- Add
NoDiscountable
toInvoiceItemParams
- Add
BusinessLogo
toAccount
- Add
ReceiptNumber
toCharge
- Add
DestPayment
toTransfer
- Support for Apple Pay domains
- Support for subscription items
- Correct
SourceTx
onTransfer
to be aSourceTransaction
- Change
Charge
onResource
to be expandable (now a struct instead of string)
- Support customer-related operations for bank accounts
- Fix but where some parameters were not being included on order update
- Fix bug that required a date of birth to be included on account update
- Add missing Kana and Kanji address and name fields to account's legal entity
- Add
ReceiptNumber
andStatus
toRefund
- Add support for sources endpoint
- Add order returns to
API
- Add
DeactiveOn
toProduct
- Allow expansion of destination on transfers
- Allow expansion of sources on balance transactions
- Add
OriginatingTransaction
toFee
- Allow params to be nil when retrieving a refund
- Add support for 3-D Secure
- Add
ReceiptNumber
toInvoice
- Add
Meta
toAccount
- Allow the migration of recipients to accounts
- Add
MigratedTo
toRecipient
- URL-escape the IDs of coupons and plans when making API requests
- Add
NoClosed
toInvoiceParams
to allow an invoice to be reopened
- Consider
SubParams.QuantityZero
when updating a subscription
- Upgrade API version to 2016-07-06
- Add
Returns
field toOrder
- Remove
Name
field onSKU
; it's not actually supported - Support updating
Product
onSKU
- Allow product and SKU attributes to be updated
- Add
TaxPercent
andTaxPercentZero
toCustomerParams
- Add
TokenizationMethod
toCard
struct
- Add
BalanceZero
toCustomerParams
so that balance can be zeroed out
- Add
ToValues
toRequestValues
struct
- Add
BusinessVatID
to customer creation parameters
- Fix handling of nested objects in arrays in request parameters
- Add granular error types in new
Err
field onstripe.Error
- Allow Relay orders to be returned and add associated types
- When creating a bank account token, only send routing number if it's been set
- When creating a bank account, only send routing number if it's been set
- Add missing SKU clinet to client API type
- Add
Reversed
andAmountReversed
fields toTransfer
- Allow
default_for_currency
to be set when creating a card
- Change the signature for
sub.Delete
. The customer ID is no longer required.
- Add
Currency
toCard
- Fix bug where new external accounts could not be marked default from token
- Expose a number of list types that were previously internal (full list below)
- Expose
stripe.AccountList
- Expose
stripe.TransactionList
- Expose
stripe.BitcoinReceiverList
- Expose
stripe.ChargeList
- Expose
stripe.CountrySpecList
- Expose
stripe.CouponList
- Expose
stripe.CustomerList
- Expose
stripe.DisputeList
- Expose
stripe.EventList
- Expose
stripe.FeeList
- Expose
stripe.FileUploadList
- Expose
stripe.InvoiceList
- Expose
stripe.OrderList
- Expose
stripe.ProductList
- Expose
stripe.RecipientList
- Expose
stripe.TransferList
- Switch to use of
stripe.BitcoinTransactionList
- Switch to use of
stripe.SKUList
- Add support for
TaxPercentZero
to invoice and subscription updates
- Expose
stripe.PlanList
(previously an internal type)
- Add
TaxPercentZero
struct toInvoiceParams
- Add
TaxPercentZero
toSubParams
- Add
Outcome
struct toCharge
- Add
Description
,IIN
, andIssuer
toCard
- Add
SourceType
(and associated constants) toTransfer
- Add
Meta
(metadata) toBankAccount
- Add
Meta
(metadata) toCard
- Add
DefaultCurrency
toCountrySpec
- Add
SourceTransfer
toCharge
- Add
SourceTx
toTransfer
- Add
Reject
onAccount
to support the new API feature
- Upgrade API version to 2016-03-07
- Remove
Account.BankAccounts
in favor ofExternalAccounts
- Remove
Account.Currencies
in favor ofCountrySpec
- Add
ListParams.StripeAccount
for making list calls on behalf of connected accounts - Add
Params.StripeAccount
for symmetry withListParams.StripeAccount
- Deprecate
Params.Account
in favor ofParams.StripeAccount
- Add support for fetching events for managed accounts (
event.Get
now takesParams
)
- Allow a
PII.PersonalIDNumber
number to be used to create a token
- Add missing subscription fields to
InvoiceParams
for use withinvoice.GetNext
- Add
AccountHolderName
andAccountHolderType
to bank accounts
- Add support for
CountrySpec
- Add
SSNProvided
,PersonalIDProvided
andBusinessTaxIDProvided
toLegalEntity
- Fix card update method to correctly take expiration date
- Fix recipient update so that it can take a bank token (like create)
- Add missing field
country
to shipping details ofCharge
andCustomer
- Add missing field
Default
toBankAccount
- Add
OrderParams
parameter toOrder
retrieval - Fix parameter bug when creating a new
Order
- Support special value of 'now' for trial end when updating subscriptions
- Allow an account to be referenced when creating a card
- Add
Update
function onCoupon
client so that metadata can be set
- Add a verification routine for external accounts
- Return models along with
error
when deleting resources withDel
- Fix bug where country parameter wasn't included for some account creation
- Return model (
Sub
) when cancelling a subscription (sub.Cancel
)
- Add ability to list and retrieve refunds without a Charge
- Add ability to list and retrieve disputes
- Add ability to delete an account
- Bug fixes
- Expand logging object
- Move proration date to subscription update
- Send country when creating/updating account
- Add request ID to errors
- Update bank account creation API
- Add destination, application fee, transfer to Charge struct
- Add missing fields to invoice line item
- Rename deprecated customer param value
- Add BusinessUrl, BusinessUrl, BusinessPrimaryColor, SupportEmail, and
- SupportUrl to Account.
- Change card.dynamic_last_four to card.dynamic_last4
- Rename customer.default_card -> default_source
- Add shipping address to charges
- Expose card.dynamic_last_four
- Expose account.tos_acceptance
- Bug fixes
- Bump API version to most recent one
- Bug fixes
- Add Extra to parameters
- Add TaxPercent for subscriptions
- Event bug fixes
- Add more operations for /accounts endpoint
- Add /transfers/reversals endpoint
- Add /accounts/bank_accounts endpoint
- Add support for Stripe-Account header
- Add new dispute status
warning_closed
- Add SubParams.TrialEndNow to support
trial_end = "now"
- Fix URL for upcoming invoices
- Bump to API version 2014-02-18
- Change Card, DefaultCard, Cards to Source, DefaultSource, Sources in Stripe response objects
- Add paymentsource package for manipulating Customer's sources
- Support Update action for Bitcoin Receivers
- Modify NewIdempotencyKey() algorithm to increase likelihood of randomness
- Add BankAccountParams.Token
- Add Token.ClientIP
- Add LogLevel
- Add Bitcoin support
- Added support for listing FileUploads
- Mime parameter on FileUpload has been changed to Type
- Handle charges with customer card tokens
- Add idempotency support
- Bump to API version 2014-12-17.
- Add FileUpload resource. This brings in a new endpoint (uploads.stripe.com) and thus makes changes to some of the existing interfaces.
- This also adds support for multipart content.
- Add Charge.FraudDetails
- Add timeout value to HTTP requests
- Add Dispute.EvidenceDetails
- Remove Dispute.DueDate
- Change Dispute.Evidence from string to struct
- Change List interface to .Next() and .Resource()
- Better error messages for Get() methods
- EventData.Raw contains the raw event message
- SubParams.QuantityZero can be used for free subscriptions
- Add AddMeta method
- Minor fixes
- Linter-based updates
- Initial version