This v29.0.0 release introduces several improvements, support of new Webhook events and several fixes.
Note
It is also the last version that supports PHP 7.3. Please read the note below.
NOTICE: Upcoming release of PHP library v30 and end of support for PHP 7.3
The next version (v30) will introduce several key improvements like native enums, named arguments and the constructor property promotion.
With the release of v30, we will also remove support for the PHP 7.3 runtime environment.
The PHP community declared PHP 7.3 End-of-Life (EOL) in 2021, meaning it no longer receives security patches or bug fixes. Consequently, our v30 library will require a newer runtime (PHP 8.1 or higher) to ensure your integration remains secure and aligned with industry standards.
We recommend upgrading your environment to maintain proper integration hygiene and access to new features.
We will provide the necessary technical details and breaking changes in the v30 release notes to assist your development team with the transition.
You can identify the integrations making use of the PHP library in the Customer Area:
Path: Developers -> Dashboard
View: “Integration types” dashboard -> 'Libraries' tab.
The “Used by” column identifies the specific merchant accounts using this library.
v29.0.0
Breaking Changes 🛠
Checkout API
A new ShopperName class has been introduced to define the name of the shopper. This change affects the shopperName property in the following classes: CreateCheckoutSessionRequest, CreateCheckoutSessionResponse, DonationPaymentRequest, PaymentRequest.
The property type has been updated from Name to ShopperName.
Migration Steps for PHP
If you were manually creating the Name object for your requests, you must now instantiate the ShopperName model instead:
Before:
$name = new \Adyen\Model\Checkout\Name();
$name->setFirstName("John");
$request->setShopperName($name);After:
$shopperName = new \Adyen\Model\Checkout\ShopperName();
$shopperName->setFirstName("John");
$request->setShopperName($shopperName);Enum FRAUD_RESULT_TYPE_FRAUD has been removed from ResponseAdditionalDataCommon
New Features 💎
Checkout API
- Added support for Checkout Forward stored payment details
- Added support for
UpiQrDetailspayment method - Added the
SdkDataproperty to all payment methods (i.e.AchDetails, etc..) - Added attributes
billingSequenceNumberandencryptedPasswordinCardDetails,CardDonations,CheckoutPaymentMethod - Added attributes
bankCodeandbranchCodeinCheckoutBankTransferAction,CheckoutBankTransferAction,PaymentResponseAction - Added attribute
levelTwoThreetoEnhancedSchemeData - Added enum
prepaidInApplePayDonations,CardDetails,CardDonations,PaymentMethod,VisaCheckoutDetails - Added attributes
paymentValidationsandshopperTaxInfoinPaymentRequest - Added attribute
paymentValidationsinPaymentResponse - Added new contract types (
EXTERNALandONECLICK,RECURRING) to theContractEnuminRecurring - Added attribute
sepadirectdebitSepadirectdebitDueDateinResponseAdditionalDataSepa - Added
ResponseAdditionalDataSwishclass - Added attribute
dueDatetoSepaDirectDebitDetails - Added attribute
mandatetoStoredPaymentMethodResource - Added attribute
billingSequenceNumbertoUpiIntentDetails - Added attributes
recurringDetailReference,storedPaymentMethodIdinWeChatPayMiniProgramDetails
LegalEntity Management API
- Add support for Request Periodic Data Review
- Make optional attribute
dateOfFinancialDatainFinancialReport
BinLookup API
- In class
Recurringadd enumsCONTRACT_ONECLICKRECURRINGandCONTRACT_EXTERNAL
Recurring API
- In class
Recurringadd enumsCONTRACT_ONECLICKRECURRINGandCONTRACT_EXTERNAL
Payout API
- In class
Recurringadd enumsCONTRACT_ONECLICKRECURRINGandCONTRACT_EXTERNAL - In
ResponseAdditionalDataSepaaddsepadirectdebitSepadirectdebitDueDateattribute - Add class
ResponseAdditionalDataSwish
Balance Platform
- Add attributes
name,line1,line2,line3inBulkAddress - Make optional attribute
numberinCard - Add attribute
phoneinDeviceInfo - Add enum value
dataReviewinVerificationErrorandVerificationErrorRecursive
Several attributes (cardCaptureTechnology, deviceName, imei, isoDeviceType, msisdn, osVersion, paymentTypes, serialNumber, storageTechnology) have been removed DeviceInfo: this is NOT considered a breaking change since those attributes were never included in the API response
Note
In SweepConfigurationV2, CreateSweepConfigurationV2 and UpdateSweepConfigurationV2 several enum values have been deleted (REASON_APPROVAL_EXPIRED, REASON_DECLINED, etc..), however those values were never delivered or used.
Transfers API
- Add attribute
storedPaymentMethodIdinBankAccountV3 - Add enum value
STATUS_ACCEPTEDinConfirmationTrackingData - Add attribute
fundingInstrumentinUltimatePartyIdentification - Add enum value
PLATFORM_PAYMENT_TYPE_DCC_MARKUPinPlatformPayment - Add several enum values in
TransferData,TransferDataCategoryData,TransferEvent
Transfer Webhooks
- Add attribute
storedPaymentMethodIdinBankAccountV3 - Add enum value
STATUS_ACCEPTEDinConfirmationTrackingData - Add enum value
PLATFORM_PAYMENT_TYPE_DCC_MARKUPinPlatformPayment - Add several enum values in
TransferData,TransferDataCategoryData,TransferEvent
Transaction Webhooks
- Add enum
DCCMarkupinPlatformPayment
Balance Webhooks
- Add support for Blocked funds released
Disputes Webhooks
- Add enum
TYPE_OTHERinBalancePlatformNotificationResponse
Configuration Webhooks
- In
BulkAddressadd attributesline1,line2,line3,mobile,name - Make optional attribute
numberinCard - Add attribute
deviceIdinDevice - Add attribute
schemeRiskScoreinNetworkTokenNotificationDataV2.php - Add enum value
TYPE_DATA_REVIEWinVerificationError - Add enum value
TYPE_DATA_REVIEWinVerificationErrorRecursive
Note
In SweepConfigurationV2 several enum values have been deleted (REASON_APPROVAL_EXPIRED, REASON_DECLINED, etc..), however those values were never delivered or used.
Management Webhooks
- Add attribute
assignedToStoreIdinTerminalAssignmentNotificationRequest - Add enum
TYPE_DATA_REVIEWinVerificationError
Transfer Webhooks
- Add attribute
storedPaymentMethodIdinBankAccountV3 - Add enum value
STATUS_ACCEPTEDinConfirmationTrackingData - Add enum value
PLATFORM_PAYMENT_TYPE_DCC_MARKUPinPlatformPayment - Add several enum values in
TransferData,TransferDataCategoryData,TransferEvent
Relayed Authorization webhooks
- Add support for Relayed Authorization webhooks
Other Changes 🖇️
- Update PHPUnit to 9.6.33 to fix unsafe deserialization vulnerability by #880
- Format UserAgent on API requests by @gcatanese in #843
- AGENTS.md for contributors by @galesky-a in #842
- Tests with nested object (strictly types vs array) by @gcatanese in #845
- feat(ci): move formatting step before PR creation by @galesky-a in #846
- ci: Allow formatting to fail as before by @galesky-a in #847
Changes by PR
- [legalentitymanagement] Code generation: update services and models by @AdyenAutomationBot in #857
- Untrusted Actions Versioning by @gcatanese in #836
- [negativebalancewarningwebhooks] Code generation: update services and models by @AdyenAutomationBot in #848
- [storedvalue] Code generation: update services and models by @AdyenAutomationBot in #855
- [acswebhooks] Code generation: update services and models by @AdyenAutomationBot in #858
- [dataprotection] Code generation: update services and models by @AdyenAutomationBot in #859
- [binlookup] Code generation: update services and models by @AdyenAutomationBot in #849
- [recurring] Code generation: update services and models by @AdyenAutomationBot in #854
- [payout] Code generation: update services and models by @AdyenAutomationBot in #864
- [disputewebhooks] Code generation: update services and models by @AdyenAutomationBot in #851
- [balancecontrol] Code generation: update services and models by @AdyenAutomationBot in #852
- Add merge_group trigger to CI workflow by @Copilot in #872
- [transferwebhooks] Code generation: update services and models by @AdyenAutomationBot in #863
- [transactionwebhooks] Code generation: update services and models by @AdyenAutomationBot in #866
- [payment] Code generation: update services and models by @AdyenAutomationBot in #853
- chore(deps): update actions-ecosystem/action-add-labels digest to 1a9c371 by @renovate[bot] in #838
- [managementwebhooks] Code generation: update services and models by @AdyenAutomationBot in #856
- [transfers] Code generation: update services and models by @AdyenAutomationBot in #862
- [configurationwebhooks] Code generation: update services and models by @AdyenAutomationBot in #861
- [balancewebhooks] Code generation: update services and models by @AdyenAutomationBot in #867
- [management] Code generation: update services and models by @AdyenAutomationBot in #850
- [relayedauthorizationwebhooks] Code generation: update services and models by @AdyenAutomationBot in #870
- [checkout] Code generation: update services and models by @AdyenAutomationBot in #860
- chore(deps): update dependency phpunit/phpunit to v9.6.31 by @renovate[bot] in #822
- [balanceplatform] Code generation: update services and models by @AdyenAutomationBot in #865
- Update PHPUnit to 9.6.33 to fix unsafe deserialization vulnerability by @Copilot in #880
- Release v29.0.0 by @AdyenAutomationBot in #837
New Contributors
- @galesky-a made their first contribution in #842
- @Copilot made their first contribution in #872
- @jeandersonbc made their first contribution in #875
Full Changelog: v28.3.0...v29.0.0