- #1366 Add
TrialPeriodDays
toPlanUpdateOptions
- #1332 Add support for the
Person
resource - #1342 Add support for the
WebhookEndpoint
resource - #1364 Add support for
unit_label
on Product creation andactive
on Plan creation
- #1353 Fix encoder to handle null values in dictionaries
- #1355 Fix handling of
Expand*
properties in list requests - #1356 Add
AuthorizationControls
toIssuing.CardCreateOptions
andIssuing.CardUpdateOptions
- #1358 Ignore culture when encoding parameters
- #1347 Add
IHasMetadata
interface to all resource classes that support metadata - #1348 Add
CardId
andBankAccountId
toTokenCreateOptions
Major version release. Refer to our migration guide for v20 for a list of backwards incompatible changes to watch out for.
Pull requests included in this release (cf. #1293):
- #1275 Properly re-architecture the library to handle various source abstractions
- #1276 Rewrite parameter encoding logic
- #1282 Rename
SourceTransactionCanceled
constant toSourceTransactionCreated
, addSourceTransactionUpdated
constant - #1283 Handle
DateTime
s directly in the encoder - #1284 Remove
StripeDeleted
class, addDeleted
property to deletable resource classes - #1285 Rename
image
property toImage
inStripeSku
andStripeSkuSharedOptions
classes - #1252 Remove the
Stripe
prefix from all classes - #1286 Rename
ScheduledQuery*
toScheduledQueryRun*
, moveScheduledQueryRun
classes inStripe.Sigma
namespace - #1287 Standardize method signatures in
InvoiceService
andRefundService
- #1288 Standardize method signatures in
FileUploadService
- #1291 Move balance transaction methods out of
BalanceService
and into newBalanceTransactionService
class - #1269 Add interfaces to all services for standard CRUD methods
- #1298 Make all value types in options classes nullable
- #1302 Upgrade to API version 2018-09-24
- #1301 Update all options classes to match the API's nesting structure
- #1303 Rename
LiveMode
property toLivemode
everywhere - #1304 Sanitize source files
- #1306 Remove +x flag from source files
- #1305 Use
BasicService
as the parent class for all services - #1307 Sort service methods alphabetically
- #1310 Verify requests in tests
- #1308 Standardize request method implementations in services
- #1309 Group resource class files in folders
- #1312 Group test files in folders to match main project's structure
- #1311 Add missing properties on resource and options class, rename a few properties
- #1315 Add
InvoiceItem
class, distinct fromInvoiceLineItem
- #1316 Automatically convert Unix timestamps to
DateTime
s - #1318 Create coverage report and upload to coveralls.io
- #1319 Fix artifacts path in
appveyor.yml
- #1317 Revamp interfaces on Stripe resource classes
- #1320 Replace
ExternalAccount
andPaymentSource
classes byIExternalAccount
andIPaymentSource
interfaces - #1321 Replace
BalanceTransactionSource
class byIBalanceTransactionSource
interface - #1322 Use
IHasObject
interface instead ofdynamic
fordata.object
attribute of event objects - #1323 Fix remaining warnings in .NET Framework specific code
- #1328 Add some missing tests
- #1329 Use an interface for
PaymentIntentSourceAction
- #1331 Use
long
instead ofint
for all integer numeric types - #1340 Change the signature of request methods on
UsageRecordService
to accept a subscription item ID - #1337 Rename
SourceTokenOrExistingSourceId
toSourceId
inChargeCreationOptions
class - #1345 Add
ChargeExpired
constant
- #1327 Add
TransferGroup
toStripeChargeUpdateOptions
- #1297 Add .NET Standard 2.0 target
- #1300 Make internals visible to Newtonsoft.Json
- #1296 Add
Description
onStripeTransfer
,StripeTransferCreateOptions
andStripeTransferUpdateOptions
- #1222 Add support for Payment Intent resource.
- #1290 Add
AccountToken
toStripeAccountCreateOptions
andStripeAccountUpdateOptions
- #1273 Add
ExchangeRate
toStripeBalanceTransaction
- #1270 Add
StatusTransitions
toStripeOrderListOptions
- #1272 Add support for reporting resources
- #1268 Add
Mandate
andReceiver
toStripeSourceCreateOptions
- #1266 Fix type of
PercentOff
onStripeCoupon
(this is technically breaking, but the previous implementation didn't work, so we're releasing as a minor)
- #1262 Add
AuthorizationCode
toStripeCharge
- Fix 19.0.0 release. The version that was pushed to NuGet did not include the changes from 19.0.0.
- #1259 Upgrade to API version 2018-08-23
List of backwards incompatible changes:
BusinessVatId
onStripeCustomer
/StripeCustomerCreateOptions
/StripeCustomerUpdateOptions
is replaced withTaxInfo
Amount
onStripePlanTier
/StripePlanTierOptions
is replaced withUnitAmount
PercentOff
onStripeCouponCreateOptions
is now adecimal
(used to be anint
)- Request methods on
StripeSubscriptionService
no longer accept astring customerId
argument. Instead, the customer ID should be provided in the appropriate options class (StripeSubscriptionCreateOptions
, etc.) StripeSubscriptionService.Cancel
&CancelAsync
no longer accept abool cancelAtPeriodEnd
argument. If you want to delete a subscription at the end of the period, you can update the subscription withCancelAtPeriodEnd
StripeProduct
no longer has aSkus
property
- #1257 Add support for passing options to
StripeInvoiceService.Pay
/PayAsync
- #1255 Make
StripeInvoiceItemCreateOptions.Amount
optional
- #1251 Add support for usage record summaries
- #1250 Add
UnitLabel
toStripeProduct
and fix deserialization ofBillingReason
onStripeInvoice
- #1242 Add
Created
toStripeAccount
- #1239 Add
RiskScore
toStripeOutcome
- #1237 Add support for Stripe Issuing
- #1165 Add support for expanding
Source
onStripeBalanceTransaction
- #1232 Fix some code style issues reported by StyleCop.Analyzers. This should have no functional impact on the library.
- #1234 Add
Customer
toStripeSourceCreateOptions
- #1233 Add
OriginalSource
toStripeSourceCreateOptions
- #1228 Add
AutoAdvance
toStripeInvoice
- #1210 Fix
CustomerSourcedDeleted
typo toCustomerSourceDeleted
, addCustomerSourceExpiring
- #1214 Add
InvoiceItems
andSubscriptionBillingCycleAnchor
toStripeUpcomingInvoiceOptions
- #1224 Change webhook signature verification to allow for future timestamps (within the tolerance)
- #1218 Generic plugin for encoding lists
- #1223 Add missing properties to invoice item objects and creation/update requests
- #1221 Add support for expanding
Outcome.Rule
onStripeCharge
- #1216 Add support for Level 3 Data on charge creation
- #1219 Add
Name
toStripeCouponUpdateOptions
- #1213 Add
AggregateUsage
toStripePlanCreateOptions
- #1207 Add
AmountRemaining
andBillingReason
toStripeInvoice
- #1208 Fix namespace of
StripeListOptionsWithCreated
- #1211 Add
Name
toStripeCoupon
andStripeCouponCreateOptions
- #1205 Add
Action
toStripeUsageRecordCreateOptions
- #1201 Add support for
document_back
on account objects and creation/update requests
- #1203 Add
ProductId
toStripePlanUpdateOptions
- #1200 Add
Active
to plan parameter and response classes
- #1199 Add
HostedInvoiceUrl
andInvoicePdf
to invoices
- #1198 Add
Subscription
toStripeSubscriptionItem
- #1195 Add
Email
toStripeCustomerListOptions
(for real this time)
- #1191 Move
BankAccountOptions
to theStripe
namespace- This change is technically breaking, but it won't break most code because it's like to already have a
using Stripe
in the same file, so we've released it as a minor release
- This change is technically breaking, but it won't break most code because it's like to already have a
- #1182 Add support
SubscriptionTaxPercent
andSubscriptionTrialFromPlan
parameters for fetching upcoming invoices
- #1176 Properly handle bank account token deserialization
- #1174 Add support for Sigma scheduled queries
- #1172 Add support for
invoice_prefix
attribute on customer objects and creation/update requests
- #1163 Fix encoding of
BillingCycleAnchor
property inStripeSubscriptionCreateOptions
- #1160 Add internal properties to
StripeCard
- #1159 Add
AmountPaid
property toStripeInvoice
andTrialFromPlan
property toSubscriptionSharedOptions
- #1146 Fix
BillingCycleAnchor
inStripeSubscriptionCreateOptions
to only accept timestamps - #1157 Add
Email
toStripeCustomerListOptions
- #1154 Add
SepaDebitIdealSourceId
property toStripeSourceCreateOptions
(for creating SEPA Direct Debit sources from iDEAL sources)
- #1152 Fix an issue where user-settable IDs would not be URL-encoded
- #1151 Fix an issue when running the library with .NET Framework 4.5+ in non-Windows environments
- #1150 Flexible/Metered Billing API support
- #1147 Fix
CancelAtPeriodEnd
parameter inStripeSubscriptionUpdateOptions
- #1145 Use
ConfigureAwait(false)
for all async invocations
- #1144 Modify
StripeDateTimeConverter
so that it writes timestamps as standard epochs instead of in Microsoft's customDate
format
- #1139 Add support for expanding more attributes and change
Charge.Outcome
to be auto-expanded - #1140 Add support for arbitrary attribute expansion
- #1143 Fix
Metadata
encoding onStripeSubscriptionItem
- #1138 Add support for
redirect_url
in login link creation requests
- #1135 Add support for
Created
andProductId
parameters in plan listing requests
- #1128 Add support for custom URL bases
- #1126 Revert Newtonsoft.Json dependency back to 9.0.1
- #1117 Add
ISupportMetadata
interface to all Stripe entities that support metadata - #1119 Add
FailureReason
property toStripeRedirect
- #1123 Upgrade Newtonsoft.Json dependency to 11.0.1
- #1105 Add parameterless constructors to all services
- #1107 Minor webhook signing improvements
- #1103 Add support for expanding
product
on plan objects
- #1097 Add support for deserializing
source_mandate_notification
objects - #1099 Upgrade API version to 2018-02-06 and add support for Product & Plan API
- #1096 Add support for
StripeSource
class inSource
wrapper
- #967 Remove the
TotalCount
property of list objects - #1072 Add support for managing external accounts
- #1080 Fix card listing
- #1083 Add specialized
ListOptions
classes for all API resources - #1084 Fix
single_use
string constant - #1086 Fix
fulfiled
attribute - #1089 Use top-level
statement_descriptor
attribute on source objects - #1091 Fix synchronous
login_link
creation - #1093 Upgrade to API version 2017-12-14
- #1069 Allow setting
three_d_secure[customer]
when creating 3DS sources - #1071 Add support for account debits
- #1074 Add support for expanding
application
on charge objects - #1077 Fix parameters being sent twice when creating subscriptions
- #1064 Support for listing sources on customers
- #1054 Fix file uploading when the extension is not known
- #1055 Fix
DueDate
encoding forStripeInvoiceCreateOptions
- #1060 Fix invoice listing
- #1056 Add
Automatic
forStripePayout
- #1057 Support for passing extra parameters
- #1058 Add
Paid
forStripeInvoiceListOptions
- #1050 Make exchange rate APIs singular (released as patch because these APIs are brand new and because 11.7.0 never made it to Nuget anyway)
- #1047 Support for listing source transactions
- #1049 Support for listing and retrieving exchange rates
- #1044 Improvements to parameter encoding
- Main user-facing fix is that dictionary keys are now URL-encoded correctly (in case they contained characters incompatible with URLs)
- #1035 Signature fixes for webhook signature verification
- Explicitly dispose of
HMACSHA256
after use so that its buffer cannot be inadvertently leaked - Use
SafeUTF8.GetBytes
so that unrecognized codepoints are not silently replaced with "?"
- Explicitly dispose of
- #1040 Add a few field definitions that were missing from API resources
- #1034 Add
Customer
toStripeBankAccount
- #1031 Support for manual subscription payments
- #1028 Support for attaching/detaching sources to/from customers
- #1029 Correctly encode custom coupon and plan IDs in API URLs
- #986 Add support for shipping on customer create and update
- #997 Add support for the Ephmeral Key API resource
- #1002 Add access for
StripeResponse
onStripeException
- #1005 Add support for updating card source expiration date
- #1008 Use bearer authorization everywhere and by default
- #1021 Add
PreferredLanguage
for Bancontact sources
- #1007 Add support for Apple Pay Domain resource
- #1018 Add event constants
ChargeRefundUpdated
andInvoiceUpcoming
- #1019 Add
StripeChargeCaptureOptions
and use it for charge capture - #1022 Add support for SKUs
- #1025 Add
Discountable
forStripeInvoiceLineItem
Note that this changelog is relatively new and we haven't yet backfilled it. For details on old releases, check out the releases page: