Context
The Migrating from Terminal (Cloud) API to Cloud device API guide documents the differences between the nexo (Terminal (Cloud) API) and tapi (Cloud device API) models.
While cross-checking the equivalent Node.js migration guide against the shared OpenAPI (tapi) diff, several spec-driven changes that are present in the Java com.adyen.model.tapi package turned out to be missing from the guide. These were verified directly against the generated Java tapi sources.
Proposed Change
Add the following to doc/MigratingToCloudDeviceApi.md:
-
A new "Enum value differences" section. Enum values (not just names) changed, so code using old values will not compile:
CharacterStyle: Underlined -> UNDERLINE
MessageCategory: removed Batch, CardReaderAPDU, CardReaderInit, CardReaderPowerOff, PIN, Sound, Transmit; added NONE
EventToNotify: removed NetworkConnected/NetworkDisconnected; added USE_ANOTHER_CARD_FOR_PREAUTH
TrackFormat: removed JisI/JisIi
-
A "Property renames" table:
ICCResetData: AtrValue -> ATRValue
SoundContent: Value -> Text
TrackData: Value -> TrackValue
StoredValueAccountID: Value -> StoredValueID
-
Expand the "Model classes" rename table (currently only lists TransactionIdentification -> TransactionIDType) with the other renamed classes present in tapi:
CheckTypeCodeType -> TypeCode
SignaturePoint -> Point
CardholderPIN -> CardHolderPIN
StoredValueAccountId -> StoredValueAccountID
LoyaltyAccountId -> LoyaltyAccountID
InstalmentType -> Instalment (e.g. PaymentResult.getInstalment() now returns Instalment)
-
Document the SaleToAcquirerData field type change: in tapi, SaleData.saleToAcquirerData is now a String (it was a SaleToAcquirerData object in nexo). Integrations that built applicationInfo/merchantApplication via that object must update their code.
Benefit
- Prevents migration surprises: the enum value changes and
SaleToAcquirerData type change cause compile errors or behavior changes that the guide currently does not warn about.
- Completes the model/property rename reference so developers can map their existing code accurately.
Context
The Migrating from Terminal (Cloud) API to Cloud device API guide documents the differences between the
nexo(Terminal (Cloud) API) andtapi(Cloud device API) models.While cross-checking the equivalent Node.js migration guide against the shared OpenAPI (
tapi) diff, several spec-driven changes that are present in the Javacom.adyen.model.tapipackage turned out to be missing from the guide. These were verified directly against the generated Javatapisources.Proposed Change
Add the following to
doc/MigratingToCloudDeviceApi.md:A new "Enum value differences" section. Enum values (not just names) changed, so code using old values will not compile:
CharacterStyle:Underlined->UNDERLINEMessageCategory: removedBatch,CardReaderAPDU,CardReaderInit,CardReaderPowerOff,PIN,Sound,Transmit; addedNONEEventToNotify: removedNetworkConnected/NetworkDisconnected; addedUSE_ANOTHER_CARD_FOR_PREAUTHTrackFormat: removedJisI/JisIiA "Property renames" table:
ICCResetData:AtrValue->ATRValueSoundContent:Value->TextTrackData:Value->TrackValueStoredValueAccountID:Value->StoredValueIDExpand the "Model classes" rename table (currently only lists
TransactionIdentification -> TransactionIDType) with the other renamed classes present intapi:CheckTypeCodeType -> TypeCodeSignaturePoint -> PointCardholderPIN -> CardHolderPINStoredValueAccountId -> StoredValueAccountIDLoyaltyAccountId -> LoyaltyAccountIDInstalmentType -> Instalment(e.g.PaymentResult.getInstalment()now returnsInstalment)Document the
SaleToAcquirerDatafield type change: intapi,SaleData.saleToAcquirerDatais now aString(it was aSaleToAcquirerDataobject innexo). Integrations that builtapplicationInfo/merchantApplicationvia that object must update their code.Benefit
SaleToAcquirerDatatype change cause compile errors or behavior changes that the guide currently does not warn about.