- #674 Refactor requestDataProcessor for File out into its own file
- #673 Add request start and end time to request and response events
- #665 Remove
lodash.isplainobject
.
- #671 Include a prefix in generated idempotency keys and remove uuid dependency.
- #667 Refactor request headers, allowing any header to be overridden.
- #664 Expose and use
once
- #662 Remove
safe-buffer
dependency - #666 Bump lodash from 4.17.11 to 4.17.15
- #668 Move Balance History to /v1/balance_transactions
- #660 Interpret any string in args as API Key instead of a regex
⚠️ Careful: passing strings which are not API Keys as as the final argument to a request previously would have ignored those strings, and would now result in the request failing with an authentication error.⚠️ Careful: The private apiutils.isAuthKey
was removed.
- #658 Update README retry code sample to use two retries
- #653 Reorder customer methods
- #652 Add support for the
SetupIntent
resource and APIs
- #649 Enable request latency telemetry by default
- #608 Add support for
CustomerBalanceTransaction
resource and APIs
- #632 Add support for
radar.early_fraud_warning
resource
- #631 Make autopagination functions work for
listLineItems
andlistUpcomingLineItems
Major version release. The migration guide contains a detailed list of backwards-incompatible changes with upgrade instructions.
Pull requests included in this release (cf. #606) (
⚠️ Drop support for Node 4, 5 and 7 (#606)- Prettier formatting (#604)
- Alphabetize “basic” methods (#610)
- Use
id
for single positional arguments (#611) - Modernize ES5 to ES6 with lebab (#607)
⚠️ Remove deprecated methods (#613)- Add VSCode and EditorConfig files (#620)
⚠️ Drop support for Node 9 and bump dependencies to latest versions (#614)- Misc. manual formatting (#623)
⚠️ Remove legacy parameter support ininvoices.retrieveUpcoming()
(#621)⚠️ Remove curried urlData and manually specified urlParams (#625)- Extract resources file (#626)
- #622 Add support for the
Capability
resource and APIs
- #627 Add
listLineItems
andlistUpcomingLineItems
methods toInvoice
- #619 Move
generateTestHeaderString
to stripe.webhooks (fixes a bug in 6.33.0)
Important: This version is non-functional and has been yanked in favor of 6.32.0.
- #609 Add
generateWebhookHeaderString
to make it easier to mock webhook events
- #612 Add
balanceTransactions
resource
- #602 Handle errors from the oauth/token endpoint
- #600 Fix encoding of nested parameters in multipart requests
- #588 Add support for the
TaxRate
resource and APIs
- #589 Add support for the
TaxId
resource and APIs - #593
retrieveUpcoming
onInvoice
can now take one hash as parameter instead of requiring a customer id.
- #585 Add support for the
CreditNote
resource and APIs
- #570 Add support for the
PaymentMethod
resource and APIs - #578 Add support for retrieving a Checkout
Session
- #581 Add support for deleting Terminal
Location
andReader
- #580 Fix support for HTTPS proxies
- #574 Encode
Date
s as Unix timestamps
- #565 Always encode arrays as integer-indexed hashes
- #559 Add
stripe.setMaxNetworkRetries(n)
for automatic network retries
- #562 Add support for
SubscriptionSchedule
andSubscriptionScheduleRevision
- #560 Enable persistent connections by default
- #557 Add configurable telemetry to gather information on client-side request latency
- #555 Add support for OAuth methods
- #551 Rename
CheckoutSession
toSession
and move it under thecheckout
namespace. This is a breaking change, but we've reached out to affected merchants and all new merchants would use the new approach.
- #552 Fix
Buffer
deprecation warnings
- #539 Add support for the
CheckoutSession
resource
- #535 Add support for account links
- #534 Fix iterating on
files.list
method
- #530 Export errors on root Stripe object
- #527 Add support for the
Review
APIs
- #515 Add support for
ValueLists
andValueListItems
for Radar
- #526 Fixes an accidental mutation of input in rare cases
- #523 Handle
Buffer
instances inWebhook.constructEvent
- #474 Add support for
partner_id
insetAppInfo
- #509 Add support for new
Invoice
methods
- #502 Fix test suite
- #498 Add support for Stripe Terminal
- #500 Rename
FileUploads
toFiles
. For backwards compatibility,Files
is aliased toFileUploads
.FileUploads
is deprecated and will be removed from the next major version.
- #496 Add auto-pagination
- #491 Add support for usage record summaries
- #493 Add support for reporting resources
- #488 Remove support for
BitcoinReceivers
write-actions
- #485 Add support for
cancel
on topups
- #483 Add support for file links
- #482 Add support for Sigma scheduled query runs
- #481 Add support for Stripe Issuing
- #471 Add support for streams in file uploads
- #475 Fixes array encoding of subscription items for the upcoming invoices endpoint.
- #473 Add support for payment intents
- #469 Add
.npmignore
to create a lighter package (minus examples and tests)
- #465 Warn when unknown options are passed to functions
- #453 Re-implement usage record's
create
so that it correctly passes all arguments (this is a very minor breaking change)
- #459 Export error types on
stripe.errors
so that errors can be matched withinstanceof
instead of comparing the strings generated bytype
- #456 Add support for issuer fraud records
- #444 Introduce flexible billing primitives for subscriptions
- #441 Write directly to a connection that's known to be still open
- #437 Fix error message when passing invalid parameters to some API methods
- #439 Drop Bluebird dependency and use native ES6 promises
- #425 Add support for topups
- #412 Add
StripeIdempotencyError
type for new kind of stripe error
- #405 Support for exchange rates APIs
- #404 Support for listing source transactions
- #394 Fix improper warning for requests that have options but no parameters
- Add check for when options are accidentally included in an arguments object
- Use safe-buffer package instead of building our own code
- Remove dependency on object-assign package
- Bump required versions of bluebird and qs
- Drop support for Node 0.x (minimum required version is now >= 4)
- Switch to Bearer token authentication on API requests
- Specify UTF-8 encoding when verifying HMAC-SHA256 payloads
- Support informational events with
Stripe.on
(see README for details)
- Handle
Buffer.from
incompatibility for Node versions prior to 4.5.x
- Properly encode subscription items when retrieving upcoming invoice
- Add support for ephemeral keys
- Fix usage of hasOwnProperty in utils
- Make response headers accessible on error objects
- Add support for account login links
- Add
stripe.setAppInfo
for plugin authors to register app information
- Tweak class initialization for compatibility with divergent JS engines
- Support for checking webhook signatures
- Reject ID parameters that don't look like strings
- Fix paths in error messages on bad arguments
- Add support for payouts
- Fix bad reference to
requestId
when initializing errors
- Make
requestId
available on resourcelastResponse
objects
- Update required version of "qs" dependency to 6.0.4+
- Add support for updating sources
- Add support for verifying sources
- Add retrieve method for 3-D Secure resources
- Support for 403 status codes (permission denied)
- Add support for Apple Pay domains
- Refactor deprecated uses of Bluebird's
Promise.defer
- URI-encode unames for Stripe user agents so we don't fail on special characters
- Add
Source
model for generic payment sources support (experimental)
- Add
ThreeDSecure
model for 3-D secure payments
- Add support for returning Relay orders
- Add
update
,create
,retrieve
,list
anddel
methods tostripe.subscriptions
- Add
reject
onAccount
to support the new API feature
- Add
CountrySpec
model for looking up country payment information
- Add support for deleting Relay SKUs and products
- Add
lastResponse
property onStripeResource
objects - Return usage errors of
stripeMethod
through callback instead of raising - Use latest year for expiry years in tests to avoid new year problems
- Add a verification routine for external accounts
- Remove ability for API keys to be passed as 1st param to acct.retrieve
- Rename StripeInvalidRequest to StripeInvalidRequestError
- Add Relay resources: Products, SKUs, and Orders
- Added rate limiting responses
- Added refund object with listing, retrieval, updating, and creation.
- Added managed account deletion
- Added dispute listing and retrieval
- Added request IDs to all Stripe errors
- [BUGFIX] Fixed issue with uploading binary files (Gabriel Chagas Marques)
- [BUGFIX] Fixed issue with passing arrays of objects
- Added support for optional parameters when retrieving an upcoming invoice (Matthew Arkin)
- Added support for bank accounts and debit cards in managed accounts
- Remove SSL revocation tests and check
- [BUGFIX] Fix support for both stripe.account and stripe.accounts
- Support transfer reversals.
- [BUGFIX] Fix passing in only a callback to the Account resource. (Matthew Arkin)
- Support BitcoinReceiver update & delete actions
- Add methods for manipulating customer sources as per 2015-02-18 API version
- The Account resource will now take an account ID. However, legacy use of the resource (without an account ID) will still work.
- [BUGFIX] Fix incorrect failing tests for headers support
- Update all dependencies (remove mocha-as-promised)
- Switch to bluebird for promises
- Support making bitcoin charges through BitcoinReceiver source object
- Adding file uploads as a resource.
- [BUGFIX] Fix issue where multiple expand params were not getting passed through (#130)
- (Version skipped due to npm mishap)
- [BUGFIX] Fix
stringifyRequestData
to deal with nested objs correctly - Bump MAJOR as we're no longer supporting Node 0.8
- Allow setting of HTTP agent (proxy) (issue #124)
- Add stack traces to all Stripe Errors
- Make application fee refunds a list instead of array
- [BUGFIX] Fix lack of subscription param in
invoices#retrieveUpcoming
method - Add support for an
optional!
annotation onurlParams
- Add metadata to disputes and refunds
- Support cards for recipients.
- Allow the
update
method on coupons for metadata changes
- [BUGFIX] Fix when.js version string in package.json to support older npm versions
- [BUGFIX] Fix revoked-ssl check
- Upgrade when.js to 3.1.0
- Ensure we prevent requests using revoked SSL certs
- Add better checks for incorrect arguments (throw exceptions accordingly).
- Validate the Connect Auth key, if passed
- [BUGFIX] Fix URL encoding issue (not encoding interpolated URL params, see issue #93)
- Add more debug information to the case of a failed
JSON.parse()
- Add binding for
transfers/{tr_id}/transactions
endpoint
- Ensure raw error object is accessible on the generated StripeError
- Support multiple subscriptions per customer
- [BUGFIX] Fix #76, pass latest as version to api & fix constructor arg signature
- Document cancelSubscription method params and add specs for
at_period_end
- Add application fees API
- [BUGFIX] Fix incorrect deleteDiscount method & related spec(s)
- [BUGFIX] Fix user-agent header issue (see issue #75)
- Add support for setTimeout
- Add specs for invoice-item listing/querying via timestamp
- Support single key/value setting on setMetadata method
- [BUGFIX] Fix Windows url-path issue
- Add missing stripe.charges.update method
- Support setting auth_token per request (useful in Connect)
- Remove global 'resources' variable
- API overhaul and refactor, including addition of promises.
- Release of version 2.0.0
- Requests return Javascript Errors (Guillaume Flandre)
- Added events API (Jonathan Hollinger)
- Added plans update API (Pavan Kumar Sunkara)
- Various test fixes, node 0.8.x tweaks (Jan Lehnardt)
- Add Coupons API (Ryan)
- Pass a more robust error object to the callback (Ryan)
- Fix duplicate callbacks from some functions when called incorrectly (bug #24, reported by Kishore Nallan)
- Add APIs and tests for Plans and "Invoice Items" (both changes by Ryan Ettipio)
- Add Subscription API (John Ku, #3)
- Add Invoices API (Chris Winn, #6)
- [BUGFIX] Fix a bug where callback could be called twice, if the callback() threw an error itself (Peteris Krumins)
- [BUGFIX] Fix bug in tokens.retrieve API (Xavi)
- Change documentation links (Stripe changed their URL structure)
- Make tests pass again (error in callback is null instead of 0 if all is well)
- Amount in stripe.charges.refund is optional (Branko Vukelic)
- Various documentation fixes (Xavi)
- Only require node 0.4.0
- Add Charges API (issue #1, brackishlake)
- Add customers.list API
- Initial release with customers and tokens APIs