- Add
fail_on_duplicate_payment_method_for_customer
option toClientToken
PaymentMethod
CreditCard
- Add
blik_aliases
to LocalPaymentCompleted webhook - Deprecate
samsung_pay_card
- Updated expiring pinned vendor SSL certificates
- Add
payer_name
,bic
andiban_last_chars
to LocalPaymentCompleted webhook - Add
edit_paypal_vault_id
to PayPalAccount - Removes redundant integration test for provision_raw_apple_pay
- Add
ani_first_name_response_code
andani_last_name_response_code
to CreditCardVerification - Add
shipping_tax_amount
to Tranaction
- Add
foreign_retailer
to Transaction - Add
international_phone
toAddress
andCustomer
- Add
funding_source_description
to PayPalAccount - Add missing
GooglePayCard
error code - Add
REFUND_FAILED
to Webhook Notification - Add
final_capture
to Transaction_submit_for_partial_settlement_signature
- Deprecate
paypal_tracking_id
in favor ofpaypal_tracker_id
inpackage_details.rb
- Deprecate
credit
method incredit_card
andcredit_card_gateway
- Deprecate
sale
method incredit_card
andcredit_card_gateway
- Add
domains
parameter support toClientToken::generate
- Add
UnderReview
status toDispute
- Add
DisputeUnderReview
webhook toWebhookNotification
- Cleanup useless assignments in XML::Parser, Util, HTTP, Disbursement, and Configuration classes
- Fix issue where advanced searches using
between
were not correctly evaluating values larger than the minimum
- Add
process_debit_as_credit
tocredit_card
field inoptions
field during Transaction create - Add
package_tracking
method totransaction_gateway
to make request to add tracking information to transactions - Add
packages
to Transaction object - Add
image_url
,upc_code
, andupc_type
toLineItems
intransaction_gateway
- Add
PickupInStore
toShippingMethod
enum - Add
external_vault
andrisk_data
toCreditCardVerification
create request
- Add
meta_checkout_card
andmeta_checkout_token
payment methods - Add
meta_checkout_card_details
andmeta_checkout_token_details
to Transaction - Add
industry_data
toTransaction.submit_for_settlement
options - Add
dateOfBirth
andcountryCode
parameters toTransaction.sale.industry.data
- Add
billing_address
andshipping_address
toVenmoProfileData
- Add
additional_processor_response
toUsBankAccountVerification
- Add
verification_add_ons
toPaymentMethod
create options forACH NetworkCheck
- Add
Maestro
toDebitNetwork
enum
- Add
retry_ids
,retried_transaction_id
, anddebit_network
toTransaction
- Add
evidence_submittable
to Dispute - Add
implicitly_vaulted_payment_method_token
andimplicitly_vaulted_payment_method_global_id
toLocalPaymentDetails
- Add
merchant_token_identifier
andsource_card_last4
to ApplePayCard and ApplePayDetails response objects - Add
debit_network
toTransactionSearch
- Add
DebitNetwork
enum toCreditCard
- Add
SubscriptionBillingSkipped
webhook notification support - Deprecate
three_d_secure_token
in favor ofthree_d_secure_authentication_id
- Deprecate
venmo_sdk_session
,venmo_sdk_payment_method_code
, andvenmo_sdk?
- Add
payment_receipt
object toTransaction
- Add
global_id
string toUsBankAccountDetails
- Add
retry_ids
array toTransaction
- Add
retried_transaction_id
string toTransaction
- Add
merchant_token_identifier
andsource_card_last4
to ApplePayCard and ApplePayDetails response objects - Add
processing_overrides
toTransaction.sale
options - Add
arrival_date
andticket_issuer_address
toindustry
object inTransaction
and addindustry
toTransaction.submit_for_settlement
- Add
merchant_advice_code
andmerchant_advice_code_text
to Transaction object
- Add
intended_transaction_source
toCreditCardVerificationGateway
- Add
payment_method_nonce
toCreditCardVerificationGateway
- Add
three_d_secure_authentication_id
toCreditCardVerificationGateway
- Add
three_d_secure_pass_thru
toCreditCardVerificationGateway
- Add
network_tokenization_attributes
parameter toTransaction.sale
- Add
network_token_details
to Transaction.sale response - Add
is_network_tokenized
toCreditCardDetails
- Add subscriptions to
SepaDirectDebitAccount
- Add
billing_address
attribute reader toApplePayCard
- Add
pre_dispute_program
toDispute
andDisputeSearch
- Add
AutoAccepted
status toDispute
- Add
DisputeAutoAccepted
webhook toWebhookNotification
- Add
ExcessiveRetry
toGatewayRejectionReason
- Add
SEPADirectDebitAccount
payment method - Add
sepa_direct_debit_return_code
toTransaction
- Add
sepa_direct_debit_account_details
toTransaction
- Add
sepa_direct_debit_account_nonce_details
toPaymentMethodNonceDetails
- Add
SEPA_DIRECT_DEBIT_ACCOUNT
toPaymentInstrumentType
- Add
sepa_debit_paypal_v2_order_id
toTransactionSearch
- Add
sepa_direct_debit_accounts
toCustomer
- Add SEPA Direct Debit specific error codes
- Add
cardholder_name
attribute reader toApplePayCard
(Thanks @AxelTheGerman) - Deprecate
chargeback_protection_level
and addprotection_level
toDispute
andDisputeSearch
- Add
ach_return_responses
toTransaction
for search results that search for transaction that have ach return response related data. - Add
ach_return_responses_created_at
range field to toTransactionSearch
- Add
reason_code
to TransactionSearch to search for reason codes on transaction that have ach return responses associated with them. - Add 'ExchangeRateQuoteAPI'
- Add LiabilityShift class and
liability_shift
field to RiskData - Replace generic errors with api_error_response
- Add
AchReturnCode
to transaction object - Add
retried
boolean toTransaction
- Add
PaymentMethodCustomerDataUpdated
webhook notification support
- Add plan create/update/find API endpoint
- Add support for
TransactionReview
webhook notification
- Sanitize encrypted_card_data logs
- Add
LocalPaymentExpired
andLocalPaymentFunded
webhook notification support
- Add a log message to the
ArgumentError
atTransactionGateway.find
- Add
exchange_rate_quote_id
toTransaction.create
- Add error code
ExchangeRateQuoteIdTooLong
toTransaction
- Add the following fields to
ApplePayCard
andGooglePayCard
:commercial
debit
durbin_regulated
healthcare
payroll
prepaid
product_id
country_of_issuance
issuing_bank
- Add the following fields to
PayPalDetails
:tax_id
tax_id_type
- Add
default?
toPaymentMethodNonce
(thanks @klouvas) - Add error code
TaxAmountIsRequiredForAibSwedish
for attributetax_amount
intransaction
key for AIB:Domestic Transactions in Sweden
- Add
payment_reader_card_details
parameter toTransaction.sale
- Add webhook sample for
GrantedPaymentMethodRevoked
- Add
skip_advanced_fraud_checking
to:Customer#create
andCustomer#update
PaymentMethod#create
andPaymentMethod#update
CreditCard#create
andCreditCard#update
- Include
rexml
in Gemspec (fixes #214) - Fix incorrect error code constants (fixes #213)
PaymentMethodNonceConsumed
is now93107
CannotForwardPaymentMethodType
is now93106
- Breaking Changes
- Update gemspec to require ruby >= 2.6.0
- Remove
ExternalVault::CardTypeIsInvalid
error code - Remove
RiskData::CustomerBrowserIsTooLong
error code - Remove
paypal_vault_without_upgrade
parameter fromPaymentMethod#create
- Add
PaymentMethodNonceDetails
andPaymentMethodNonceDetailsPayerInfo
PaymentMethodNonce#details
is now an instance ofPaymentMethodNonceDetails
rather than a hashPaymentMethodNonceDetails#payer_info
is now an instance ofPaymentMethodNonceDetailsPayerInfo
rather than a hash
- Add
phone_number
toAddress
- Add
paypal_messages
toDispute
- Add
tax_identifiers
parameter toCustomer.create
andCustomer.update
- Add
chargeback_protection_level
into dispute search - Make libxml-ruby an optional dependency instead of required (addresses JRuby incompatibility issues raised in #203 and #205)
- Add
local_payment_reversed
webhook notification - Add
Transaction.adjust_authorization
method to support for multiple authorizations for a single transaction - Add
merchant_account_id
parameter toTransaction#refund
- Add
store_id
andstore_ids
parameters toTransaction#search
- Add support for
ActiveSupport::TimeWithZone
when generating XML (thanks @Tonkpils!)
- Add
decision_reasons
andtransaction_risk_score
fields toRiskData
- Add
acs_transaction_id
,pares_status
,three_d_secure_transaction_id
,lookup
, andauthentication
toThreeDSecureInfo
- Add SCA exemption to Transaction sale
- Add Installment support to Transaction sale
- Add
installment_count
toTransaction
- Add new
Installment
andInstallment::Adjustment
classes toTransaction
- Add
- Add
verification_currency_iso_code
parameter toCustomer.create
,PaymentMethod.create
,CreditCard.create
,Customer.update
,PaymentMethod.update
, andCreditCard.update
- Add
currency_iso_code
parameter toTransaction.sale
- Add validation errors
CreditCard::CurrencyCodeNotSupportedByMerchantAccount
Transaction::CurrencyCodeNotSupportedByMerchantAccount
- Allows
ResourceCollection#first
to receive one argument and return that argument number of items(Thanks @regismesquita)
- Add
acquirer_reference_number
toTransaction
- Add
billing_agreement_id
toPayPalDetails
- Update
BinData
class to correctly execute theinspect
method.(Thanks @kinduff)
- Add
CreditCardVerification::GatewayRejectionReason
- Memory improvements related to XML parsing (addresses #159)
- Breaking changes:
- Remove support for Transparent Redirect, Coinbase, iDEAL, Amex Express Checkout and Masterpass
- Rename
DownForMaintenanceError
toServiceUnavailableError
- Update
Transaction.search
to raise anUnexpectedError
if the search yields unexpected results - Add
GatewayTimeoutError
andRequestTimeoutError
- Remove
ForgedQueryString
error - Remove error codes:
- EuropeBankAccount.IBANIsRequired
- EuropeBankAccount.BICIsRequired
- EuropeBankAccount.AccountHolderNameIsRequired
- SEPAMandate.AccountHolderNameIsRequired
- SEPAMandate.BICIsRequired
- SEPAMandate.IBANIsRequired
- SEPAMandate.TypeIsRequired
- SEPAMandate.IBANInvalidCharacter
- SEPAMandate.BICInvalidCharacter
- SEPAMandate.BICLengthIsInvalid
- SEPAMandate.BICUnsupportedCountry
- SEPAMandate.IBANUnsupportedCountry
- SEPAMandate.IBANInvalidFormat
- SEPAMandate.LocaleIsUnsupported
- SEPAMandate.BillingAddressIsInvalid
- SEPAMandate.TypeIsInvalid
- Transaction.AmountDoesNotMatchIdealPaymentAmount
- Transaction.IdealPaymentNotComplete
- Transaction.IdealPaymentsCannotBeVaulted
- Transaction.MerchantAccountDoesNotMatchIdealPaymentMerchantAccount
- Transaction.OrderIdDoesNotMatchIdealPaymentOrderId
- Transaction.OrderIdIsRequiredWithIdealPayment
- TransactionLineItem.DiscountAmountMustBeGreaterThanZero
- TransactionLineItem.UnitTaxAmountMustBeGreaterThanZero
- Remove deprecated methods:
- Address#delete
- Address#update and Address#update!
- CreditCard.grant
- CreditCard#credit and CreditCard#credit!
- CreditCard#delete
- CreditCard#sale and CreditCard#sale!
- CreditCard#update and CreditCard#update!
- CreditCardGateway#grant
- Customer#default_credit_card
- Customer#sale and Customer#sale!
- Customer#update and Customer#update!
- Dispute#forwarded_comments
- Subscription#next_bill_amount
- Transaction#refund
- Transaction#refund_id
- Transaction#submit_for_settlement and Transaction#submit_for_settlement!
- Transaction#void and Transaction#void!
- Remove unused WebhookNotification::Kind::GrantedPaymentInstrumentUpdate
- Rename all Android Pay classes and methods to Google Pay
- Rename Dispute::HistoryEvent to Dispute::StatusHistory
- Update the following methods to return
Date
s instead ofStrings
(fixes #161):- DisbursementDetails#disbursement_date
- StatusHistory#disbursement_date
- StatusHistory#effective_date
- Subscription#billing_period_end_date
- Subscription#billing_period_start_date
- Subscription#first_billing_date
- Subscription#next_billing_date
- Subscription#paid_through_date
- SubscriptionDetails#billing_period_end_date
- SubscriptionDetails#billing_period_start_date
- Bump API version to support declined refund objects
- Remove deprecated parameters:
device_session_id
from CreditCard#create, Transaction#sale, PaymentMethod#create, and Customer#createfraud_merchant_id
from CreditCard#create, Transaction#sale, PaymentMethod#create, and Customer#createrecurring
from Transaction#sale
- Update builder dependency to >= 3.2.4
- Update libxml-ruby dependency to >= 3.2.0
- Update gemspec to require ruby >= 2.5.0
This version has been yanked from rubygems, do not use.
- Update
LocalPaymentCompleted
webhook to handle no transaction being created for unbranded local payment methods
- Deprecate Masterpass and American Express Checkout payment methods.
- Add
installment_count
accessor todispute.transaction
on dispute webhooks - Add
implicitly_vaulted_payment_method_token
andimplicitly_vaulted_payment_method_global_id
topaypal_details
- Add
RiskThreshold
to gateway rejection reasons - Add
network_transaction_id
toCreditCardVerification
- Add
product_sku
toTransaction
- Add
phone_number
andshipping_method
toAddressDetails
- Add
customer_device_id
,customer_location_zip
, andcustomer_tenure
toRiskData
- Add validation errors:
Transaction::ProductSkuIsInvalid
Transaction::ShippingMethodIsInvalid
Transaction::ShippingPhoneNumberIsInvalid
Transaction::BillingPhoneNumberIsInvalid
RiskData::CustomerBrowserIsTooLong
RiskData::CustomerDeviceIdIsTooLong
RiskData::CustomerLocationZipInvalidCharacters
RiskData::CustomerLocationZipIsInvalid
RiskData::CustomerLocationZipIsTooLong
RiskData::CustomerTenureIsTooLong
- Add
processed_with_network_token
toTransaction
- Add
is_network_tokenized
toCreditCard
- Add
created_at
accessor todispute.transaction
on dispute webhooks (closes #200)
- Add
threeDSecurePassThru
parameters toCustomer.create
,PaymentMethod.create
,CreditCard.create
,Customer.update
,PaymentMethod.update
, andCreditCard.update
- Add
recurring_customer_consent
andrecurring_max_amount
options toauthentication_insight
to payment method nonce create - Add ThreeDSecure test payment method nonces
- Add test
AuthenticationId
s - Add
DisputeAccepted
,DisputeDisputed
, andDisputeExpired
webhook constants - Add
Authentication Insight
to payment method nonce create - Add
FileIsEmpty
error toDocumentUpload
- Add
retrieval_reference_number
toTransaction
- Add
RefundAuthHardDeclined
andRefundAuthSoftDeclined
to validation errors - Add
is_network_tokenized?
to android_pay_card and android_pay_details - Add handling for
gzip
encoding tographql_client
- Add Graphql ID to
CreditCardVerification
,Customer
,Dispute
, andTransaction
- Add
three_d_secure_authentication_id
toThreeDSecureInfo
- Add
three_d_secure_authentication_id
support to transaction - Add level 2 processing options
purchase_order_number
,tax_amount
, andtax_exempt
to Transaction submit_for_settlement - Add level 3 processing options
shipping_amount
,discount_amount
,ships_from_postal_code
, andline_items
to Transaction submit_for_settlement
- Add
ProcessorDoesNotSupportMotoForCardType
to validation errors - Add
bin
toapple_pay_details
andandroid_pay_details
- Add
processor_comments
toDispute
- Deprecate
forwarded_comments
onDisputes
- Add
network_response_code
andnetwork_response_text
to transactions and verifications - Add
PayPalHereDetails
- Add
three_d_secure_info
to credit_card_verification - Add
xid
,cavv
,eciFlag
,dsTransactionId
, andthreeDSecureVersion
toThreeDSecureInfo
- Add
graphql_client
toBraintree::Gateway
class - Add
AmountNotSupportedByProcessor
to validation error
- Add
capture_id
to local_payment_details - Add
refund_id
to local_payment_details - Add
debug_id
to local_payment_details - Add
transaction_fee_amount
to local_payment_details - Add
transaction_fee_currency_iso_code
to local_payment_details - Add
refund_from_transaction_fee_amount
to local_payment_details - Add
refund_from_transaction_fee_currency_iso_code
to local_payment_details - Add
three_d_secure_version
,authentication_response
,directory_response
,cavv_algorithm
andds_transaction_id
to 3DS pass thru fields - Add verification_account_type support for credit_card create/update and customer create/update
- Add
room_tax
field to transactions - Add
no_show
field to transactions - Add
advanced_deposit
field to transactions - Add
fire_safe
field to transactions - Add
property_phone
field to transactions - Add
additional_charges
field to transactions - Add
payer_info
to payment_method_nonce details - Add
PostalCodeIsRequiredForCardBrandAndProcessor
to validation errors
- Add
prepaid
field to android_pay_card - Add
healthcare
field to android_pay_card - Add
debit
field to android_pay_card - Add
durbin_regulated
field to android_pay_card - Add
commercial
field to android_pay_card - Add
payroll
field to android_pay_card - Add
issuing_bank
field to android_pay_card - Add
country_of_issuance
field to android_pay_card - Add
product_id
field to android_pay_card - Add
global_id
field to android_pay_card - Add
prepaid
field to apple_pay_card - Add
healthcare
field to apple_pay_card - Add
debit
field to apple_pay_card - Add
durbin_regulated
field to apple_pay_card - Add
commercial
field to apple_pay_card - Add
payroll
field to apple_pay_card - Add
issuing_bank
field to apple_pay_card - Add
country_of_issuance
field to apple_pay_card - Add
product_id
field to apple_pay_card - Add
bin
field to apple_pay_card - Add
global_id
field to apple_pay_card - 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 - Add
payment_method_nonce
field toLocalPaymentCompleted
webhook - Add
transaction
field toLocalPaymentCompleted
webhook - Add
local_payment_detail
field to transactions - Add
TokenIssuance
gateway rejection reason enum
- Deprecate
GrantedPaymentInstrumentUpdate
and addGrantorUpdatedGrantedPaymentMethod
andRecipientUpdatedGrantedPaymentMethod
- Add account_type support for transaction sale, verification, and payment_method create/update
- Add
bin
field topayment_method_nonce_details
- Add Error indicating pdf uploads too long for dispute evidence.
- Add
GrantedPaymentMethodRevoked
webhook response objects - Update BigDecimal#New calls to un-deprecated Kernel#BigDecimal calls
- Thank you @john-denisov and @jfiander!
- Allow PayPal payment ID and payer ID to be passed during transaction create
- Add
travel_flight
support to industry-specific data - Add
fraud_service_provider
field torisk_data
- Add
processor_response_type
toTransaction
,AuthorizationAdjustment
, andCreditCardVerification
. - Add
authorization_expires_at
toTransaction
- Add local payment webhook support
- Add subscription charged unsuccessfully sample webhook to webhook testing gateway
- Fix issue where environment was not automatically converted from a string to a symbol (#148, #164)
- Fix issue where logger could not be set on gateway instance
- Fix dispute results in transactions not showing the correct status sometimes
- Whitelist usage of
external_vault
in transaction create. - Visa transactions will now contain a
network_transaction_id
in the response
- Add
processor_response_code
andprocessor_response_text
to authorization adjustments subfield in transaction response. - Stop restricting
transaction_source
values for Disputes search, allow searching by OAuth Application client_id - Add support for Samsung Pay
- Warn when instantiating a
Braintree::Gateway
with mixed environments - Allow payee ID to be passed in options params for transaction create
- Add
merchant_id
toConnectedMerchantStatusTransitioned
andConnectedMerchantPayPalStatusChanged
Auth webhooks
- Add support for Micro Transfer ACH verifications
- Add
image_url
andtoken
attributes toAndroidPayDetails
andApplePayDetails
- Add Dispute error ValidEvidenceRequiredToFinalize
- Remove
sepa_mandate_type
andsepa_mandate_acceptance_location
params fromClientTokenGateway
- Add
payer_id
accessor inPayPalAccount
- Add support for VCR compelling evidence dispute representment
- Add support for
oauth_access_revocation
onWebhookNotification
s - Add support for US Bank Account verifications via
PaymentMethod#create
,PaymentMethod#update
, andTransaction#create
- Add support for US Bank Account verification search
- Add support for
address.create!
to gateway instance - Add support for
address.update!
to gateway instance - Add support for
credit_card.create!
to gateway instance - Add support for
customer.create!
to gateway instance - Add support for
customer.update!
to gateway instance - Add support for
document_upload.create!
to gateway instance - Add support for
merchant_account.create!
to gateway instance - Add support for
merchant_account.update!
to gateway instance - Add support for
payment_method.create!
to gateway instance - Add support for
payment_method.update!
to gateway instance - Add support for
payment_method_nonce.create!
to gateway instance - Add support for
subscription.cancel!
to gateway instance - Add support for
subscription.create!
to gateway instance - Add support for
subscription.update!
to gateway instance - Add support for
subscription.retry_charge
to gateway instance - Add support for
transaction.cancel_release!
to gateway instance - Add support for
transaction.hold_in_escrow!
to gateway instance - Add support for
transaction.clone_transaction!
to gateway instance - Add support for
transaction.credit!
to gateway instance - Add support for
transaction.refund!
to gateway instance - Add support for
transaction.release_from_escrow!
to gateway instance - Add support for
transaction.sale!
to gateway instance - Add support for
transaction.submit_for_settlement!
to gateway instance - Add support for
transaction.submit_for_partial_settlement!
to gateway instance - Add support for
transaction.void!
to gateway instance - Add support for
profile_id
in Transaction#create options for VenmoAccounts - Add support for
association_filter_id
in Customer#find - Add support for
customer_id
,disbursement_date
andhistory_event_effective_date
in Dispute#search - Update country names to have parity with documentation
- Add support for
tax_amount
field on transactionline_items
- Add support for
source_merchant_id
on webhooks - Deprecated
DiscountAmountMustBeGreaterThanZero
error in favor ofDiscountAmountCannotBeNegative
. - Deprecated
UnitTaxAmountMustBeGreaterThanZero
error in favor ofUnitTaxAmountCannotBeNegative
. - Add
find_all
static method toTransactionLineItem
class
- Add support for tagged evidence in DisputeGateway#add_text_evidence (Beta release)
- Update https certificate bundle
- Add support for line_items
- Update README to use instance methods
- Fix spec to expect PayPal transactions to move to settling rather than settled
- Fix permissions issue where SDK could not be loaded in some environments
- Add
bin_data
to Payment Method Nonce - Add support for including level 3 summary fields to transaction create and transaction response
- Add
device_data_captured
field torisk_data
- Add submit_for_settlement to Braintree::Subscription.retry_charge
- Add
options
->paypal
->description
for creating and updating subscriptions - Add
bin
toApplePayCard
- Add support for upgrading a PayPal future payment refresh token to a billing agreement
- Fix spec to expect PayPal transaction to settle immediately after successful capture
- Add GrantedPaymentInstrumentUpdate webhook support
- Add
options
->paypal
->shipping
for creating & updating customers as well as creating payment methods - Add ability to create a transaction from a shared nonce
- Add ruby 2.4 compatibility for the XML Generator (thanks @kinkade!)
- Add README note for supression of logs (thanks @badosu!)
- Allow
VenmoAccount
to be returned fromPaymentMethod.find
(thanks @NickMele!)
- Support
eci_indicator
for Transaction#sale with raw Apple Pay parameters
- Add
AuthorizationAdjustment
class andauthorization_adjustments
to Transaction - Add document upload support
- Add Braintree::Dispute.find method
- Add Braintree::Dispute.search method
- Add Braintree::Dispute.accept method
- Add Braintree::Dispute.finalize method
- Add Braintree::Dispute.add_file_evidence method
- Add Braintree::Dispute.add_text_evidence method
- Add Braintree::Dispute.remove_evidence method
- Coinbase is no longer a supported payment method.
PaymentMethodNoLongerSupported
will be returned for Coinbase operations. - Add Braintree::ApplePay for web domain registration
- Add facilitated details to Transaction if present
- Pass configured gateway to Merchant#_new instead of using global gateway (thanks @cwalsh!)
- Add support for additional PayPal options when vaulting a PayPal Order
- Add Visa Checkout support
- Add ConnectedMerchantStatusTransitioned and ConnectedMerchantPayPalStatusChanged Auth webhooks
- Add new properties to
CreditCardVerification
andCustomer
- Bugfix: Add
unique_number_identifier
to Transaction::CreditCardDetails - Updates to specs
- Remove
account_description
field from +UsBankAccount+ and +UsBankAccountDetails+
- Allow optional configuration of SSL version
- Add functionality to list all merchant accounts for a merchant with
merchant_account.all
- Bugfix: Update UsBank tests to use legal routing numbers
- Add option +skip_advanced_fraud_check+ for transaction flows
- Add IdealPayment class with +sale+ and +find+ methods
- Add payer_status accessor to paypal_details object
- Bugfix: Allow PaymentMethod.find(token) to return +UsBankAccount+
- Add +default?+ support for +UsBankAccount+
- Add +ach_mandate+ data to +UsBankAccount+ and +UsBankAccountDetails+
- Bugfix: allow Customer#payment_methods to return UsBankAccounts
- Fix compatibility with new gateway endpoint
- Add 'UsBankAccount' payment method
- Add 'created_at' to subscription search
- Expose 'plan_id' in subscription 'status_details'
- Add cannot clone marketplace transaction error
- Add FailOnDuplicatePaymentMethod to Customer update
- Add 'currency_iso_code' to subscription 'status_details'
- Expose credit card 'product_id'
- Add validation error for verifications with submerchants
- Allow authenticated proxies
- Add new constant for Venmo Account payment instrument type
- Add 'default_payment_method' option to Customer
- Add order_id to Refund
- Enabled 3DS pass thru support
- Expose IDs in resource collections
- Add 'success?' method to disbursement
- Add method of revoking OAuth access tokens.
- Fix compatibility in specs with Ruby 1.8.7
- Add transaction +UpdateDetails+
- Support for Too Many Requests response codes
- Add +default?+ method to MerchantAccount
- Allow Coinbase account to be updated
- Add support to pass currencies to merchant create
- Support multiple partial settlements
- Add IsInvalid error code for addresses
- Add support for third party Android Pay integrations
- Add AccountUpdaterDailyReport webhook parsing
- Add Verification#create
- Add options to +submit_for_settlement+ transaction flows
- Upgrade libxml-ruby version to 2.8.0
- Update https certificate bundle
- Add better defaults to client token generation when using an access token by consolidating client token defaults into ClientTokenGateway
- Add PaymentMethod#revoke
- Add VenmoAccount
- Add support for Set Transaction Context supplementary data
- Treat dispute date_opened and date_won attributes as Dates. Note: in versions 2.51.0-2.53.0, the dispute date_opened and date_won attributes were incorrectly parsed as strings. We pulled them off RubyGems to prevent the incorrect code from being downloaded.
- This version of the library was removed from RubyGems. See the note on 2.54.0 for further explanation.
- Adds options to skip avs and cvv checks for a single transaction
- This version of the library was removed from RubyGems. See the note on 2.54.0 for further explanation.
- Add Amex Express Checkout payment method
- Fix bug where Customer#payment_methods didn't include Android Pay cards
- This version of the library was removed from RubyGems. See the note on 2.54.0 for further explanation.
- Fixes bug with signature of partner oauth connect url
- Adds date_won, date_opened and kind to dispute webhook parsing
- Make grant a method on PaymentMethod and not just CreditCard
- Adds support for nonce granting to CreditCards
- Adds FacilitatorDetails for facilitated transactions
- Adds authorized_transaction_id, partial_settlement_transaction_ids and facilitator_details attr_readers to Transaction
- Adds support for Transaction#sale with raw Apple Pay parameters
- Adds Merchant.provision_raw_apple_pay
- Relaxes constraints on TransactionSearch#source
- Adds Check WebhookNotifications
- Adds Transaction.submit_for_partial_settlement
- Remove Amex Pay with Points response from Transaction.sale response
- Add expired? method to Apple Pay card
- Add customer_id property to +AndroidPayCard+, +ApplePayCard+, +CoinbaseAccount+, +EuropeBankAccount+, +PaypalAccount+, and +UnknownPaymentMethod+
- Add new error +ProcessorDoesNotSupportAuths+
- Fix issue in TestTransaction spec
- Fix issue with LibXML causing a segfault when using Ruby version 2.0.0
- Add support for Amex rewards transactions
- Add billing_agreement_id to PayPalAccount
- Fix bug in TestingGateway#check_environment
- Add {ApplePayDetails,ApplePayCard,AndroidPayDetails,AndroidPayCard}#source_description
- Add AndroidPayDetails#source_card_type, #source_card_last_4
- Add PaypalDetails#description, #transaction_fee_amount, #transaction_fee_currency_iso_code
- Add new card-specific Android Pay test nonces
- Add various other test nonces
- Add oauth support
- Add support for Android Pay
- Validate webhook challenge payload
- Changed CreditCardVerification::Status constants
- Add missing criteria to CreditCardVerification search
- Add 3DS info to server side
- Add {ApplePayCard,CoinbaseAccount}#default?
- Add {ApplePayCard,CoinbaseAccount} payment instrument constants
- Add European Bank Account test nonce
- Add support for new SEPA workflow
- Add 3D Secure transaction fields
- Add ability to create nonce from vaulted payment methods
- Surface Apple Pay payment instrument name in responses
- Support Coinbase payment instruments
- Improve support for SEPA payment instruments
- Upgrade RSpec and improve tests
- Update links to documentation
- Use OpenSSL::Digest instead of OpenSSL::Digest::Digest (Thanks, Michael Koziarski (@NZKoz))
- 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
- Update version number
- Allow credit card verification options to be passed outside of the nonce for PaymentMethod.create
- Allow billing_address parameters and billing_address_id to be passed outside of the nonce for PaymentMethod.create
- Add Subscriptions to paypal accounts
- Add PaymentMethod.update
- Add fail_on_duplicate_payment_method option to PaymentMethod.create
- Add Descriptor#url
- Official support for v.zero SDKs.
- Add support for lodging industry data
- Ensure that TR Data is encoded correctly
- 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
- Use OpenSSL::Digest instead of OpenSSL::Digest::Digest (Thanks Scott Rocher, scottrocher@gmail.com)
- Merchant account find API
- Merchant account update API
- Merchant account create API v2
- Official support for Partnerships
- Changed visibility of methods used in multi-tenancy
- Adds hold_in_escrow and hold_in_escrow! methods
- Add error codes for verification not supported error
- Add company_name and tax_id to merchant account create
- Updates webhook notification to provide errors and merchant account at the top level
- Adds cancel_release and cancel_release! methods
- Refactors transaction_gateway
- Adds release_from_escrow!
- 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.
- Adds channel field to transactions.
- Add card type indicators to transactions and verifications
- Add additional card types for card type indicators
- Added ability to allow TR query parameters with no value (thanks @dmathieu!)
- 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: Yes, No, Unknown)
- Adds webhook gateways for parsing, verifying, and testing incoming notifications
- Adds Transaction.refund!(id, amount = nil)
- Adds unique_number_identifier attribute to CreditCard
- Adds search for duplicate credit cards given a payment method token
- Adds flag to fail saving credit card to vault if card is duplicate
- Allows both url encoded and decoded query string and hash
- Exposes plan_id on transactions
- Fixes GitHub issue #19 - Unescapes escaped characters in query string
- Added error code for invalid purchase order number
- Changes transparent redirect query string regexp to allow hash to appear anywhere in params string
- Made the production endpoint configurable
- Added new error code for merchant accounts that do not support refunds
- Added GEMSPEC file
- Added ability to retrieve all Plans, AddOns and Discounts
- Added Transaction cloning
- Added SettlementBatchSummary
- Added support for international Maestro cards with payer authentication
- Support builder >= 2.0
- Changed comments to point to new doc site
- Added subscription_details to Transaction
- Added flag to store in vault only when a transaction is successful
- Added new error code
- 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 advanced vault search for customers and payment methods
- Added dynamic descriptors
- Added level 2 fields to transactions:
- tax_amount
- tax_exempt
- purchase_order_number
- Allow passing of existing shipping_address_id on new transactions
- 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
- Now supports ruby 1.9.1 and 1.9.2
- Added ability to perform multiple partial refunds on Transactions
- Deprecated Transaction refund_id in favor of refund_ids
- Added Braintree::Address::CountryNames, a list of the country names/codes that the gateway accepts (thanks r38y[https://github.com/r38y])
- 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 new fields to Subscription:
- balance
- paid_through_date
- next_billing_period_amount
- Removed ssl expiration check
- Lazy initialize Configuration.logger when directly instantiating configuration
- Lazy initialize Configuration.logger to fix bug with ssl expiration check
- Added AddOns/Discounts
- Enhanced Subscription search
- Enhanced Transaction search
- Made gateway operations threadsafe when using multiple configurations
- Allowed prorate_charges to be specified on Subscription update
- Added AddOn/Discount details to Transactions that were created from a Subscription
- Added Expired and Pending statuses to Subscription
- Added constants for CreditCardVerification statuses
- Renamed GatewayRejectionReason constants to make them more idiomatic
- Removed 13 digit Visa Sandbox Credit Card number and replaced it with a 16 digit Visa
- Added refund class method on Transaction
- Deprecated instance methods on Resource classes in favor of class methods
- Added new fields to Subscription:
- billing_day_of_month
- days_past_due
- first_billing_date
- never_expires
- number_of_billing_cycles
- Added unified message to result objects
- Added ability to specify country using country_name, country_code_alpha2, country_code_alpha3, or country_code_numeric (see ISO_3166-1[https://en.wikipedia.org/wiki/ISO_3166-1])
- Added gateway_rejection_reason to Transaction and Verification
- Added delete as a class method on CreditCard (in addition to the existing instance method)
- Allow searching with Date objects (in addition to DateTime and Time objects)
- When creating a Subscription, return failed transaction on the ErrorResult if the initial transaction is not successful
- Fixed gem packaging
- Removed dependency on libxml -- it will still be used if libxml is explicitly required or it will fall back on rexml
- Added unified TransparentRedirect url and confirm methods and deprecated old methods
- Allow updating the payment_method_token on a subscription
- Added methods to link a Transaction with its refund and vice versa
- Allow card verification against a specified merchant account
- Added ability to update a customer, credit card, and billing address in one request
- 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 payment method
- Allow existing billing address to be updated when updating credit card
- Updated success? on transaction responses to return false on declined transactions
- Search results now include Enumerable and will automatically paginate data
- Added credit_card[cardholder_name] to allowed transaction params and CreditCardDetails (thanks chrismcc[https://github.com/chrismcc])
- Added ValidationErrorCollection#shallow_errors to get all of the ValidationErrors at a given level in the error hierarchy
- Added the ability to make a credit card the default card for a customer
- Added constants for transaction statuses
- Updated Quick Start in README.rdoc to show a workflow with error checking
- Added Subscription search
- Updated production CA SSL certificate authority
- Updated credit cards to include associated subscriptions when finding in vault
- Fixed bug where we used to raise a "forged query string" exception when we were down for maintenance.
- Fixed a bug with empty search results
- Added support for appending to user agent
- Finding a customer using id as an integer will now work (even though customer ids are actually strings)
- Allow passing expiration_month and expiration_year separately
- Updated Customer.find to raise an ArgumentError if given an invalid id
- Added error code for transaction amounts that are too large
- Include Enumerable in Braintree::Errors to iterate over all validation errors
- Added processor_authorization_code attr_reader to Braintree::Transaction
- Added cvv_response_code attr_reader to Braintree::Transaction
- Added deep_errors method to Braintree::ValidationErrorCollection to get errors at every level of nesting
- Added explicit require for date to fix missing initialize (thanks jherdman[https://github.com/jherdman])
- Allow Transaction price and Subscription amount as BigDecimals (as well as Strings)
- Ruby 1.9 bug fixes (thanks Leo Shemesh)
- Recurring billing support
- Custom fields support
- Transaction status history support
- Initial release