OID value: 2.23.42.6.2
OID description:
SetPayMsgs { joint-iso-itu-t(2) internationalRA(23) set(42) module(6) 2 } DEFINITIONS IMPLICIT TAGS ::= BEGIN -- -- This module defines types for SET protocol payment messages. -- -- EXPORTS All; IMPORTS SETString {} FROM SetAttribute EXTENSION FROM SetCertificateExtensions BackKeyData, BIN, BrandCRLIdentifier, BrandID, CertThumb, Challenge, Currency, Date, Language, LocalID, Location, MerchantID, MsgExtensions {}, Nonce, PANData, PANToken, Phone, RRPID, Secret, SWIdent, Thumbs, TransIDs, URL, XID FROM SetMessage C, DD {}, Enc {}, EncB {}, EncBX {}, EncK{}, EncX {}, EX {}, EXH {}, HMAC {}, L {}, M, P, P1, P2, S {}, SO {} FROM SetPKCS7Plus CommercialCardData, MarketAutoCap, MarketHotelCap, MarketTransportCap, ub-reference FROM SetMarketData; -- Purchase Initialization Pair PInitReq ::= SEQUENCE { -- Purchase Initialization Request rrpid RRPID, language Language, localID-C LocalID, localID-M [0] LocalID OPTIONAL, chall-C Challenge, brandID BrandID, bin BIN, thumbs [1] EXPLICIT Thumbs OPTIONAL, piRqExtensions [2] MsgExtensions {{PIRqExtensionsIOS}} OPTIONAL } PIRqExtensionsIOS EXTENSION ::= { ... } PInitRes ::= S { M, PInitResData } PInitResData ::= SEQUENCE { transIDs TransIDs, rrpid RRPID, chall-C Challenge, chall-M Challenge, brandCRLIdentifier [0] EXPLICIT BrandCRLIdentifier OPTIONAL, peThumb [1] EXPLICIT CertThumb, thumbs [2] EXPLICIT Thumbs OPTIONAL, piRsExtensions [3] MsgExtensions {{PIRsExtensionsIOS}} OPTIONAL } PIRsExtensionsIOS EXTENSION ::= { ... } -- Purchase Pair PReq ::= CHOICE { pReqDualSigned [0] EXPLICIT PReqDualSigned, pReqUnsigned [1] EXPLICIT PReqUnsigned } -- Signed components used by a cardholder with a certificate PReqDualSigned ::= SEQUENCE { piDualSigned PIDualSigned, oiDualSigned OIDualSigned } PIDualSigned ::= SEQUENCE { piSignature PISignature, exPIData EX { P, PI-OILink, PANData } } -- Intermediate results of EX PIDualSignedTBE ::= L { PI-OILink, PANData } PI-OILink ::= L { PIHead, OIData } OIDualSigned ::= L { OIData, PIData } PISignature ::= SO { C, PI-TBS } PI-TBS ::= SEQUENCE { hPIData HPIData, hOIData HOIData } HPIData ::= DD { PIData } -- PKCS#7 DigestedData HOIData ::= DD { OIData } -- PKCS#7 DigestedData PI ::= CHOICE { piUnsigned [0] EXPLICIT PIUnsigned, piDualSigned [1] EXPLICIT PIDualSigned, authToken [2] EXPLICIT AuthToken } PIData ::= SEQUENCE { piHead PIHead, panData PANData } PIHead ::= SEQUENCE { transIDs TransIDs, inputs Inputs, merchantID MerchantID, installRecurData [0] InstallRecurData OPTIONAL, transStain TransStain, swIdent SWIdent, acqBackKeyData [1] EXPLICIT BackKeyData OPTIONAL, piExtensions [2] MsgExtensions {{PIExtensionsIOS}} OPTIONAL } PIExtensionsIOS EXTENSION ::= { ... } Inputs ::= SEQUENCE { hod HOD, purchAmt CurrencyAmount } TransStain ::= HMAC { XID, Secret } OIData ::= SEQUENCE { -- Order Information Data transIDs TransIDs, rrpid RRPID, chall-C Challenge, hod HOD, odSalt Nonce, chall-M Challenge OPTIONAL, brandID BrandID, bin BIN, odExtOIDs [0] OIDList OPTIONAL, oiExtensions [1] MsgExtensions {{OIExtensionsIOS}} OPTIONAL } OIExtensionsIOS EXTENSION ::= { ... } OIDList ::= SEQUENCE OF OBJECT IDENTIFIER HOD ::= DD { HODInput } HODInput ::= SEQUENCE { od OD, purchAmt CurrencyAmount, odSalt Nonce, installRecurData [0] InstallRecurData OPTIONAL, odExtensions [1] MsgExtensions {{ODExtensionsIOS}} OPTIONAL } ODExtensionsIOS EXTENSION ::= { ... } OD ::= OCTET STRING -- Order description -- Unsigned components used by a cardholder without a certificate PReqUnsigned ::= SEQUENCE { -- Sent by cardholders without certificates piUnsigned PIUnsigned, oiUnsigned OIUnsigned } OIUnsigned ::= L { OIData, PIDataUnsigned } PIDataUnsigned ::= SEQUENCE { piHead PIHead, panToken PANToken } PIUnsigned ::= EXH { P, PI-OILink, PANToken } -- Intermediate results of EXH PIUnsignedTBE ::= L { PI-OILink, PANToken } PRes ::= S { M, PResData } PResData ::= SEQUENCE { transIDs TransIDs, rrpid RRPID, chall-C Challenge, brandCRLIdentifier [0] EXPLICIT BrandCRLIdentifier OPTIONAL, pResPayloadSeq PResPayloadSeq } PResPayloadSeq ::= SEQUENCE SIZE(1..MAX) OF PResPayload PResPayload ::= SEQUENCE { completionCode CompletionCode, results Results OPTIONAL, pRsExtensions [0] MsgExtensions {{PRsExtensionsIOS}} OPTIONAL } PRsExtensionsIOS EXTENSION ::= { ... } CompletionCode ::= ENUMERATED { meaninglessRatio (0), -- PurchAmt = 0; ratio cannot be computed orderRejected (1), -- Merchant cannot process order orderReceived (2), -- No processing to report orderNotReceived (3), -- InqReq received without PReq authorizationPerformed (4), -- See AuthStatus for details capturePerformed (5), -- See CapStatus for details creditPerformed (6) -- See CreditStatus for details } Results ::= SEQUENCE { acqCardMsg [0] EXPLICIT AcqCardMsg OPTIONAL, authStatus [1] AuthStatus OPTIONAL, capStatus [2] CapStatus OPTIONAL, credStatusSeq [3] CreditStatusSeq OPTIONAL } AuthStatus ::= SEQUENCE { authDate Date, authCode AuthCode, authRatio FloatingPoint, currConv [0] CurrConv OPTIONAL } CapStatus ::= SEQUENCE { capDate Date, capCode CapCode, capRatio FloatingPoint } CreditStatusSeq ::= SEQUENCE SIZE(1..MAX) OF CreditStatus CreditStatus ::= SEQUENCE { creditDate Date, creditCode CapRevOrCredCode, creditRatio FloatingPoint } -- Purchase Inquiry Pair InqReq ::= CHOICE { inqReqSigned [0] EXPLICIT InqReqSigned, inqReqUnsigned [1] EXPLICIT InqReqData } InqReqSigned ::= S { C, InqReqData } InqReqData ::= SEQUENCE { -- Signed by cardholder, if signed transIDs TransIDs, rrpid RRPID, chall-C2 Challenge, inqRqExtensions [0] MsgExtensions {{InqRqExtensionsIOS}} OPTIONAL } InqRqExtensionsIOS EXTENSION ::= { ... } InqRes ::= PRes -- Authorization Pair AuthReq ::= EncB { M, P, AuthReqData, PI } -- Intermediate results of EncB AuthReqTBE ::= S { M, AuthReqTBS } AuthReqTBS ::= L { AuthReqData, PI } AuthReqData ::= SEQUENCE { authReqItem AuthReqItem, mThumbs [0] EXPLICIT Thumbs OPTIONAL, captureNow BOOLEAN DEFAULT FALSE, saleDetail [1] SaleDetail OPTIONAL } ( WITH COMPONENTS {..., captureNow (TRUE) } | WITH COMPONENTS {..., captureNow (FALSE), saleDetail ABSENT } ) AuthReqItem ::= SEQUENCE { authTags AuthTags, checkDigests [0] CheckDigests OPTIONAL, authReqPayload AuthReqPayload } AuthTags ::= SEQUENCE { authRRTags RRTags, transIDs TransIDs, authRetNum AuthRetNum OPTIONAL } CheckDigests ::= SEQUENCE { hOIData HOIData, hod2 HOD } AuthReqPayload ::= SEQUENCE { subsequentAuthInd BOOLEAN DEFAULT FALSE, authReqAmt CurrencyAmount, -- May differ from PurchAmt avsData [0] AVSData OPTIONAL, specialProcessing [1] SpecialProcessing OPTIONAL, cardSuspect [2] CardSuspect OPTIONAL, requestCardTypeInd BOOLEAN DEFAULT FALSE, installRecurData [3] InstallRecurData OPTIONAL, marketSpecAuthData [4] EXPLICIT MarketSpecAuthData OPTIONAL, merchData MerchData, aRqExtensions [5] MsgExtensions {{ARqExtensionsIOS}} OPTIONAL } ARqExtensionsIOS EXTENSION ::= { ... } AVSData ::= SEQUENCE { streetAddress SETString { ub-AVSData } OPTIONAL, location Location } SpecialProcessing ::= ENUMERATED { directMarketing (0), preferredCustomer (1) } CardSuspect ::= ENUMERATED { -- Indicates merchant suspects cardholder -- -- Specific values indicate why the merchant is suspicious -- unspecifiedReason (0) -- Either the merchant does not differentiate -- reasons for suspicion, or the specific -- reason does not appear in the list } MerchData ::= SEQUENCE { merchCatCode MerchCatCode OPTIONAL, merchGroup MerchGroup OPTIONAL } MerchCatCode ::= NumericString (SIZE(ub-merType)) -- ANSI X9.10 -- Merchant Category Code (MCCs) are assigned by acquirer to -- describe the merchant's product, service or type of business MerchGroup ::= ENUMERATED { commercialTravel (1), lodging (2), automobileRental (3), restaurant (4), medical (5), mailOrPhoneOrder (6), riskyPurchase (7), other (8) } AuthRes ::= CHOICE { encB [0] EXPLICIT EncB { P, M, AuthResData, AuthResBaggage }, encBX [1] EXPLICIT EncBX { P, M, AuthResData, AuthResBaggage, PANToken } } -- Intermediate results of EncB and EncBX AuthResTBE ::= S { P, AuthResTBS } AuthResTBEX ::= SEQUENCE { authResTBS AuthResTBS, s SO { P, AuthResTBSX } } AuthResTBS ::= L { AuthResData, AuthResBaggage} AuthResTBSX ::= SEQUENCE { authResTBS AuthResTBS, panToken PANToken } AuthResData ::= SEQUENCE { authTags AuthTags, brandCRLIdentifier [0] EXPLICIT BrandCRLIdentifier OPTIONAL, peThumb [1] EXPLICIT CertThumb OPTIONAL, authResPayload AuthResPayload } AuthResBaggage ::= SEQUENCE { capToken [0] EXPLICIT CapToken OPTIONAL, acqCardMsg [1] EXPLICIT AcqCardMsg OPTIONAL, authToken [2] EXPLICIT AuthToken OPTIONAL } AcqBackKey ::= BackKeyData AcqCardMsg ::= EncK { AcqBackKey, P, AcqCardCodeMsg } -- Intermediate result of EncK AcqCardCodeMsgTBE ::= S { P, AcqCardCodeMsg } AcqCardCodeMsg ::= SEQUENCE { acqCardCode AcqCardCode, acqCardMsgData AcqCardMsgData } AcqCardCode ::= ENUMERATED { messageOfDay (0), accountInfo (1), callCustomerService (2) } AcqCardMsgData ::= SEQUENCE { acqCardText [0] EXPLICIT SETString { ub-acqCardText } OPTIONAL, acqCardURL [1] URL OPTIONAL, acqCardPhone [2] EXPLICIT SETString { ub-acqCardPhone } OPTIONAL } AuthResPayload ::= SEQUENCE { authHeader AuthHeader, capResPayload CapResPayload OPTIONAL, aRsExtensions [0] MsgExtensions {{ARsExtensionsIOS}} OPTIONAL } ARsExtensionsIOS EXTENSION ::= { ... } AuthHeader ::= SEQUENCE { authAmt CurrencyAmount, authCode AuthCode, responseData ResponseData, batchStatus [0] BatchStatus OPTIONAL, currConv CurrConv OPTIONAL -- Merchant to cardholder } AuthCode ::= ENUMERATED { approved ( 0), unspecifiedFailure ( 1), declined ( 2), noReply ( 3), callIssuer ( 4), amountError ( 5), expiredCard ( 6), invalidTransaction ( 7), systemError ( 8), piPreviouslyUsed ( 9), recurringTooSoon (10), recurringExpired (11), piAuthMismatch (12), installRecurMismatch (13), captureNotSupported (14), signatureRequired (15), cardMerchBrandMismatch (16) } ResponseData ::= SEQUENCE { authValCodes [0] AuthValCodes OPTIONAL, respReason [1] RespReason OPTIONAL, cardType CardType OPTIONAL, avsResult [2] AVSResult OPTIONAL, logRefID LogRefID OPTIONAL } AuthValCodes ::= SEQUENCE { approvalCode [0] ApprovalCode OPTIONAL, authCharInd [1] AuthCharInd OPTIONAL, validationCode [2] ValidationCode OPTIONAL, marketSpec MarketSpecDataID OPTIONAL } RespReason ::= ENUMERATED { issuer (0), standInTimeOut (1), standInFloorLimit (2), standInSuppressInquiries (3), standInIssuerUnavailable (4), standInIssuerRequest (5) } CardType ::= ENUMERATED { unavailable ( 0), classic ( 1), gold ( 2), platinum ( 3), premier ( 4), debit ( 5), pinBasedDebit ( 6), atm ( 7), electronicOnly ( 8), unspecifiedConsumer ( 9), corporateTravel (10), purchasing (11), business (12), unspecifiedCommercial (13), privateLabel (14), proprietary (15) } AVSResult ::= ENUMERATED { resultUnavailable (0), noMatch (1), addressMatchOnly (2), postalCodeMatchOnly (3), fullMatch (4) } LogRefID ::= NumericString (SIZE(1..ub-logRefID)) ApprovalCode ::= VisibleString (SIZE(ub-approvalCode)) AuthCharInd ::= ENUMERATED { directMarketing (0), recurringPayment (1), addressVerification (2), preferredCustomer (3), incrementalAuth (4) } ValidationCode ::= VisibleString (SIZE(ub-validationCode)) -- Auth Reversal Pair AuthRevReq ::= EncB { M, P, AuthRevReqData, AuthRevReqBaggage } -- Intermediate results of EncB AuthRevReqTBE ::= S { M, AuthRevReqTBS } AuthRevReqTBS ::= L { AuthRevReqData, AuthRevReqBaggage } AuthRevReqData ::= SEQUENCE { authRevTags AuthRevTags, mThumbs [0] EXPLICIT Thumbs OPTIONAL, authReqData [1] AuthReqData OPTIONAL, authResPayload [2] AuthResPayload OPTIONAL, authNewAmt CurrencyAmount, aRvRqExtensions [3] MsgExtensions {{ARvRqExtensionsIOS}} OPTIONAL } ARvRqExtensionsIOS EXTENSION ::= { ... } AuthRevReqBaggage ::= SEQUENCE { pi PI, capToken CapToken OPTIONAL } AuthRevTags ::= SEQUENCE { authRevRRTags AuthRevRRTags, authRetNum AuthRetNum OPTIONAL } AuthRevRRTags ::= RRTags AuthRetNum ::= INTEGER (0..MAX) AuthRevRes ::= CHOICE { encB [0] EXPLICIT EncB { P, M, AuthRevResData, AuthRevResBaggage }, enc [1] EXPLICIT Enc { P, M, AuthRevResData } } -- Intermediate results of Enc and EncB AuthRevResTBE ::= S { P, AuthRevResData } AuthRevResTBEB ::= S { P, AuthRevResTBS } AuthRevResTBS ::= L { AuthRevResData, AuthRevResBaggage } AuthRevResBaggage ::= SEQUENCE { capTokenNew CapToken OPTIONAL, authTokenNew AuthToken OPTIONAL } AuthRevResData ::= SEQUENCE { authRevCode AuthRevCode, authRevTags AuthRevTags, brandCRLIdentifier [0] EXPLICIT BrandCRLIdentifier OPTIONAL, peThumb [1] EXPLICIT CertThumb OPTIONAL, authNewAmt CurrencyAmount, -- May be zero authResDataNew AuthResDataNew, aRvRsExtensions [2] MsgExtensions {{ARvRsExtensionsIOS}} OPTIONAL } ARvRsExtensionsIOS EXTENSION ::= { ... } AuthRevCode ::= ENUMERATED { approved ( 0), unspecifiedFailure ( 1), noReply ( 2), amountError ( 3), expiredCard ( 4), invalidTransaction ( 5), systemError ( 6), missingCapToken ( 7), invalidCapToken ( 8), invalidAmount ( 9) } AuthResDataNew ::= SEQUENCE { transIDs TransIDs, authResPayloadNew AuthResPayload OPTIONAL -- Contains new data } -- Capture Pair CapReq ::= CHOICE { encB [0] EXPLICIT EncB { M, P, CapReqData, CapTokenSeq }, encBX [1] EXPLICIT EncBX { M, P, CapReqData, CapTokenSeq, PANToken } } -- Intermediate results of EncB and EncBX CapReqTBE ::= S { M, CapReqTBS } CapReqTBEX ::= SEQUENCE { capReqTBS CapReqTBS, s SO { M, CapReqTBSX } } CapReqTBS ::= L { CapReqData, CapTokenSeq } CapReqTBSX ::= SEQUENCE { capReqTBS CapReqTBS, panToken PANToken } CapReqData ::= SEQUENCE { capRRTags CapRRTags, mThumbs [0] EXPLICIT Thumbs OPTIONAL, capItemSeq CapItemSeq, cRqExtensions [1] MsgExtensions {{CRqExtensionsIOS}} OPTIONAL } CRqExtensionsIOS EXTENSION ::= { ... } CapRRTags ::= RRTags CapItemSeq ::= SEQUENCE SIZE(1..MAX) OF CapItem CapItem ::= SEQUENCE { transIDs TransIDs, authRRPID RRPID, capPayload CapPayload } CapPayload ::= SEQUENCE { capDate Date, capReqAmt CurrencyAmount, authReqItem [0] AuthReqItem OPTIONAL, authResPayload [1] AuthResPayload OPTIONAL, saleDetail [2] SaleDetail OPTIONAL, cPayExtensions [3] MsgExtensions {{CPayExtensionsIOS}} OPTIONAL } CPayExtensionsIOS EXTENSION ::= { ... } CapRes ::= Enc { P, M, CapResData } -- Intermediate results of Enc CapResTBE ::= S { P, CapResData } CapResData ::= SEQUENCE { capRRTags CapRRTags, brandCRLIdentifier [0] EXPLICIT BrandCRLIdentifier OPTIONAL, peThumb [1] EXPLICIT CertThumb OPTIONAL, batchStatusSeq [2] BatchStatusSeq OPTIONAL, capResItemSeq CapResItemSeq, cRsExtensions [3] MsgExtensions {{CRsExtensionsIOS}} OPTIONAL } CRsExtensionsIOS EXTENSION ::= { ... } CapResItemSeq ::= SEQUENCE SIZE(1..MAX) OF CapResItem CapResItem ::= SEQUENCE { transIDs TransIDs, authRRPID RRPID, capResPayload CapResPayload } CapResPayload ::= SEQUENCE { capCode CapCode, capAmt CurrencyAmount, batchID [0] BatchID OPTIONAL, batchSequenceNum [1] BatchSequenceNum OPTIONAL, cRsPayExtensions [2] MsgExtensions {{CRsPayExtensionsIOS}} OPTIONAL } CRsPayExtensionsIOS EXTENSION ::= { ... } CapCode ::= ENUMERATED { success (0), unspecifiedFailure (1), duplicateRequest (2), authExpired (3), authDataMissing (4), invalidAuthData (5), capTokenMissing (6), invalidCapToken (7), batchUnknown (8), batchClosed (9), unknownXID (10), unknownLID (11) } -- Capture Reversal Or Credit CapRevOrCredReqData ::= SEQUENCE { capRevOrCredRRTags RRTags, mThumbs [0] EXPLICIT Thumbs OPTIONAL, capRevOrCredReqItemSeq CapRevOrCredReqItemSeq, cRvRqExtensions [1] MsgExtensions {{CRvRqExtensionsIOS}} OPTIONAL } CRvRqExtensionsIOS EXTENSION ::= { ... } CapRevOrCredReqItemSeq ::= SEQUENCE SIZE(1..MAX) OF CapRevOrCredReqItem CapRevOrCredReqItem ::= SEQUENCE { transIDs TransIDs, authRRPID RRPID, capPayload CapPayload, newBatchID [0] BatchID OPTIONAL, capRevOrCredReqDate Date, capRevOrCredReqAmt [1] CurrencyAmount OPTIONAL, newAccountInd BOOLEAN DEFAULT FALSE, cRvRqItemExtensions [2] MsgExtensions {{CRvRqItemExtensionsIOS}} OPTIONAL } CRvRqItemExtensionsIOS EXTENSION ::= { ... } CapRevOrCredResData ::= SEQUENCE { capRevOrCredRRTags RRTags, brandCRLIdentifier [0] EXPLICIT BrandCRLIdentifier OPTIONAL, peThumb [1] EXPLICIT CertThumb OPTIONAL, batchStatusSeq [2] BatchStatusSeq OPTIONAL, capRevOrCredResItemSeq CapRevOrCredResItemSeq, cRvRsExtensions [3] MsgExtensions {{CRvRsExtensionsIOS}} OPTIONAL } CRvRsExtensionsIOS EXTENSION ::= { ... } CapRevOrCredResItemSeq ::= SEQUENCE SIZE(1..MAX) OF CapRevOrCredResItem CapRevOrCredResItem ::= SEQUENCE { transIDs TransIDs, authRRPID RRPID, capRevOrCredResPayload CapRevOrCredResPayload } CapRevOrCredResPayload ::= SEQUENCE { capRevOrCredCode CapRevOrCredCode, capRevOrCredActualAmt CurrencyAmount, batchID [0] BatchID OPTIONAL, batchSequenceNum [1] BatchSequenceNum OPTIONAL, cRvRsPayExtensions [2] MsgExtensions {{CRvRsPayExtensionsIOS}} OPTIONAL } CRvRsPayExtensionsIOS EXTENSION ::= { ... } CapRevOrCredCode ::= ENUMERATED { success (0), unspecifiedFailure (1), duplicateRequest (2), originalProcessed (3), originalNotFound (4), capPurged (5), capDataMismatch (6), missingCapData (7), missingCapToken (8), invalidCapToken (9), batchUnknown (10), batchClosed (11) } -- Capture Reversal Pair CapRevReq ::= CHOICE { encB [0] EXPLICIT EncB { M, P, CapRevData, CapTokenSeq }, encBX [1] EXPLICIT EncBX { M, P, CapRevData, CapTokenSeq, PANToken } } -- Intermediate results of EncB and EncBX CapRevReqTBE ::= S { M, CapRevReqTBS } CapRevReqTBEX ::= SEQUENCE { capRevReqTBS CapRevReqTBS, s SO { M, CapRevReqTBSX } } CapRevReqTBS ::= L { CapRevData, CapTokenSeq } CapRevReqTBSX ::= SEQUENCE { capRevReqTBS CapRevReqTBS, panToken PANToken } CapRevData ::= [0] EXPLICIT CapRevOrCredReqData CapRevRes ::= Enc { P, M, CapRevResData } -- Intermediate results of Enc CapRevResTBE ::= S { P, CapRevResData } CapRevResData ::= [0] EXPLICIT CapRevOrCredResData -- Credit Pair CredReq ::= CHOICE { encB [0] EXPLICIT EncB { M, P, CredReqData, CapTokenSeq }, encBX [1] EXPLICIT EncBX { M, P, CredReqData, CapTokenSeq, PANToken } } -- Intermediate results of EncB and EncBX CredReqTBE ::= S { M, CredReqTBS } CredReqTBEX ::= SEQUENCE { credReqTBS CredReqTBS, s SO { M, CredReqTBSX } } CredReqTBS ::= L { CredReqData, CapTokenSeq } CredReqTBSX ::= SEQUENCE { credReqTBS CredReqTBS, panToken PANToken } CredReqData ::= [1] EXPLICIT CapRevOrCredReqData CredRes ::= Enc { P, M, CredResData } -- Intermediate results of Enc CredResTBE ::= S { P, CredResData } CredResData ::= [1] EXPLICIT CapRevOrCredResData -- Credit Reversal Pair CredRevReq ::= CHOICE { encB [0] EXPLICIT EncB { M, P, CredRevReqData, CapTokenSeq }, encBX [1] EXPLICIT EncBX { M, P, CredRevReqData, CapTokenSeq, PANToken } } -- Intermediate results of EncB and EncBX CredRevReqTBE ::= S { M, CredRevReqTBS } CredRevReqTBEX ::= SEQUENCE { credRevReqTBS CredRevReqTBS, s SO { M, CredRevReqTBSX } } CredRevReqTBS ::= L { CredRevReqData, CapTokenSeq } CredRevReqTBSX ::= SEQUENCE { credRevReqTBS CredRevReqTBS, panToken PANToken } CredRevReqData ::= [2] EXPLICIT CapRevOrCredReqData CredRevRes ::= Enc { P, M, CredRevResData } -- Intermediate results of Enc CredRevResTBE ::= S { P, CredRevResData } CredRevResData ::= [2] EXPLICIT CapRevOrCredResData -- Payment Gateway Certificate Request Pair PCertReq ::= S { M, PCertReqData } PCertReqData ::= SEQUENCE { pCertRRTags RRTags, mThumbs [0] EXPLICIT Thumbs OPTIONAL, brandAndBINSeq BrandAndBINSeq, pcRqExtensions [1] MsgExtensions {{PCRqExtensionsIOS}} OPTIONAL } PCRqExtensionsIOS EXTENSION ::= { ... } BrandAndBINSeq ::= SEQUENCE SIZE(1..MAX) OF BrandAndBIN BrandAndBIN ::= SEQUENCE { brandID BrandID, bin BIN OPTIONAL } PCertRes ::= S { P, PCertResTBS } PCertResTBS ::= SEQUENCE { pCertRRTags RRTags, pCertResItemSeq PCertResItemSeq, brandCRLIdentifierSeq [0] BrandCRLIdentifierSeq OPTIONAL, pcRsExtensions [1] MsgExtensions {{PCRsExtensionsIOS}} OPTIONAL } PCRsExtensionsIOS EXTENSION ::= { ... } PCertResItemSeq ::= SEQUENCE OF PCertResItem PCertResItem ::= SEQUENCE { pCertCode PCertCode, certThumb [0] EXPLICIT CertThumb OPTIONAL } PCertCode ::= ENUMERATED { success (0), unspecifiedFailure (1), brandNotSupported (2), unknownBIN (3) } BrandCRLIdentifierSeq ::= SEQUENCE SIZE(1..MAX) OF [0] EXPLICIT BrandCRLIdentifier -- Batch Administration Pair BatchAdminReq ::= Enc { M, P, BatchAdminReqData } -- Intermediate results of Enc BatchAdminReqTBE ::= S { M, BatchAdminReqData } BatchAdminReqData ::= SEQUENCE { batchAdminRRTags RRTags, batchID [0] BatchID OPTIONAL, brandAndBINSeq [1] BrandAndBINSeq OPTIONAL, batchOperation [2] BatchOperation OPTIONAL, returnBatchSummaryInd BOOLEAN DEFAULT FALSE, returnTransactionDetail [3] ReturnTransactionDetail OPTIONAL, batchStatus [4] BatchStatus OPTIONAL, transDetails [5] TransDetails OPTIONAL, baRqExtensions [6] MsgExtensions {{BARqExtensionsIOS}} OPTIONAL } BARqExtensionsIOS EXTENSION ::= { ... } BatchOperation ::= ENUMERATED { open (0), purge (1), close (2) } ReturnTransactionDetail ::= SEQUENCE { startingPoint INTEGER (MIN..MAX), maximumItems INTEGER (1..MAX), errorsOnlyInd BOOLEAN DEFAULT FALSE, brandID [0] EXPLICIT BrandID OPTIONAL } TransDetails ::= SEQUENCE { nextStartingPoint INTEGER (MIN..MAX), transactionDetailSeq TransactionDetailSeq } BatchAdminRes ::= Enc { P, M, BatchAdminResData } -- Intermediate results of Enc BatchAdminResTBE ::= S { P, BatchAdminResData } BatchAdminResData ::= SEQUENCE { batchAdminTags RRTags, batchID BatchID, baStatus BAStatus OPTIONAL, batchStatus [0] BatchStatus OPTIONAL, transmissionStatus [1] TransmissionStatus OPTIONAL, settlementInfo [2] SettlementInfo OPTIONAL, transDetails [3] TransDetails OPTIONAL, baRsExtensions [4] MsgExtensions {{BARsExtensionsIOS}} OPTIONAL } BARsExtensionsIOS EXTENSION ::= { ... } TransmissionStatus ::= ENUMERATED { pending (0), inProgress (1), batchRejectedByAcquirer (2), completedSuccessfully (3), completedWithItemErrors (4) } SettlementInfo ::= SEQUENCE { settlementAmount CurrencyAmount, settlementType AmountType, settlementAccount SETString { ub-SettlementAccount }, settlementDepositDate Date } BAStatus ::= ENUMERATED { success ( 0), unspecifiedFailure ( 1), brandNotSupported ( 2), unknownBIN ( 3), batchIDunavailable ( 4), batchAlreadyOpen ( 5), unknownBatchID ( 6), brandBatchMismatch ( 7), totalsOutOfBalance ( 8), unknownStartingPoint ( 9), stopItemDetail (10), unknownBatchOperation (11) } ClosedWhen ::= SEQUENCE { closeStatus CloseStatus, closeDateTime Date } CloseStatus ::= ENUMERATED { closedbyMerchant (0), closedbyAcquirer (1) } BatchStatusSeq ::= SEQUENCE OF BatchStatus BatchStatus ::= SEQUENCE { openDateTime Date, closedWhen [0] ClosedWhen OPTIONAL, batchDetails BatchDetails, batchExtensions [1] MsgExtensions {{BSExtensionsIOS}} OPTIONAL } BSExtensionsIOS EXTENSION ::= { ... } BatchDetails ::= SEQUENCE { batchTotals BatchTotals, brandBatchDetailsSeq BrandBatchDetailsSeq OPTIONAL } BrandBatchDetailsSeq ::= SEQUENCE SIZE(1..MAX) OF BrandBatchDetails BrandBatchDetails ::= SEQUENCE { brandID BrandID, batchTotals BatchTotals } BatchTotals ::= SEQUENCE { transactionCountCredit INTEGER (0..MAX), transactionTotalAmtCredit CurrencyAmount, transactionCountDebit INTEGER (0..MAX), transactionTotalAmtDebit CurrencyAmount, batchTotalExtensions [0] MsgExtensions {{BTExtensionsIOS}} OPTIONAL } BTExtensionsIOS EXTENSION ::= { ... } TransactionDetailSeq ::= SEQUENCE OF TransactionDetail TransactionDetail ::= SEQUENCE { transIDs TransIDs, authRRPID RRPID, brandID BrandID, batchSequenceNum BatchSequenceNum, reimbursementID ReimbursementID OPTIONAL, transactionAmt CurrencyAmount, transactionAmtType AmountType, transactionStatus [0] TransactionStatus OPTIONAL, transExtensions [1] MsgExtensions {{TransExtensionsIOS}} OPTIONAL } TransExtensionsIOS EXTENSION ::= { ... } AmountType ::= ENUMERATED { credit (0), debit (1) } TransactionStatus ::= ENUMERATED { success (0), unspecifiedFailure (1) } ReimbursementID ::= ENUMERATED { unspecified (0), standard (1), keyEntered (2), electronic (3), additionalData (4), enhancedData (5), marketSpecific (6) } -- Payment Message Components AuthToken ::= EncX { P1, P2, AuthTokenData, PANToken } -- Intermediate results of EncX AuthTokenTBE ::= SEQUENCE { authTokenData AuthTokenData, s SO { P1, AuthTokenTBS } } AuthTokenTBS ::= SEQUENCE { authTokenData AuthTokenData, panToken PANToken } AuthTokenData ::= SEQUENCE { transIDs TransIDs, purchAmt CurrencyAmount, merchantID MerchantID, acqBackKeyData BackKeyData OPTIONAL, installRecurData [0] InstallRecurData OPTIONAL, recurringCount [1] INTEGER (1..MAX) OPTIONAL, prevAuthDateTime Date, totalAuthAmount [2] CurrencyAmount OPTIONAL, authTokenOpaque [3] EXPLICIT TokenOpaque OPTIONAL } BatchID ::= INTEGER (0..MAX) BatchSequenceNum ::= INTEGER (1..MAX) CapToken ::= CHOICE { encX [0] EXPLICIT EncX { P1, P2, CapTokenData, PANToken }, enc [1] EXPLICIT Enc { P1, P2, CapTokenData }, null [2] EXPLICIT NULL } -- Intermediate results of Enc and EncX CapTokenTBE ::= S { P1, CapTokenData } CapTokenTBEX ::= SEQUENCE { capTokenData CapTokenData, s SO { P1, CapTokenTBS } } CapTokenTBS ::= SEQUENCE { capTokenData CapTokenData, panToken PANToken } CapTokenData ::= SEQUENCE { authRRPID RRPID, authAmt CurrencyAmount, tokenOpaque TokenOpaque } CapTokenSeq ::= SEQUENCE SIZE(1..MAX) OF CapToken CurrencyAmount ::= SEQUENCE { currency Currency, -- Currency code as defined in ISO-4217 amount INTEGER (0..MAX), amtExp10 INTEGER (MIN..MAX) -- Base ten exponent, such that the value in local -- currency is "amount * (10 ** amtExp10)" -- The exponent shall be the same value as defined -- for the minor unit of currency in ISO-4217. } CurrConv ::= SEQUENCE { currConvRate FloatingPoint, cardCurr Currency } FloatingPoint ::= REAL (WITH COMPONENTS {..., base (2)}) MarketAutoAuth ::= SEQUENCE { duration Duration } MarketHotelAuth ::= SEQUENCE { duration Duration, prestige Prestige OPTIONAL } Duration ::= INTEGER (1..99) -- Number of days Prestige ::= ENUMERATED { unknown (0), level-1 (1), -- Transaction floor limits for each level are level-2 (2), -- defined by brand policy and may vary between level-3 (3) -- national markets. } MarketSpecAuthData ::= CHOICE { auto-rental [0] MarketAutoAuth, hotel [1] MarketHotelAuth, transport [2] MarketTransportAuth } MarketSpecCapData ::= CHOICE { auto-rental [0] MarketAutoCap, hotel [1] MarketHotelCap, transport [2] MarketTransportCap } MarketSpecSaleData ::= SEQUENCE { marketSpecDataID MarketSpecDataID OPTIONAL, marketSpecCapData MarketSpecCapData OPTIONAL } MarketTransportAuth ::= NULL MarketSpecDataID ::= ENUMERATED { failedEdit (0), auto (1), hotel (2), transport (3) } MerOrderNum ::= VisibleString (SIZE(1..ub-merOrderNum)) MerTermIDs ::= SEQUENCE { merchantID MerchantID, terminalID VisibleString (SIZE(1..ub-terminalID)) OPTIONAL, agentNum INTEGER (0..MAX) OPTIONAL, chainNum [0] INTEGER (0..MAX) OPTIONAL, storeNum [1] INTEGER (0..MAX) OPTIONAL } RRTags ::= SEQUENCE { rrpid RRPID, merTermIDs MerTermIDs, currentDate Date } SaleDetail ::= SEQUENCE { batchID [ 0] BatchID OPTIONAL, batchSequenceNum [ 1] BatchSequenceNum OPTIONAL, payRecurInd [ 2] PayRecurInd OPTIONAL, merOrderNum [ 3] MerOrderNum OPTIONAL, authCharInd [ 4] AuthCharInd OPTIONAL, marketSpecSaleData [ 5] MarketSpecSaleData OPTIONAL, commercialCardData [ 6] CommercialCardData OPTIONAL, orderSummary [ 7] EXPLICIT SETString { ub-summary } OPTIONAL, customerReferenceNumber [ 8] EXPLICIT SETString { ub-reference } OPTIONAL, customerServicePhone [ 9] EXPLICIT Phone OPTIONAL, okToPrintPhoneInd [10] BOOLEAN DEFAULT TRUE, saleExtensions [11] MsgExtensions {{SaleExtensionsIOS}} OPTIONAL } SaleExtensionsIOS EXTENSION ::= { ... } PayRecurInd ::= ENUMERATED { unknown (0), singleTransaction (1), recurringTransaction (2), installmentPayment (3), otherMailOrder (4) } InstallRecurData ::= SEQUENCE { installRecurInd InstallRecurInd, irExtensions [0] MsgExtensions {{IRExtensionsIOS}} OPTIONAL } IRExtensionsIOS EXTENSION ::= { ... } InstallRecurInd ::= CHOICE { installTotalTrans [0] INTEGER (2..MAX), recurring [1] Recurring } Recurring ::= SEQUENCE { recurringFrequency INTEGER (1..ub-recurringFrequency), recurringExpiry Date } TokenOpaque ::= TYPE-IDENTIFIER.&Type -- Gateway-defined data -- Upper bound of SETString{} type ub-acqCardText INTEGER ::= 128 ub-acqCardPhone INTEGER ::= 50 ub-approvalCode INTEGER ::= 6 ub-AVSData INTEGER ::= 128 ub-logRefID INTEGER ::= 32 ub-merOrderNum INTEGER ::= 25 ub-merType INTEGER ::= 4 ub-recurringFrequency INTEGER ::= 366 ub-SettlementAccount INTEGER ::= 50 ub-summary INTEGER ::= 35 ub-terminalID INTEGER ::= 48 ub-validationCode INTEGER ::= 4 END
See also the OID Repository website reference for 2.23.42.6.2