- Adds channel field to transactions.
- Adds country of issuance and issuing bank
- Add verification search
- Additional card information, such as prepaid, debit, commercial, Durbin regulated, healthcare, and payroll, are returned on credit card responses
- Allows transactions to be specified as recurring
- Add prepaid attribute to credit card (possible values include Yes, No, Unknown)
- Fix warnings for Visual Studio
- Adds webhook gateways for parsing, verifying, and testing incoming notifications
- Adds search for duplicate credit cards given a payment method token
- Adds flag to fail saving credit card to vault if card is duplicate
- Changes
internal
functions toprotected internal
functions for easier unit testing
- Exposes plan_id on transactions
- Fixed Date parsing for hosts ahead of UTC (thanks to Jasmin Muharemovic)
- Added error code for invalid purchase order number
- Added error message for merchant accounts that do not support refunds
- Added ability to retrieve all Plans, Addons, and Discounts
- Added Transaction cloning
- Added SettlementBatchSummary
- Added Subscription to Transaction
- Added flag to store in vault only when a transaction is successful
- Added new error code
- Added a new transaction state, AUTHORIZATION_EXPIRED.
- Enabled searching by AuthorizationExpiredAt.
- Added NextBillingDate and TransactionId to subscription search
- Added AddressCountryName to customer search
- Added new error codes
- Added Customer search
- Added dynamic descriptors to Subscriptions and Transactions
- Added level 2 fields to Transactions:
- TaxAmount
- TaxExempt
- PurchaseOrderNumber
- Added BillingAddressId to CreditCardRequest
- Allow searching on Subscriptions that are currently in a trial period using InTrialPeriod
- Added support for non-US cultures. Decimal values are now correctly formatted for the gateway and parsed for the client.
- Added ability to perform multiple partial refunds on Transactions
- Added RevertSubscriptionOnProrationFailure flag to Subscription update that specifies how a Subscription should react to a failed proration charge
- Deprecated Transaction RefundId in favor of RefundIds
- Deprecated Subscription NextBillAmount in favor of NextBillingPeriodAmount
- Added new properties to Subscription:
- Balance
- PaidThroughDate
- NextBillingPeriodAmount
- Added AddOns/Discounts
- Enhanced Subscription search
- Enhanced Transaction search
- Made gateway operations threadsafe when using multiple configurations
- Added VerificationStatus Enumeration
- Added EXPIRED and PENDING statuses to Subscription
- Allowed ProrateCharges to be specified on Subscription update
- Added AddOn/Discount details to Transactions that were created from a Subscription
- All Braintree Exceptions now inherit from BraintreeException superclass
- Added new properties to Subscription:
- BillingDayOfMonth
- DaysPastDue
- FirstBillingDate
- NeverExpires
- NumberOfBillingCycles
- Updated the Environment class to lazily use environment variables -- this enables use when access to environment variables is restricted
- Added ability to specify Country using CountryName, CountryCodeAlpha2, CountryCodeAlpha3, or CountryCodeNumeric
- Added GatewayRejectionReason to Transaction and Verification
- Added Message to Result
- Added BuildTrData method to TransparentRedirectGateway
- Added unified TransparentRedirect url and confirm methods and deprecated old methods
- Renamed CreditCard.Default to IsDefault
- Added methods to CreditCardGateway to allow searching on expiring and expired credit cards
- Added ability to update a customer, credit card, and billing address in one request
- Allow updating the payment method token on a subscription
- Added methods to navigate between a Transaction and its refund (in both directions)
- Return AvsErrorResponseCode, AvsPostalCodeResponseCode, AvsStreetAddressResponseCode, CurrencyIsoCode, CvvResponseCode with Transaction
- Return CreatedAt, UpdatedAt with Address
- Allow verification against a specified merchant account when creating or updating a CreditCard
- Return SubscriptionId with Transaction
- Prevent race condition when pulling back collection results -- search results represent the state of the data at the time the query was run
- Rename ResourceCollection's ApproximateCount to MaximumCount because items that no longer match the query will not be returned in the result set
- Correctly handle HTTP error 426 (Upgrade Required) -- the error code is returned when your client library version is no longer compatible with the gateway
- Properly handle Transaction Options in TR Data
- Added transaction advanced search
- Added ability to partially refund transactions
- Added ability to manually retry past-due subscriptions
- Added new transaction error codes
- Allow merchant account to be specified when creating transactions
- Allow creating a transaction with a vault customer and new credit card
- Allow existing billing address to be updated when updating credit card
- Backwards incomaptible change: CreditCardRequest.BillingAddress has changed from type AddressRequest to CreditCardAddressRequest
- Updated IsSuccess() on transaction results to return false on declined transactions
- Search results now implement IEnumerable and will automatically paginate data
- Escape all XML
- Updated quick start example in README
- Added subscription search
- Return associated subscriptions when finding credit cards
- Added option to change default credit card for a customer
- Added an All method to ValidationErrors to return List of all errors at that level
- Added a DeepAll method to ValidationErrors to return List of all errors at that level and all errors below
- Renamed DeepSize() to DeepCount
- Added ProcessorAuthorizationCode to Transaction
- Allow setting MerchantAccountId when creating or updating subscriptions
- Updated ForObject to return an empty ValidationErrors object instead of null if there are no errors
- Raise down for maintenance exception instead of forged query string when down for maintenance
- Fixed bug in TotalPages if there are zero total items