MessageExtension Event
Fired when a Message Extension is present in a message being parsed.
Syntax
ANSI (Cross Platform) virtual int FireMessageExtension(ServerMessageExtensionEventParams *e);
typedef struct {
const char *Name;
const char *Id;
const char *Data;
int Critical;
int Recognized; int reserved; } ServerMessageExtensionEventParams; Unicode (Windows) virtual INT FireMessageExtension(ServerMessageExtensionEventParams *e);
typedef struct {
LPCWSTR Name;
LPCWSTR Id;
LPCWSTR Data;
BOOL Critical;
BOOL Recognized; INT reserved; } ServerMessageExtensionEventParams;
- (void)onMessageExtension:(NSString*)name :(NSString*)id :(NSString*)data :(BOOL)critical :(int*)recognized;
#define EID_SERVER_MESSAGEEXTENSION 6 virtual INT IPWORKS3DS_CALL FireMessageExtension(LPSTR &lpszName, LPSTR &lpszId, LPSTR &lpszData, BOOL &bCritical, BOOL &bRecognized);
Remarks
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.