#include <set_msg.h> /* * CredRes is defined using CapRevOrCredRes */ #define CredRes_ CapRevOrCredRes_ #define CredRes CapRevOrCredRes /* * * CapRevOrCredRes is used by CapRevRes, CredRes, and CredRevRes * */ typedef struct CapRevOrCredRes_ { asn1set__MessageWrapper messageWrapper; asn1set__CapRevOrCredResData capRevOrCredResData; cert_identity gatewaySignatureCID; cert_identity merchantKeyExchangeCID; } *CapRevOrCredRes; CredRes safe_cast_CredRes(msg) set_msg msg; /* IN */
CredRes
contains the data from a SET CredRes
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. CredRes
message objects of type set_msg
can be cast to type CredRes
using the
safe_cast_CredRes()
routine.
make_set_msg()
results in the
protocol layer filling in the following fields: * messageWrapper.messageHeader.version * messageWrapper.messageHeader.date * messageWrapper.messageHeader.messageIDs * messageWrapper.messageHeader.rrPID * messageWrapper.messageHeader.swIdent * messageWrapper.message._choice * capRevOrCredResData.capRevOrCredResRRTags.rrTags * capRevOrCredResData.capRevOrCredResRRTags.brandCRLIdentifier (optional) * capRevOrCredResData.capRevOrCredResRRTags.peThumb (optional) * capRevOrCredResData.capRevOrCredResItemSeq->capRevOrCredResItem.transIDs * capRevOrCredResData.capRevOrCredResItemSeq->capRevOrCredResItem.authRRPID * gatewaySignatureCID * merchantKeyExchangeCID
It is unwise for applications to change the contents of the fields filled in by the protocol layer.
After calling make_set_msg()
, gateway software
must fill in the following required fields:
* capRevOrCredResData.capRevOrCredResItemSeq->capRevOrCredResItem.capRevOrCredResPayload.capRevOrCredCode * capRevOrCredResData.capRevOrCredResItemSeq->capRevOrCredResItem.capRevOrCredResPayload.capRevOrCredActualAmt
Non-required fields may be left empty at the discretion of the gateway application, subject to any business constraints placed on the application.
STATE_AUTHREQ_RRPID get STATE_CAPREVREQ_RRPID get STATE_CREDREQ_RRPID get STATE_CREDREVREQ_RRPID get STATE_GATEWAY_SIGID get STATE_MERCHANT_KEYID get STATE_RRTAGS get STATE_TRANSIDS get
STATE_CAPREVREQ_RRPID get STATE_CREDREQ_RRPID get STATE_CREDREVREQ_RRPID get
safe_cast_CredRes()
returns
a pointer to a CredRes
data structure. Objects of type
set_msg
that were not created with message type
asn1set__Message__credRes
will cause
safe_cast_CredRes()
to fail. On failure,
safe_cast_CredRes()
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.
credRes = safe_cast_CredRes(response); assert(credRes != 0); credRes->messageWrapper.messageHeader.swIdent._choice = asn1set__SWIdent__visibleString; credRes->messageWrapper.messageHeader.swIdent.u.visibleString = "AcquirerServ v0.3b"; /* ... */ credRes->capRevOrCredResData.capRevOrCredResItemSeq-> capRevOrCredResItem.capRevOrCredResPayload.capRevOrCredCode = asn1set__CapRevOrCredCode__success; /* ... */
Copyright © 1996, 1997, Visa International Service Association and MasterCard International Incorporated
All Rights Reserved.