Releases: stripe/stripe-dotnet
Releases · stripe/stripe-dotnet
Destination on TransferListOptions
This release adds destination on the StripeTransferListOptions.
Merry Christmas @reddyBell! I called this property DestinationAccountId, which I found a bit more intuitive since it only lets you pass account id's.
Source is Everywhere
- Added BusinessVatId to StripeCustomer
- Added Shipping to StripeCustomer and StripeCharge
- Added Transfer to StripeCharge
BREAKING CHANGES
- StripeCustomer.SourceList was renamed to Sources. This is a list of type
Source
which has a bank account or a card. To upgrade:,customer.SourceList.Data.First().Name
->customer.Sources.Data.First().Card.Name
- StripeCustomer.DefaultSource is now of type
Source
. It was previously aStripeCard
. To upgrade, replace any instance ofstripeCustomer.SourceCard
tostripeCustomer.Source.Card
- StripeCustomer.SourceList was renamed to Sources
- StripeCustomer.SubscriptionList was renamed to Subscriptions
- StripeCustomer.Sources is now a list of type Source, instead of StripeCard only. To upgrade,
stripeCustomer.SourceList.First().Data
tostripeCustomer.Sources.First().Card.Data
- StripeCharge.StripeRefundList was renamed to Refunds
- StripeAccount.ExternalAccounts now contains a list of type Source, instead of ExternalCards and ExternalBankAccounts. To upgrade, replace any instances using ExternalAccounts to something like
ExternalAccounts.Data.First().BankAccount
orExternalAccounts.Data.First().Card
- Removed the methods in the StripeRefundService that required a chargeId (can still be passed on the options)
- Removed the methods in the StripeDisputeService that required a chargeId (can still be passed on the options)
- StripeSourceOptions has been removed
- Name was removed from StripeBankAccount and StripeAccountBankAccountOptions - use AccountHolderName instead
- Removed BankAccountValidated and BankAccountVerified from StripeToken
- Removed ReceiptEmail from SourceCard
Incorrect Field Types on Account
Small breaking change in this release.
- The Birthday types for day/month/year should be int?, not string on StripeAccountLegalEntityOptions
Additional Owners
- AdditionalOwners are now available when creating/editing accounts
- SourceType is now included on StripeTransferCreateOptions
This release contains a few internal changes. The if/else architecture was moved to a set of plugins that parse the parameters, and xUnit was introduced for testing going forward. The goal is to write tests that also serve as easy to read tutorials!
.NET Core
This should not be a breaking release for any platform. It's being bumped to mark the support of .net core.
- Stripe.net is now a .net core app and supports netcoreapp1.0
- Verified support for .net core, .netstandard 1.2, and .net 4.5
Upcoming Invoice Line Items
- The StripeInvoiceService now allows you to
ListUpcomingLineItems
in addition to just showing theUpcoming
invoice.
Radar
StripeResponse and 3D Secure
- StripeResponse is a property now attached to all entities when they are returned from service calls (provides the RequestId, RequestDateTime, ResponseJson, and ObjectJson) #661
- 3D Secure has been added (beta only). #651, #656
- Added section on deleting metadata entries to the readme. tl;dr - you can delete existing metadata entries by passing an empty string or null for the key's value. #637, #642, #643
- The StripeAccount can now be serialized, however, I would recommend using StripeResponse #635
Discount and Application Fee Refund Services
- Added the ApplicationFeeRefundService (still needs documentation)
- Added the StripeDiscountService, allowing you to delete a discount from a customer or subscrption (extends the new StripeBasicService with a Delete feature)
- Added the ApplicationFee (expandable property) to StripeCharge
- Added TransferStatementDescriptor when creating/updating an account
- Added Metadata and DefaultForCurrency options when creating a card
- The NuSpec file was updated to show a valid icon (the previous one evaporated)
StripeDisputeService
- The StripeDisputeService has been overhauled to no longer require the Charge Id.
- A lot of internal Stripe.net plumbing has changed (just for the dispute service for now), which will make it much easier to implement new Services (one-liners!).