- Add support for managing Apple Pay domains (thanks @ethier #117)
- Fix error when running against Python 3.8 (thanks @felixonmars #114)
- Add
ProcessorDoesNotSupportMotoForCardType
to validation errors - Add Graphql ID to
CreditCardVerification
,Customer
,Dispute
, andTransaction
- Set correct version for PyPi
- Forward
processor_comments
toforwarded_comments
- Add Venmo 'TokenIssuance' gateway rejection reason
- Add
AmountNotSupportedByProcessor
to validation error
- Add PayPalHere details
- Add
networkResponseCode
andnetworkResponseText
to transactions and verifications - Add
cavv
,xid
,ds_transaction_id
,eci_flag
, andthree_d_secure_version
, tothree_d_secure_info
- Add
three_d_secure_info
to credit_card_verification - Add
GraphQLClient
toBraintreeGateway
class
- Add
captureId
field to local_payment_details - Add
refundId
field to local_payment_details - Add
debugId
field to local_payment_details - Add
transactionFeeAmount
field to local_payment_details - Add
transactionFeeCurrencyIsoCode
field to local_payment_details - Add
refundFromTransactionFeeAmount
field to local_payment_details - Add
refundFromTransactionFeeCurrencyIsoCode
field to local_payment_details - Add
ds_transaction_id
andthree_d_secure_version
to 3DS pass thru fields - Add
payer_info
field to payment_method_nonce details - Add more specific timeout errors: (#105 thanks @bhargavrpatel)
- Add
braintree.exceptions.http.timeout_error.ConnectTimeoutError
(child class of TimeoutError) - Add
braintree.exceptions.http.timeout_error.ReadTimeoutError
(child class of TimeoutError) - Add
room_tax
support for transaction sale - Add
no_show
support for transaction sale - Add
advanced_deposit
support for transaction sale - Add
fire_safe
support for transaction sale - Add
property_phone
support for transaction sale - Add
additional_charges
support for transaction sale - Add
PostalCodeIsRequiredForCardBrandAndProcessor
to validation errors - Fix issue where not found error could choke on
None
values (#109)
- Add
payment_method_nonce
field toLocalPaymentCompleted
webhook - Add
transaction
field toLocalPaymentCompleted
webhook - Add
LocalPaymentDetails
to transactions
- Add
refund_from_transaction_fee_amount
field to paypal_details - Add
refund_from_transaction_fee_currency_iso_code
field to paypal_details - Add
revoked_at
field to paypal_account - Add support for
PaymentMethodRevokedByCustomer
webhook
- Deprecate
GrantedPaymentInstrumentUpdate
and addGrantorUpdatedGrantedPaymentMethod
andRecipientUpdatedGrantedPaymentMethod
- Add account_type support for transaction sale, verification, and payment_method create/update
- Add Hiper card type support
- Add Hipercard card type support
- Add
bin
toPaymentMethodNonceDetails
- Clarify support for Python versions 3.6.x and 3.7.x
- Add Error indicating pdf uploads too long for dispute evidence.
- Add
GrantedPaymentMethodRevoked
webhook response objects
- Add
fraud_service_provider
field torisk_data
- Add
authorization_expires_at
toTransaction
- Remove invalid transaction tests
- Allow PayPal payment ID and payer ID to be passed during transaction create
- Add
travel_flight
support to industry-specific data - Add
processor_response_type
toTransaction
,AuthorizationAdjustment
, andCreditCardVerification
.
- Add new field
network_transaction_id
in transaction response. - Add
external_vault
option to transaction sale. - Add
LocalPaymentCompleted
webhook. - Add
processor_response_type
toTransaction
,AuthorizationAdjustment
, andCreditCardVerification
.
- Add ID to Transaction in SubscriptionChargedSuccessfully test webhook (#99, thanks @bjackson)
- Fix dispute results in transactions not showing the correct status sometimes
- Add Elo card type support
- Add processor respone code and processor response text to authorization adjustments subfield in transaction response.
- Add support for Samsung Pay
- Allow payee ID to be passed in options params for transaction create
- Add
merchant_id
alias to ConnectedMerchantStatusTransitioned and ConnectedMerchantPayPalStatusChanged Auth webhooks
- Add support for US Bank Account verifications API
- Add Dispute error ValidEvidenceRequiredToFinalize
- Add
oauth_access_revocation
toWebhookNotification
s - Add support for
customer_id
,disbursement_date
andhistory_event_effective_date
in DisputeSearch - Remove
sepa_mandate_type
andsepa_mandate_acceptance_location
params fromClientToken
- Add support for VCR compelling evidence dispute representment
- Add support for
association_filter_id
inCustomer#find
- Deprecated
LineItem/DiscountAmountMustBeGreaterThanZero
error in favor ofDiscountAmountCannotBeNegative
- Deprecated
LineItem/UnitTaxAmountMustBeGreaterThanZero
error in favor ofUnitTaxAmountCannotBeNegative
- Add support for
tax_amount
field on transactionline_items
- Add support for
source_merchant_id
on webhooks - Add
find_all
static method toTransactionLineItem
class - Add support for
profile_id
in Transaction#create options for VenmoAccounts
- Add level 3 fields to Transactions:
- discount_amount
- shipping_amount
- ships_from_postal_code
- Add support for transaction line items
- Add support for tagged evidence in DisputeGateway#add_text_evidence (Beta release)
- Update https certificate bundle
- Fix spec to expect PayPal transactions to move to settling rather than settled
- Fix AchMandate.acceptedAt attribute parsing
- Fix regression for
http_strategy.http_do
- Add support for upgrading a PayPal future payment refresh token to a billing agreement
- Fix braintree.Dispute.search to take a list of search criteria
- Add logic to remove deprecation warnings for encodestring and decodestring when used with python 3 (#92)
- Fix spec to expect PayPal transaction to settle immediately after successful capture
- Add GrantedPaymentInstrumentUpdate webhook support
- Add ability to create a transaction from a shared nonce
- Add
options
->paypal
->shipping
for creating & updating customers as well as creating payment methods - Do not convert to Decimal if amount is None in AuthorizationAdjustement (#70)
- Add
device_data_captured
field torisk_data
- Add
bin_data
topayment_method_nonce
- Add iDEAL webhook support
- Add AuthorizationAdjustment class and
authorization_adjustments
to Transaction - Coinbase is no longer a supported payment method.
PaymentMethodNoLongerSupported
will be returned for Coinbase operations - Add facilitated details to Transaction if present
- Add
submit_for_settlement
option toSubscription.retry_charge
- Add
options
->paypal
->description
for creating and updating subscriptions - Add Braintree.Dispute.find
- Add braintree.Dispute.accept
- Add braintree.Dispute.add_file_evidence
- Add braintree.Dispute.add_text_evidence
- Add braintree.Dispute.finalize
- Add braintree.Dispute.find
- Add braintree.Dispute.remove_evidence
- Add braintree.Dispute.search
- Add braintree.DocumentUpload
- Fix a bug where a null value for
amount
inCreditCardVerification
would result in aValueError
- Add docstrings for AttributeGetter and Search. Thanks @sharma7n!
- Add support for additional PayPal options when vaulting a PayPal Order
- Add gzip support
- Fix a bug in CreditCardVerification where
amount
andcurrency_iso_code
were always expected
- Fix a regression where
util/datetime_parser.py
was missing - Add support for Visa Checkout
- Improve setup.py
- Verification response includes amount and currency iso code
- Add support for payee_email with paypal intent=order
- Add support for skip_avs & skip_cvs
- Add ConnectedMerchantStatusTransitioned and ConnectedMerchantPayPalStatusChanged Auth webhooks
- Add LICENSE metadata. Thanks graingert.
- Allow custom verification amount on payment method updates.
- Fix a bug where
merchant_account.all
would attempt to fetch too many pages of merchant accounts
- Stop sending account_description field from us bank accounts
- Add functionality to list all merchant accounts for a merchant with
merchant_account.all
- Add option
skip_advanced_fraud_check
for transaction flows
- Update UsBank tests to use legal routing numbers
- Allow setting a custom verification amount in
PaymentMethod
options - Allow setting processor specific fields for transactions and verifications
- Fix
UsBankAccount
support forCustomer
s - Added handling for unicode parameters. (Thanks @mgalgs)
- Raise
ConfigurationError
for empty string credentials - Update
Grant
api to support options dictionary
- Add 'UsBankAccount' payment method
- Update links in docstrings
- Remove Python 3.x-incompatible branch check
- Remove references to SubMerchantAccount API
- Improve error handling around server timeouts
- Allow 'default_payment_method' option in Customer
- Allow 'transaction_source' option in Transaction Sale
- Expose resource collection ids
- Add order id to refund
- Enable 3DS pass thru
- Add method of revoking OAuth access tokens
- Correct issue with setup.py
- Add Transaction
update_details
- Support for Too Many Requests response codes
- Add SubMerchantAccount object with associate objects
- Allow more parameters to be sent on SubMerchantAccount create
- Add SubMerchantAccount update
- Handle validation errors for SubMerchantAccount create / update
- Add AccountUpdaterDailyReport webhook parsing
- Add Verification#create
- Add options to
submit_for_settlement
transaction flows - Update https certificate bundle
- Support environment settings with strings
- Add better defaults to client token generation when using an access token by consolidating client token defaults into ClientTokenGateway
- Add PaymentMethodGateway#revoke
- Add VenmoAccount
- Add support for Set Transaction Context supplementary data.
- Add transaction to subscription successfully charged webhook
- Add new ProcessorDoesNotSupportAuths error
- Add support for partial settlement transactions
- Add constants for dispute kind
- Preserve backtrace when not wrapping HTTP exceptions
- Add date_opened and date_won to dispute webhooks
- Add support for searching transactions from oauth app
- Support AMEX express checkout
- add source_description to android pay and apple pay
- add new android pay test nonces
- add support for amex rewards transactions
- add billing_agreement_id to paypalaccount
- Add new test payment method nonces
- Allow passing description on PayPal transactions
- Fix oauth authentication
- Fix python 3 syntax
- Add oauth support
- Add support for Android Pay
- Validate webhook challenge payload
- Add 3DS server side fields
- Add attribute to customer
- Add coinbase constant
- Add European test nonce
- Add support for new SEPA workflow
- Fix test failures in Python 3.3+
- Accept additional params in PaymentMethod.create()
- Add 3D Secure transaction fields
- Add ability to create nonce from vaulted payment methods
- Support Coinbase accounts
- Surface Apple Pay payment instrument name in responses
- Expose subscription status events
- Support SEPA bank accounts for customer
- Improve documentation
- Add error code constants
- Allow PayPal parameters to be sent in options.paypal
- Add risk_data to Transaction and Verification with Kount decision and id
- Add verification_amount an option when creating a credit card
- Add TravelCruise industry type to Transaction
- Add room_rate to Lodging industry type
- Add CreditCard#verification as the latest verification on that credit card
- Add ApplePay support to all endpoints that may return ApplePayCard objects
- Align WebhookTesting with other client libraries
- Allow descriptor to be passed in Funding Details options params for Merchant Account create and update.
- Add additional_processor_response to transaction
- Allow payee_email to be passed in options params for Transaction create
- Added paypal specific fields to transaction calls
- Added SettlementPending, SettlementDeclined transaction statuses
- Add Descriptor url support
- Fix client token version type
- Support credit card options and billing address in PaymentMethod.create
- Add PaymentMethod.update
- Add associated subscriptions to PayPalAccount
- Test refactoring and cleanup
- Add support for v.zero SDKs
- Drop Python 2.5 support
- Remove use_unsafe_ssl option
- Remove httplib strategy and pycurl strategy
- Add Python 3.3+ support
- Make webhook parsing more robust with newlines
- Add messages to InvalidSignature exceptions
- Include Dispute information on Transaction
- Search for Transactions disputed on a certain date
- Disbursement Webhooks
- Fix using instantiated Configuration objects without first calling Configuration.configure
- Accept billing_address_id on transaction create
- Expose current_billing_cycle on addons and discounts
- Merchant account find API
- Merchant account update API
- Merchant account create API v2
- Update configuration URLs
- Add partnership support
- Add partner configuration
- Add configuration option for custom HTTP strategies
- Adds hold_in_escrow method
- Add error codes for verification not supported error
- Add company_name and tax_id to merchant account create
- Adds cancel_release methods
- Adds release_from_escrow functionality
- Adds owner_phone to merchant account signature.
- Adds merchant account phone error code.
- Adds device data to transactions, customers, and credit cards.
- Adds disbursement details to transactions.
- Adds image_url to transactions.
- Support requests >= 1.0
- Add new validation errors and rename old ones
- Adds channel field to transactions.
- Add additional card types for card type indicators
- Adds 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
- Adds prepaid attribute to credit cards (possible values of: Yes, No, Unknown)
- Add settling transaction status to transaction search
- Adds new package braintree.util.http_stategy to setup.py
- Removes relative imports for python 3.0 (thanks MichaelBlume)
- Adds webhook gateways for parsing, verifying, and testing incoming notifications
- Allow specifying the http strategy to use (PycURL, httplib, requests)
- Adds search for duplicate credit cards given a payment method token
- Adds flag to fail saving credit card to vault if card is duplicate
- Exposes plan_id on transactions
- Added error code for invalid purchase order number
- Fixed zip_safe=False error when building (GitHub issue #17)
- 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
- Enabled gzip encoding for HTTP requests
- Fixed handling of long integers when generating xml (thanks glencoates)
- Added new error code
- Added subscription_details to Transaction
- Added flag to store in vault only when a transaction is successful
- Added new error code
- Added improvements to unicode handling.
- Added a new transaction state, AuthorizationExpired.
- Enabled searching by authorization_expired_at.
- Added next_billing_date and transaction_id to subscription search
- Added address_country_name to customer search
- Added new error codes
- Added Customer search
- Added dynamic descriptors to Subscriptions and Transactions
- Added level 2 fields to Transactions:
- tax_amount
- tax_exempt
- purchase_order_number
- Added billing_address_id to allowed parameters for credit cards create and update
- Allow searching on subscriptions that are currently in a trial period using in_trial_period
- Added ability to perform multiple partial refunds on Transactions
- Deprecated Transaction refund_id in favor of refund_ids
- Added revert_subscription_on_proration_failure flag to Subscription update that specifies how a Subscription should react to a failed proration charge
- Deprecated Subscription next_bill_amount in favor of next_billing_period_amount
- Added pycurl dependency in place of M2Crypto for better cross-platform compatibility
- Added new fields to Subscription:
- balance
- paid_through_date
- next_billing_period_amount
- Added AddOns/Discounts
- Enhanced Subscription search
- Enhanced Transaction search
- Added constants for CreditCardVerification statuses
- Added Expired and Pending statuses to Subscription
- Allowed prorate_charges to be specified on Subscription update
- Allowed argument lists and literal lists when searching for Subscriptions and Transactions
- Added AddOn/Discount details to Transactions that were created from a Subscription
- All Braintree exceptions now inherit from BraintreeError superclass
- Removed 13 digit Visa Sandbox Credit Card number and replaced it with a 16 digit Visa
- Made gateway operations threadsafe when using multiple configurations
- Added new fields to Subscription:
- billing_day_of_month
- days_past_due
- first_billing_date
- never_expires
- number_of_billing_cycles
- Added support for M2Crypto version 0.20.1, which is the default for Ubuntu Lucid (thanks foresto)
- Added unified message to ErrorResult
- Added ability to specify country using country_name, country_code_alpha2, country_code_alpha3, or country_code_numeric (see ISO_3166-1)
- Renamed Subscription retryCharge to retry_charge
- Added gateway_rejection_reason to Transaction and Verification
- Allow searching with date objects (in addition to datetime)
- When creating a Subscription, return failed transaction on the ErrorResult if the initial transaction is not successful
- Added unified TransparentRedirect url and confirm methods and deprecated old methods
- Added methods to CreditCard to allow searching on expiring and expired credit cards
- Allow credit card verification against a specified merchant account
- Added all method on Customer to retrieve all customers
- 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)
- Use isinstance instead of type to cater to inheritance (thanks danielgtaylor)
- 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 approximate_size to maximum_size 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
- 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
- Updated is_success on transaction results to return false on declined transactions
- Search results now return a generator and will automatically paginate data
- Allow passing cardholder_name when creating transactions
- Renamed ValidationErrorCollection#all to deep_errors and made it a property
- Added the ability to make a credit card the default card for a customer
- Updated Quick Start in README.md to show a workflow with error checking
- Added subscription search
- Return associated subscriptions when finding credit cards
- Raise down for maintenance error instead of forged query string error on 503 responses
- Updated SSL CA file
- Initial release