#include <set_msg.h> typedef struct PInitRes_ { asn1set__MessageWrapper messageWrapper; asn1set__PInitResData pInitResData; cert_identity merchantSignatureCID; /* only cardholder uses */ asn1set__MerchantDataSyntax merchantData; } *PInitRes; PInitRes safe_cast_PInitRes(msg) set_msg msg; /* IN */
PInitRes
contains the data from a SET PInitRes message in native C form. See the asn_types.h and
asn1set.h header files for the declarations of the various types. See the SET specification for a
description of individual fields. PInitRes
message objects of type set_msg
can be cast to type PInitRes
using the
safe_cast_PInitRes()
routine.
make_set_msg()
, merchant software must insert the following state into the
cache_ctx
:
* STATE_GATEWAY_DN * STATE_XID
A call to make_set_msg()
results in the protocol layer filling in the following fields:
* messageWrapper.messageHeader.version * messageWrapper.messageHeader.date * messageWrapper.messageHeader.messageIDs.xID * messageWrapper.messageHeader.messageIDs.localID_C * messageWrapper.messageHeader.messageIDs.localID_M (optional) * messageWrapper.messageHeader.rrPID * messageWrapper.messageHeader.swIdent * messageWrapper.message._choice * pInitResData.transIDs.localID_C * pInitResData.transIDs.localID_M (optional) * pInitResData.transIDs.xID * pInitResData.transIDs.language * pInitResData.rrPID * pInitResData.chall_C * pInitResData.chall_M * pInitResData.brandCRLIdentifier (optional) * pInitResData.peThumb * pInitResData.thumbs
It is unwise for applications to change the contents of the fields filled in by the protocol layer.
After calling make_set_msg()
, merchant software must fill in the following required fields:
* pInitResData.transIDs.pReqDate * merchantSignatureCID
Non-required fields may be left empty at the discretion of the merchant application, subject to any business constraints placed on the application.
STATE_CHALL_C get STATE_CHALL_M put STATE_MERCHANTID put STATE_PETHUMB put STATE_PINITREQ_RRPID get STATE_THUMBS get STATE_TRANSIDS put
STATE_CHALL_C get STATE_CHALL_M put STATE_GATEWAY_KEYID get STATE_LANGUAGE get STATE_LOCALID_C get STATE_LOCALID_M get STATE_MERCHANT_SIGID put STATE_PINITREQ_RRPID get STATE_THUMBS get STATE_TRANSIDS put STATE_XID get
safe_cast_PInitRes()
returns a pointer to a PInitRes
data structure. Objects of
type set_msg
that were not created with message type asn1set__Message__pInitRes
will cause
safe_cast_PInitRes()
to fail. On failure, safe_cast_PInitRes()
returns a 0 pointer. Optional fields that are filled in require an application of the SET_PRESENT()
macro. See
documentation on ASN.1/DER runtime types for additional information.
pInitRes = safe_cast_PInitRes(response); assert(pInitRes != 0); pInitRes->pInitResData.transIDs.pReqDate = time(0); /* ... */
Copyright © 1996, 1997, Visa International Service Association and MasterCard International Incorporated
All Rights Reserved.