Skip to content

Conversation

@Philipp91
Copy link
Contributor

Some maneuvers in the FinTs protocol (like multi-TAN, which we don't currently support, or VOP, which we're adding support for) require re-submitting the same action later, using an identical request. If the application wants to do this in a separate PHP process (because the maneuver requires interactions with the user, during which the PHP process can't be kept alive), then during the serialization+deserialization roundtrip, we need to ensure that at least those fields survive which are required to construct the request.

While this doesn't happen for all action types in practice (e.g. a simple GetBalance request will never ask for VOP and at least today doesn't ask for a TAN either), this commit implements proper serialization in all actions for consistency (so that if someone forks an action in the future, they don't forget about this).

CC @ampaze

As the counterpart of Parser::parseSegments().
…ields

Some maneuvers in the FinTs protocol (like multi-TAN, which we don't currently support, or VOP, which we're adding support for) require re-submitting the same action later, using an identical request. If the application wants to do this in a separate PHP process (because the maneuver requires interactions with the user, during which the PHP process can't be kept alive), then during the serialization+deserialization roundtrip, we need to ensure that at least those fields survive which are required to construct the request.

While this doesn't happen for all action types in practice (e.g. a simple `GetBalance` request will never ask for VOP and at least today doesn't ask for a TAN either), this commit implements proper serialization in all actions for consistency (so that if someone forks an action in the future, they don't forget about this).
}

/**
* @deprecated Beginning from PHP7.4 __unserialize is used for new generated strings, then this method is only used for previously generated strings - remove after May 2023
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accordings to the comment this should have been removed long ago?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. But it's a breaking change. It's in my stack of commits for v4.

@nemiah nemiah merged commit da89102 into nemiah:master Oct 19, 2025
5 checks passed
@Philipp91 Philipp91 deleted the action-serialize branch October 19, 2025 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants