- Update requests to not create a new request for every session
- Add
accept_partial_authorizationto Transaction Gateway andpartially_authorizedto Transaction - Deprecate transactions for
visa_checkout_cardand maintain search functionality - Add
ach_typetooptions->us_bank_accountinTransaction.create - Add
ach_typeandrequested_ach_typeresponse fields toTransaction
- Add extra fields in
senderandreceiverdetails intransfertoTransaction - Remove unused error code
AdjustmentAmountMustBeGreaterThanZero - Removed
venmo_merchant_datafromTransaction - Filter CreditCardVerification.search() to only return credit card verifications
- Add
payment_account_referencetoTransaction::ApplePayCard,Transaction::AndroidPayCard,Transaction::CreditCard, andCreditCardVerification - Add
processing_merchant_category_codefield inTransaction - Add missing
transfervalidation error codes inTransaction
- Add Bank Account Instant Verification functionality
- Add
BankAccountInstantVerificationGatewayfor creating JWTs - Add
BankAccountInstantVerificationJwtresponse object - Add
BankAccountInstantVerificationJwtRequestfor JWT creation - Add
ach_mandate_textandach_mandate_accepted_atfields toTransactionUsBankAccountRequest - Add
INSTANT_VERIFICATION_ACCOUNT_VALIDATIONmethod toUsBankAccountVerification.VerificationMethod - Add support for US bank account ACH mandate fields in transaction requests
- Add
ach_reject_reasonfield to Transaction - Add
senderandreceivertotransferinTransaction - Add
is_device_tokento ApplePayCard and ApplePayDetails
- Add
upcoming_retry_datefield to Transaction - Add
remaining_file_evidence_storageto Dispute - Add
transaction_retriedwebhook - Add AFT
transfer_typeto Transaction
- Add Session Id to Customer Recommendations Payload
- Add
account_information_inquiryto:CreditCardVerification.createPaymentMethod.createandPaymentMethod.updateCreditCard.createandCreditCard.update
- Enhancements to PayPal customer recommendations
- Create a session and get recommendations in one call
- Hash customer email and phone number
- Add business, consumer, corporate, purchase from bin data in credit card responses
- Add support for capturing payment facilitator and sub-merchant details with transactions
- Remove marketplace features
- Add prepaid_reloadable from bin data in credit card responses
- Add support for
PayPalPaymentResourcerequests
- Fixes issue related to missing folders in package paths
- Add support for creating and updating PayPal customer session
- Add support for getting PayPal customer recommendations
- Add recipient/contact info:
recipient_emailandrecipient_phonetoTransaction
- Add
fail_on_duplicate_payment_method_for_customeroption toClientTokenPaymentMethodCreditCard
- Add
blik_aliasesto LocalPaymentCompleted webhook and LocalPaymentDetail - Deprecate
samsung_pay_card - Updated expiring pinned vendor SSL certificates
- Add
payer_name,bicandiban_last_charsto LocalPaymentCompleted webhook - Add
edit_paypal_vault_idto PayPalAccount - Add
ani_first_name_response_codeandani_last_name_response_codeto CreditCardVerification - Add
shippingTaxAmountto Transaction - Add
network_tokenization_attributesparameter toTransaction.sale - Add validation error code
NetworkTokenizationAttributeCryptogramIsRequiredtoCreditCard
- Add
foreign_retailerto Transaction - Add
international_phonetoAddressandCustomer - Add
funding_source_descriptionto PayPalAccount - Add missing
AndroidPayCarderror code - Add
REFUND_FAILEDtoWebhookNotification.Kind - Add
final_captureto Transactionsubmit_for_partial_settlement_signature - Deprecate
paypal_tracking_idin favor ofpaypal_tracker_idinpackage_details
- Add
domainsparameter support toClientToken.generate
- Add
UnderReviewstatus toDispute - Add
DisputeUnderReviewtoWebhookNotification.Kind
- Remove usage of standard library deprecated
cgimodule. Note: this will break integrations on versions of Python below 3.2. However, this is NOT a breaking change to this library, due to our current support of Python 3.5+. - Add
PackageDetailsclass. - Add
packagestoTransactionattributes. - Add
package_trackingmethod toTransactionGatewayto make request to add tracking information to transactions. - Add
process_debit_as_credittocredit_cardfield inoptionsfield during Transaction create. - Deprecate
three_d_secure_tokenin favor ofthree_d_secure_authentication_id - Add
upc_code,upc_type, andimage_urltoline_itemsintransaction - Deprecate
venmo_sdk_sessionandvenmo_sdk_payment_method_code
- Add
PickupInStoretoShippingMethodenum - Add
external_vaultandrisk_datatoCreditCardVerification.createrequest - Add
phone_numberinCreditCard - Add
debit_networktoTransactionfield - Add
debit_networktoTransactionSearchRequest - Add
DebitNetworkenum toCreditCard
- Add
SubscriptionBillingSkippedtoWebhookNotification.Kind - Add
arrivalDateandticketIssuerAddresstoTransaction.salerequest andindustrydata support for Transaction.submitForSettlement - Add
date_of_birthandcountry_codeto IndustryData params - Add
MetaCheckoutCard,MetaCheckoutTokenpayment methods - Add
MetaCheckoutCardDetails,MetaCheckoutTokenDetailstoTransaction - Add
verification_add_onstoPaymentMethodcreate options forACH NetworkCheck - Fix unittest compatibility with Python 3.12 (Thanks @mgorny)
- Deprecate
evidenceSubmittablein Dispute - Add missing
escapecalls ingeneratorfor:- list
- bool
- integer
- datetime
- Add
processing_overridestoTransaction.saleoptions
- Add
evidence_submittabletoDispute - Add
merchant_token_identifierandsource_card_last4toApplePayCard - Add a check for empty month and year before generating
expiration_datein:CrediCardAndroidPayCardApplePayCardSamsungPayCardVisaCheckoutCard
- Add
retry_idsandretried_transaction_idto Transaction object
- Add
merchant_advice_codeandmerchant_advice_code_textto Transaction object - Allow vaulting of raw AndroidPayCards with billing address via Customer.create/update
- Add
intended_transaction_sourcetoCreditCardVerification - Add
three_d_secure_pass_thrutoCreditCardVerification - Add
payment_method_noncetoCreditCardVerification - Add
three_d_secure_authentication_idtoCreditCardVerification - Add support for subscriptions in SEPA direct debit accounts
- Fixup issue where request sessions weren't including proxy settings (see #5677 for details).
- Replace nose usage for tests with unittest (Thanks @arthurzam)
- Remove mock dev dependency (Thanks @arthurzam)
- Add
ExcessiveRetrytoGatewayRejectionReason - Add
pre_dispute_programtoDisputeandDisputeSearch - Add
AutoAcceptedstatus toDispute - Add
DisputeAutoAcceptedtoWebhookNotification.Kind - Deprecate
chargeback_protection_leveland addprotection_leveltoDisputeandDisputeSearch - Add
shippingobject tosubmit_for_settlement_signature - Add
SEPADirectDebitAccountpayment method - Add
SEPADirectDebitAccountto transaction object - Add
SEPA_DIRECT_DEBIT_ACCOUNTtoPaymentInstrumentType - Add
sepa_debit_paypal_v2_order_idtoTransactionSearch - Add
sepa_direct_debit_accountstoCustomer - Add SEPA Direct Debit specific error codes
- Prepare http request before setting url to resolve issue where dot segments get normalized
- Fix
DeprecationWarningon invalid escape sequences (thanks @DavidCain) - Add validation for arguments in Address.delete, Address.find, and Address.update
- Add
LiabilityShiftclass andliability_shiftto RiskData - Add ExchangeRateQuote API
- Add
ach_return_responses_created_atandreason_codefields in TransactionSearch - Allow vaulting of raw ApplePayCards with billing address via Customer.create/update
- Add
retriedtoTransaction
- Add
PaymentMethodCustomerDataUpdatedwebhook
- Add plan create/update/find API endpoint
- Add
TransactionReviewwebhook notification - Fix typos (@timgates42)
- Add
localPaymentFundedandlocalPaymentExpiredwebhooks
- Add
exchange_rate_quote_idtoTransaction.sale - Add validation error code
ExchangeRateQuoteIdIsTooLongtoTransaction - Add the following fields to
ApplePayCardandAndroidPayCard:commercialdebitdurbin_regulatedhealthcarepayrollprepaidproduct_idcountry_of_issuanceissuing_bank
- Add error code
Transaction.TaxAmountIsRequiredForAibSwedishfor attributetax_amountto handle validation for AIB:Domestic Transactions in Sweden
- Add
payment_reader_card_detailsparameter toTransaction.sale - Add webhook sample for
GrantedPaymentMethodRevoked - Add
chargeback_protection_leveltoDisputeSearch - Add
skip_advanced_fraud_checkingto:PaymentMethod.createandPaymentMethod.updateCreditCard.createandCreditCard.update
- Add
paypal_messagestoDispute - Add
tax_identifiersparameter toCustomer.createandCustomer.update
- Add
LocalPaymentReversedwebhook - Add
store_idandstore_idstoTransaction.search
- Add
merchant_account_idtoTransaction.refund - Add
Transaction.adjust_authorizationmethod to support for multiple authorizations for a single transaction
- Add
installmentstoTransactionrequests - Add
counttoinstallments - Deprecate
device_session_idandfraud_merchant_idinCreditCardGateway,CustomerGateway,PaymentMethodGateway, andTransactionGatewayclasses - Add
sca_exemptionto Transaction.sale request
- Add
acquirer_reference_numbertoTransaction - Deprecate
recurringin Transaction sale requests
- Deprecate
masterpass_cardandamex_checkout_cardpayment methods - Fix issue where
transaction.creditcould not be called using a gateway object
- Add validation error code
Transaction.ProductSkuIsInvalid - Add 'RiskThreshold' gateway rejection reason
- Add
processed_with_network_tokentoTransaction - Add
is_network_tokenizedtoCreditCard
- Add
retrieval_reference_numbertoTransaction - Add
network_transaction_idtoCreditCardVerification - Add
product_skutoTransaction - Add
customer_device_id,customer_location_zip, andcustomer_tenuretoRiskData - Add
phone_numberandshipping_methodtoAddress - Add validation error codes:
Transaction.ShippingMethodIsInvalidTransaction.ShippingPhoneNumberIsInvalidTransaction.BillingPhoneNumberIsInvalidRiskData.CustomerBrowserIsTooLongRiskData.CustomerDeviceIdIsTooLongRiskData.CustomerLocationZipInvalidCharactersRiskData.CustomerLocationZipIsInvalidRiskData.CustomerLocationZipIsTooLongRiskData.CustomerTenureIsTooLong
- Add
DisputeAccepted,DisputeDisputed, andDisputeExpiredwebhook constants - Add
three_d_secure_pass_thrutoCreditCard.create,CreditCard.update,PaymentMethod.create,PaymentMethod.update,Customer.create, andCustomer.update. - Add
Verificationvalidation errors for 3D Secure - Add
payment_method_tokentoCreditCardVerificationSearch - Add
recurring_customer_consentandrecurring_max_amounttoauthentication_insight_optionsforPaymentMethodNonce.create - Add
FileIsEmptyerror code - Eliminates usage of mutable objects for function parameters. Resolves #113 Thank you @maneeshd!
- Split development and deployments requirements files out
- Add
Authentication Insightto payment method nonce create - Add ThreeDSecure test payment method nonces
- Add test
AuthenticationIds - Add
three_d_secure_authentication_idtothree_d_secure_info - Add
three_d_secure_authentication_idsupport for transaction sale - Breaking Changes
- Require Python 3.5+
- Remove deprecated Transparent Redirect
- Remove deprecated iDeal payment method
- Apple Pay register_domains returns an ApplePayOptions object
- Remove
unrecognizedstatus from Transaction, Subscription, and CreditCardVerification - Remove
GrantedPaymentInstrumentUpdatekind from Webhook - Remove Coinbase references
- Add GatewayTimeoutError, RequestTimeoutError exceptions
- Rename DownForMaintenanceError exception to ServiceUnavailableError
- Transaction
line_itemsonly returns the line items for a transaction response object. Use TransactionLineItemfind_allto search all line items on a transaction, given a transaction_id - Upgrade API version to retrieve declined refund transactions
- Remove all deprecated parameters, errors, and methods
- Add
RefundAuthHardDeclinedandRefundAuthSoftDeclinedto validation errors - Fix issue where managing Apple Pay domains would fail in Python 3.8+
- Add level 2 processing options
purchase_order_number,tax_amount, andtax_exempttoTransaction.submit_for_settlement - Add level 3 processing options
discount_amount,shipping_amount,ships_from_postal_code,line_itemstoTransaction.submit_for_settlement
- Add support for managing Apple Pay domains (thanks @ethier #117)
- Fix error when running against Python 3.8 (thanks @felixonmars #114)
- Add
ProcessorDoesNotSupportMotoForCardTypeto validation errors - Add Graphql ID to
CreditCardVerification,Customer,Dispute, andTransaction
- Set correct version for PyPi
- Forward
processor_commentstoforwarded_comments - Add Venmo 'TokenIssuance' gateway rejection reason
- Add
AmountNotSupportedByProcessorto validation error
- Add PayPalHere details
- Add
networkResponseCodeandnetworkResponseTextto transactions and verifications - Add
cavv,xid,ds_transaction_id,eci_flag, andthree_d_secure_version, tothree_d_secure_info - Add
three_d_secure_infoto credit_card_verification - Add
GraphQLClienttoBraintreeGatewayclass
- Add
captureIdfield to local_payment_details - Add
refundIdfield to local_payment_details - Add
debugIdfield to local_payment_details - Add
transactionFeeAmountfield to local_payment_details - Add
transactionFeeCurrencyIsoCodefield to local_payment_details - Add
refundFromTransactionFeeAmountfield to local_payment_details - Add
refundFromTransactionFeeCurrencyIsoCodefield to local_payment_details - Add
ds_transaction_idandthree_d_secure_versionto 3DS pass thru fields - Add
payer_infofield 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_taxsupport for transaction sale - Add
no_showsupport for transaction sale - Add
advanced_depositsupport for transaction sale - Add
fire_safesupport for transaction sale - Add
property_phonesupport for transaction sale - Add
additional_chargessupport for transaction sale - Add
PostalCodeIsRequiredForCardBrandAndProcessorto validation errors - Fix issue where not found error could choke on
Nonevalues (#109)
- Add
payment_method_noncefield toLocalPaymentCompletedwebhook - Add
transactionfield toLocalPaymentCompletedwebhook - Add
LocalPaymentDetailsto transactions
- Add
refund_from_transaction_fee_amountfield to paypal_details - Add
refund_from_transaction_fee_currency_iso_codefield to paypal_details - Add
revoked_atfield to paypal_account - Add support for
PaymentMethodRevokedByCustomerwebhook
- Deprecate
GrantedPaymentInstrumentUpdateand addGrantorUpdatedGrantedPaymentMethodandRecipientUpdatedGrantedPaymentMethod - Add account_type support for transaction sale, verification, and payment_method create/update
- Add Hiper card type support
- Add Hipercard card type support
- Add
bintoPaymentMethodNonceDetails - Clarify support for Python versions 3.6.x and 3.7.x
- Add Error indicating pdf uploads too long for dispute evidence.
- Add
GrantedPaymentMethodRevokedwebhook response objects
- Add
fraud_service_providerfield torisk_data - Add
authorization_expires_attoTransaction - Remove invalid transaction tests
- Allow PayPal payment ID and payer ID to be passed during transaction create
- Add
travel_flightsupport to industry-specific data - Add
processor_response_typetoTransaction,AuthorizationAdjustment, andCreditCardVerification.
- Add new field
network_transaction_idin transaction response. - Add
external_vaultoption to transaction sale. - Add
LocalPaymentCompletedwebhook. - Add
processor_response_typetoTransaction,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_idalias to ConnectedMerchantStatusTransitioned and ConnectedMerchantPayPalStatusChanged Auth webhooks
- Add support for US Bank Account verifications API
- Add Dispute error ValidEvidenceRequiredToFinalize
- Add
oauth_access_revocationtoWebhookNotifications - Add support for
customer_id,disbursement_dateandhistory_event_effective_datein DisputeSearch - Remove
sepa_mandate_typeandsepa_mandate_acceptance_locationparams fromClientToken - Add support for VCR compelling evidence dispute representment
- Add support for
association_filter_idinCustomer#find
- Deprecated
LineItem/DiscountAmountMustBeGreaterThanZeroerror in favor ofDiscountAmountCannotBeNegative - Deprecated
LineItem/UnitTaxAmountMustBeGreaterThanZeroerror in favor ofUnitTaxAmountCannotBeNegative - Add support for
tax_amountfield on transactionline_items - Add support for
source_merchant_idon webhooks - Add
find_allstatic method toTransactionLineItemclass - Add support for
profile_idin 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->shippingfor creating & updating customers as well as creating payment methods - Do not convert to Decimal if amount is None in AuthorizationAdjustement (#70)
- Add
device_data_capturedfield torisk_data - Add
bin_datatopayment_method_nonce
- Add iDEAL webhook support
- Add AuthorizationAdjustment class and
authorization_adjustmentsto Transaction - Coinbase is no longer a supported payment method.
PaymentMethodNoLongerSupportedwill be returned for Coinbase operations - Add facilitated details to Transaction if present
- Add
submit_for_settlementoption toSubscription.retry_charge - Add
options->paypal->descriptionfor 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
amountinCreditCardVerificationwould 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
amountandcurrency_iso_codewere always expected
- Fix a regression where
util/datetime_parser.pywas 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.allwould 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_checkfor transaction flows
- Update UsBank tests to use legal routing numbers
- Allow setting a custom verification amount in
PaymentMethodoptions - Allow setting processor specific fields for transactions and verifications
- Fix
UsBankAccountsupport forCustomers - Added handling for unicode parameters. (Thanks @mgalgs)
- Raise
ConfigurationErrorfor empty string credentials - Update
Grantapi 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_settlementtransaction 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