Fired when a Message Extension is present in a message being parsed.
class ServerMessageExtensionEventParams(object): @property def name() -> str: ... @property def id() -> str: ... @property def data() -> str: ... @property def critical() -> bool: ... @property def recognized() -> bool: ... @recognized.setter def recognized(value) -> None: ... # In class Server: @property def on_message_extension() -> Callable[[ServerMessageExtensionEventParams], None]: ... @on_message_extension.setter def on_message_extension(event_hook: Callable[[ServerMessageExtensionEventParams], None]) -> None: ...
Enables the parsing of Message Extension data by firing when extensions have been included in a ARes, CRes, RReq or PRes message that is being parsed. Message Extensions carry additional data not defined in the 3DS Protocol. This event fires once for each such extension. Event arguments correspond to the four elements comprising the extension, as well as an indication of whether or not the extension is recognized:
|Name||'name' element - extension name|
|Id||'id' element - assigned extension group identifier|
|Data||'data' element - message extension data|
|Critical||'criticalityIndicator' element - criticality indicator|
|Recognized||set by component to indicate whether or not the extension is recognized|
If a 3-D Secure application receives a message containing a critical extension that it does not recognize, it must treat it as invalid and return Error Code = 202. This event will fire before the exception is thrown.