NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #815 most downloaded on Packagist
Braintree PHP Client Library
Last release 22 days ago
16 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
145 releases · first in 2012
Fix path traversal vulnerability in CreditCard, Customer, MerchantAccount, PayPalAccount, PaymentMethod, PaymentMethodNonce, Plan, SepaDirectDebitAcco…
CreditCard, Customer, MerchantAccount, PayPalAccount, PaymentMethod, PaymentMethodNonce, Plan, SepaDirectDebitAccount, Subscription, Testing, Transaction, TransactionLineItem, UsBankAccount, and UsBankAccountVerification gateways by validating that IDs used in request paths do not contain path separators or relative-path segmentsshipping(including company, countryCodeAlpha2, countryCodeAlpha3, countryCodeNumeric, countryName, extendedAddress, firstName, lastName, locality, phoneNumber, internationalPhone, postalCode, region, streetAddress) and shippingAddressId to Transaction::submitForSettlement()ach_type to transaction searchsurchargeAmount to Transaction::refund()One column per quarter.
Fix path traversal vulnerability in Dispute and Address gateways by validating that IDs used in request paths do not contain path separators or relati…
Dispute and Address gateways by validating that IDs used in request paths do not contain path separators or relative-path segmentsPAYPAL_ACCOUNT_EMAIL_FORMAT_IS_INVALID (92963) and PAYPAL_ACCOUNT_EMAIL_IS_TOO_LONG (92964) validation error codespreferredPaymentMethodToken to ClientToken::generateDeprecate debugId on Transaction\PayPalDetails, Transaction\LocalPaymentDetails, and Transaction\SepaDirectDebitAccountDetails
debugId on Transaction\PayPalDetails, Transaction\LocalPaymentDetails, and Transaction\SepaDirectDebitAccountDetailsaccountReferenceNumberType to sender and receiver in transfer on TransactionCannotCloneThirdPartyCofNetworkTokenTransaction (915274) transaction validation error codeFix webhook signature verification vulnerability when using OAuth Connect
mastercardTransactionLinkId to Transaction and VerificationAdd support for apple pay card verifications
Fixes syntax error in Version.php file
Version.php fileAdd Local Payment Context support with LocalPaymentGateway->create() and LocalPaymentGateway->find() methods
LocalPaymentGateway->create() and LocalPaymentGateway->find() methodsacquirerReferenceNumber to transaction search objectaccountFundingTransaction from Transaction requestapiRequestKey (idempotency) support for Transaction::sale(), Transaction::credit(), Transaction::submitForSettlement(), Transaction::submitForPartialSettlement(), Transaction::void(), and Transaction::refund()surchargeAmount to transaction objectFix PHP 8.5 curl_close() deprecation warning by using version-conditional cleanup
acceptPartialAuthorization to TransactionGateway and partiallyAuthorized to Transactionvisa_checkout_card and maintain search functionalityachType to options -> usBankAccount in Transaction::sale()achType and requestedAchType to TransactionFilter CreditCardVerification::search() to only return credit card verifications
middleName to sender and receiver, and dateOfBirth to sender in transfer on TransactionAdjustmentAmountMustBeGreaterThanZeroAdd processingMerchantCategoryCode to TransactionGateway
processingMerchantCategoryCode to TransactionGatewaytransfer validation error codes in TransactionAdd Bank Account Instant Verification functionality
BankAccountInstantVerificationGateway for creating JWT tokensBankAccountInstantVerificationJwt and BankAccountInstantVerificationJwtRequest classesbankAccountInstantVerification() method to main Gateway classachMandateText and achMandateAcceptedAt fields to Transaction and PaymentMethod create signaturesusBankAccount parameter support for ACH mandate detailsINSTANT_VERIFICATION_ACCOUNT_VALIDATION as a new US Bank Account verification methodsender and receiver to transfer in TransactionachRejectReason field to TransactionisDeviceToken and merchantTokenIdentifier to ApplePayCard and ApplePayDetailspaymentAccountReference to ApplePayCardDetails, GooglePayCardDetails, CreditCardDetails and CreditCardVerificationAdd upcomingRetryDate to Transaction
upcomingRetryDate to TransactionremainingFileEvidenceStorage to Disputetransaction_retried webhooktransfer type to TransactionAdd Session Id to Customer Recommendations Payload
Add accountInformationInquiry to:
accountInformationInquiry to:
CreditCard.create and CreditCard.updatePaymentMethod.create and PaymentMethod.updateCreditCardVerification.createbusiness, consumer, corporate, and purchase from the bin data to credit card responsesAdd support for capturing payment facilitator and sub-merchant details with transactions
Add support for PayPalPaymentResource requests
PayPalPaymentResource requestsAdd support for creating and updating PayPal customer session
Add recipient/contact info: recipient_emailand recipient_phone to Transaction
recipient_emailand recipient_phone to TransactionAdd fail_on_duplicate_payment_method_for_customer option to
fail_on_duplicate_payment_method_for_customer option to
ClientTokenPaymentMethodCreditCardblik_aliases to LocalPaymentCompleted webhookSamsungPayCardAdd payer_name, bic and iban_last_chars to LocalPaymentCompleted webhook
payer_name, bic and iban_last_chars to LocalPaymentCompleted webhookeditPaypalVaultId to PayPalAccountaniFirstNameResponseCode and aniLastNameResponseCode to CreditCardVerificationshippingTaxAmount to TransactionnetworkTokenizationAttributes parameter to Transaction.saleCREDIT_CARD_NETWORK_TOKENIZATION_ATTRIBUTE_CRYPTOGRAM_IS_REQUIRED to validation error codes.Deprecate paypalTrackingId in favor of paypalTrackerId
foreignRetailer to TransactioninternationalPhone to Address and CustomerfundingSourceDescription to PayPalAccountGooglePayCard error codeREFUND_FAILED to WebhookNotificationfinal_capture to Transaction submitForPartialSettlementpaypalTrackingId in favor of paypalTrackerIdDeprecate CreditCard::credit in favor of Transaction::credit
CreditCard::credit in favor of Transaction::creditCreditCard::sale in favor of Transaction::saledomains parameter support to ClientToken::generateClientTokenGatewayAdd UNDER_REVIEW Dispute Status
UNDER_REVIEW Dispute StatusDISPUTE_UNDER_REVIEW WebhookNotificationdebitNetwork support Transaction and TransactionSearchprocess_debit_as_credit to TransactionOptionsCreditCardRequestDeprecate threeDSecureToken in favor of threeDSecureAuthenticationId
threeDSecureToken in favor of threeDSecureAuthenticationIdvenmoSdkSession, venmoSdkPaymentMethodCode, and isVenmoSdk()PICKUP_IN_STORE to ShippingMethod enumCreditCardVerification create request
externalVaultpaymentMethodNonceriskDatathreeDSecureAuthenticationIdthreeDSecurePassThruphoneNumber to Address, CreditCardGateway, PaymentMethodGateway and CustomerGatewaypackages to TransactionpackageTracking method to TransactionGateway to make request to add tracking information to transactionsliabilityShift in RiskDataimageUrl, upcCode, and upcType to lineItems in TransactionGatewayAdd billingAddress and shippingAddress to VenmoProfileData for PaymentMethodCustomerDataUpdated webhook
billingAddress and shippingAddress to VenmoProfileData for PaymentMethodCustomerDataUpdated webhookMetaCheckoutCard and MetaCheckoutToken payment methodsMetaCheckoutCardDetails and MetaCheckoutTokenDetails to Transaction objectverificationAddOns and additionalProcessorResponse to PaymentMethodCreate for ACH Network CheckdateOfBirth and countryCode to industry_dataAdd arrivalDate and ticketIssuerAddress to Transaction object
arrivalDate and ticketIssuerAddress to Transaction objectSUBSCRIPTION_BILLING_SKIPPED WebhookNotificationAdd retry_ids and retry_transaction_id to Transaction object
retry_ids and retry_transaction_id to Transaction objectprocessing_overrides to Transaction.sale optionsAdd subscriptions for SEPA direct debit account
merchant_advice_code and merchant_advice_code_text to TransactionTestingGateway methods return type is Result\Error for validation errors.
TestingGateway methods return type is Result\Error for validation errors.Resolved various dynamic property warnings for PHP 8.2 (thanks to @mvoelker & @markdavidsonEE)
Add preDisputeProgram to Dispute and DisputeSearch
preDisputeProgram to Dispute and DisputeSearchAUTO_ACCEPTED Dispute StatusDISPUTE_AUTO_ACCEPTED WebhookNotificationEXCESSIVE_RETRY to GatewayRejectionReasonDeprecate chargebackProtectionLevel and add protectionLevel to Dispute and DisputeSearch
SEPADirectDebitAccount payment methodSEPADirectDebitAccountDetails to transaction objectSEPA_DIRECT_DEBIT_ACCOUNT to payment instrument typechargebackProtectionLevel and add protectionLevel to Dispute and DisputeSearchAddress PHP 8.2 deprecation warnings due to string interpolation patterns. (thanks @Ayesh)
Add TRANSACTION_REASON_CODE to search for transaction that have any ach return response with reason code associated.
TRANSACTION_REASON_CODE to search for transaction that have any ach return response with reason code associated.reasonCode criteria to TransactionSearchachReturnResponsesCreatedAt criteria to TransactionSearchLiabilityShift class and liabilityShift to RiskDataExchangeRateQuoteAPInull warnings (thanks @simoheinonen & @robbieaverill)* Add retried to Transaction
retried to Transaction* Fix lint errors on unit test
Add PaymentMethodCustomerDataUpdated webhook notification support
PaymentMethodCustomerDataUpdated webhook notification supportAddress PHP 8.1 Deprecation warnings
Add plan create/update/find API endpoint
TransactionReview webhook notificationAdd exchangeRateQuoteId to Transaction.sale
exchangeRateQuoteId to Transaction.saleEXCHANGE_RATE_QUOTE_ID_IS_TOO_LONGcommercialdebitdurbinRegulatedhealthcarepayrollprepaidproductIdcountryOfIssuanceissuingBankLocalPaymentExpired and LocalPaymentFunded webhook notification supportNothing published for this version
Add paymentReaderCardDetails parameter to Transaction.sale
paymentReaderCardDetails parameter to Transaction.saleTRANSACTION_TAX_AMOUNT_IS_REQUIRED_FOR_AIB_SWEDISH for attribute taxAmount in transaction key for AIB:Domestic transactions in Sweden.Add chargebackProtectionLevel to Dispute and DisputeSearch
chargebackProtectionLevel to Dispute and DisputeSearchskipAdvancedFraudChecking to:
CreditCard.create and CreditCard.updatePaymentMethod.create and PaymentMethod.updateFix bug where __isset methods in Instance and Base classes treated null value as set (Thanks @sklodzio)
paypalMessages to Dispute__isset methods in Instance and Base classes treated null value as set (Thanks @sklodzio)tax_identifiers parameter to Customer.create and Customer.updateGrantedPaymentMethodRevokedSUBSCRIPTION_EXPIRED, SUBSCRIPTION_CANCELED and SUBSCRIPTION_WENT_PAST_DUE (thanks @antonvolokha)Add LocalPaymentReversed webhook
LocalPaymentReversed webhookadjustAuthorization method to Transaction, for supporting multiple authorizations on a single transactionstoreId and storeIds to Transaction searchmerchantAccountId parameter to Transaction refundtoArray function to Base and Instance classes (resolves #289)jsonSerialize to Instance classAndroidPayCard to GooglePayCardAndroidPayCardDetails to GooglePayCardDetailsTRANSACTION_EXTERNAL_VAULT_CARD_TYPE_IS_INVALID and RISK_DATA_CUSTOMER_BROWSER_IS_TOO_LONG error codescustomer_ip and customer_browser snake case parameters in favor of camel case customerIp and customerBrowser accepted in Customer#create and Transaction#saleAmexExpressCheckoutCard and AmexExpressCheckoutCardDetailsMasterpassCard and MasterpassCardDetailsdeviceSessionId from CreditCardGateway#update, CreditCardGateway#create, CustomerGateway#create, CustomerGateway#update, PaymentMethodGateay#update, and TransactionGateway#createfraudMerchantId from CreditCardGateway#update, CreditCardGateway#create, CustomerGateway#create, CustomerGateway#update, PaymentMethodGateay#update, and TransactionGateway#createDeprecate deviceSessionId and fraudMerchantId in CreditCardGateway, CustomerGateway, PaymentMethodGateway, and TransactionGateway classes
scaExemption to Transaction saledeviceSessionId and fraudMerchantId in CreditCardGateway, CustomerGateway, PaymentMethodGateway, and TransactionGateway classesinstallments to Transaction salecount to installmentsDeprecate recurring in Transaction sale
AcquirerReferenceNumber to TransactionbillingAgreementId to PayPalDetailsrecurring in Transaction saletag in Dispute add text evidenceDeprecate masterpassCard and amexExpressCheckoutCard payment methods
masterpassCard and amexExpressCheckoutCard payment methodsamexExpressCheckoutCardDetailsAdd RISK_THRESHOLD to GatewayRejectionReason constants
RISK_THRESHOLD to GatewayRejectionReason constantsnetworkTransactionId to CreditCardVerificationprocessedWithNetworkToken to TransactionisNetworkTokenized to CreditCardproductSku to TransactionphoneNumber and shippingMethod to AddresscustomerDeviceId, customerLocationZip, and customerTenure to RiskDataTRANSACTION_PRODUCT_SKU_IS_INVALIDTRANSACTION_SHIPPING_METHOD_IS_INVALIDTRANSACTION_SHIPPING_PHONE_NUMBER_IS_INVALIDTRANSACTION_BILLING_PHONE_NUMBER_IS_INVALIDRISK_DATA_CUSTOMER_BROWSER_IS_TOO_LONGRISK_DATA_CUSTOMER_DEVICE_ID_IS_TOO_LONGRISK_DATA_CUSTOMER_LOCATION_ZIP_INVALID_CHARACTERSRISK_DATA_CUSTOMER_LOCATION_ZIP_IS_INVALIDRISK_DATA_CUSTOMER_LOCATION_ZIP_IS_TOO_LONGRISK_DATA_CUSTOMER_TENURE_IS_TOO_LONGRISK_DATA_CUSTOMER_TENURE_IS_INVALIDAdd retrieval_reference_number to Transaction
retrieval_reference_number to TransactionproxyHost, proxyPort, proxyType, proxyUser, proxyPassword, and sslVersion were not being set on Gateway or Configuration objects.Add threeDSecurePassThru parameters to Customer.create, PaymentMethod.create, CreditCard.create, Customer.update, PaymentMethod.update and CreditCard.
threeDSecurePassThru parameters to Customer.create, PaymentMethod.create, CreditCard.create, Customer.update, PaymentMethod.update and CreditCard.updaterecurringCustomerConsent and recurringMaxAmount to authenticationInsightOptions for PaymentMethodNonce.createDOCUMENT_UPLOAD_FILE_IS_EMPTY error codeRemove deprecated SEPA error codes
DISPUTE_ACCEPTED, DISPUTE_DISPUTED, and DISPUTE_EXPIRED webhook constantsRequestTimeout instead of Timeout for transaction searchpaypalVaultWithoutUpgradeAdd Authentication Insight to payment method nonce create
Authentication Insight to payment method nonce createthreeDSecureAuthenticationId support to transaction saleAuthenticationIdsAdd RefundAuthHardDeclined and RefundAuthSoftDeclined to validation errors
RefundAuthHardDeclined and RefundAuthSoftDeclined to validation errorspurchaseOrderNumber, taxAmount, and taxExempt to Transaction submit for settlementdiscountAmount, shippingAmount, shipsFromPostalCode, and lineItems to Transaction submit for settlementAdd isNetworkTokenized to AndroidPayCard and AndroidPayCardDetails
isNetworkTokenized to AndroidPayCard and AndroidPayCardDetailsCreditCardVerification, Customer, Dispute, and TransactionthreeDSecurePassThru params to PaymentMethod updateAdd PROCESSOR_DOES_NOT_SUPPORT_MOTO_FOR_CARD_TYPE to validation errors
PROCESSOR_DOES_NOT_SUPPORT_MOTO_FOR_CARD_TYPE to validation errorsAdd AMOUNT_NOT_SUPPORTED_BY_PROCESSOR to validation errors
AMOUNT_NOT_SUPPORTED_BY_PROCESSOR to validation errorsforwardedComments to processorCommentsAdd PayPalHereDetails to transactions
PayPalHereDetails to transactionsnetwork_response_code and network_response_text to Transaction and CreditCardVerificationxid, cavv, eciFlag, dsTransactionId, and threeDSecureVersion to ThreeDSecureInfothreeDSecureInfo to CreditCardVerificationGraphQLClient to BraintreeGateway classAdd captureId to LocalPaymentDetails
captureId to LocalPaymentDetailsdebugId to LocalPaymentDetailsrefundId to LocalPaymentDetailstransactionFeeAmount to LocalPaymentDetailstransactionFeeCurrencyIsoCode to LocalPaymentDetailsrefundFromTransactionFeeAmount to LocalPaymentDetailsrefundFromTransactionFeeCurrencyIsoCode to LocalPaymentDetailsthreeDSecureVersion, authenticationResponse, directoryResponse, cavvAlgorithm and dsTransactionId to 3DS pass thru fieldspayerInfo to PaymentMethodNonce detailsroomTax field to Transaction salenoShow field to Transaction saleadvancedDeposit field to Transaction salefireSafe field to Transaction salepropertyPhone field to Transaction saleadditionalCharges field to Transaction salePostalCodeIsRequiredForCardBrandAndProcessor to validation errorsAdd revokedAt field to PayPalAccount
revokedAt field to PayPalAccountPAYMENT_METHOD_REVOKED_BY_CUSTOMER webhookpayment_method_nonce field to LocalPaymentCompleted webhooktransaction field to LocalPaymentCompleted webhooklocalPaymentDetail to transactionsTOKEN_ISSUANCE gatewayRejectionReason enum to TransactionYour coding agent can read these notes before it upgrades. Set up the MCP server →