Open the Portico Developer Guide site
PosGateway Schema
CreditAccountVerifyBlock1Type Complex Type
PosGateway Schema : CreditAccountVerifyBlock1Type Complex Type
Namespace http://Hps.Exchange.PosGateway
Diagram
TxnDescriptor Element SubMerchantData Element AccountReferenceReq Element CardOnFileData Element TagData Element CPCReq Element EMVData Element PaymentMethodKeyData Element PaymentMethodKey Element CardHolderData Element CardData Element All CreditAccountVerifyBlock1Type Complex Type
Overview
All
CardData optional CardDataType Complex Type

A common element used in several different transactions for supplying payment method information.

This includes a choice of typical payment representations like track data, manually entered data, and token information. It also includes options for specifying how the supplied data has been encrypted or to request a multi-use token be supplied in the response.

Sequence
Choice
TrackData CardDataTypeTrackData Complex Type

Track data is the full magnetic stripe data.

Note: TrackData is unique in that it has an attribute "method" that is used to indicate how the associated data was obtained.

method optional CardDataTypeTrackDataMethod Simple Type

Indicates the method by which the track data was obtained; see the associated Type enumerations for specific values supported

Note: If not provided, the method is assumed to be a typical card swipe.

ManualEntry

This is typically manually entered card data, but can be used in any case where only the card number is used rather than the full track.

All
CardNbr cardNbrType Simple Type

Card number; also referred to as Primary Account Number (PAN)

ExpMonth monthTypeExp Simple Type

Card expiration month

ExpYear Restriction of yearType Simple Type

Card expiration year

CardPresent optional booleanType Simple Type

Indicates whether or not the card was present at the time of the transaction

ReaderPresent optional booleanType Simple Type

Indicates whether or not a reader was present at the time of the transaction

CVV2 optional Restriction of cvv2Type Simple Type

CVV Number ("Card Verification Value"); 3 digits on VISA, MasterCard, Discover and UnionPay and 4 on American Express.

CVV numbers are also known as CSC numbers ("Card Security Code"), as well as CVV2 numbers, which are the same as CVV numbers, except that they have been generated by a 2nd generation process.

Note: This field is not used for EBT transactions.

CVV2Status optional cvv2Status Simple Type

Indicates why the CVV2 value was not provided; see the associated Type enumerations for specific values supported.

Note: This field is not used for EBT transactions.

TokenData

This is used when the card number from a previous transaction has been tokenized. This supports both multi-use and single-use tokens.

All
TokenValue xs:string

Multi-use or single-use token; used as a reference to a payment method for this transaction

ExpMonth optional monthType Simple Type

Card expiration month

Note: If expiration month and year are provided, they will be used for processing the transaction rather than the stored values associated with the provided token. This is for the current transaction only and will not be stored for future use.

ExpYear optional Restriction of yearType Simple Type
CardPresent optional booleanType Simple Type

Indicates whether or not the card was present at the time of the transaction

ReaderPresent optional booleanType Simple Type

Indicates whether or not a reader was present at the time of the transaction

CVV2 optional Restriction of cvv2Type Simple Type

CVV Number ("Card Verification Value"); 3 digits on VISA, MasterCard, Discover and UnionPay and 4 on American Express.

CVV numbers are also known as CSC numbers ("Card Security Code"), as well as CVV2 numbers, which are the same as CVV numbers, except that they have been generated by a 2nd generation process.

Note: This field is not used for EBT transactions.

CVV2Status optional cvv2Status Simple Type

Indicates why the CVV2 value was not provided; see the associated Type enumerations for specific values supported.

Note: This field is not used for EBT transactions.

EncryptionData optional EncryptionDataType Complex Type

If the supplied card data was encrypted, this must be supplied.

All
DataFormat optional encryptedDataFormatType Simple Type

EncryptionDataFormat is an optional field to be used for encryption Version "05" to define the encryption encoding format

EncryptionDataFormat 1 Denotes the CardData sent to PORTICO is Binary

EncryptionDataFormat 2 Denotes the CardData sent to PORTICO is ASCII

Version encryptionVersionType Simple Type

The encryption version used on the supplied data.

For PAN encryption, use version "02" or "04" for Heartland E3 encryption. This requires the client to parse the E3 MSR output. The encrypted PAN is passed in the card data element as the manual entry card number. The KTB must be provided as part of the encryption data. If sending an encrypted CVV2, use version "04" which expects the PAN and CVV2 to be encrypted.

For PAN encryption, use version "05" for TDES DUKPT encryption with and without CVV encryption. This requires the client to parse the output. The encrypted PAN is passed in the card data element as the manual entry card number. The KSN must be provided as part of the encryption data.

For track encryption, use version "01", "02", or "04" for Heartland E3 encryption. Version "01" will not require parsing and it will not require additional fields in the encryption data, but the full E3 MSR output must be passed in the card data element as track data. Version "02" and "04" requires the client to parse the E3 MSR output. The KTB must be provided as part of the encryption data. In addition, the client must parse the data specific to either encrypted track 1 or track 2 and provide this in the card data element as track data as well as supply the track number as EncryptedTrackNumber.

For track encryption, use either version "03" for AES encryption with DUKPT, or "05" for TDES encryption with DUKPT. The "03" option supports the IdTECH card readers. The "05" option will work with any device that supports TDES with DUKPT data encryption per AINSI 9.24-1. Both options require the client to parse reader output. The KSN must be provided as part of the encryption data. In addition, the client must parse the data specific to either encrypted track 1 or track 2 and provide this in the card data element as track data as well as supply the track number as EncryptedTrackNumber.

For track encryption "05" is used for TDES encryption with DUKPT. The "05" option will work with any device that supports TDES with DUKPT data encryption per ANSI 9.24-1. Both options require the client to parse reader output. The KSN must be provided as part of the encryption data. In addition, the client must parse the data specific to either encrypted track 1 or track 2 and provide this in the card data element as track data, as well as supply the track number as EncryptedTrackNumber.

EncryptedTrackNumber optional encryptedTrackNumberType Simple Type

Required for encryption version "02","03","04" and "05"; indicates which track is being supplied encrypted (i.e. "1" or "2").

KTB optional encryptionKTBType Simple Type

Required for encryption version "02" or "04"; the Key Transmission Block (KTB) used at the point of sale.

KSN optional encryptionKSNType Simple Type

Required for encryption version "03" and "05"; the Key Serial Number (KSN) used at the point of sale.

TokenRequest optional booleanType Simple Type

This is used to request the gateway to return a multi-use token for the supplied card data. If a token is provided in the card data and this flag is set, it will be echoed in the response.

TokenParameters optional TokenParametersType Complex Type

Parameters allowing the client to control aspects of how a requested multi-use token is generated.

Not Applicable for Reward Cash transactions.

All
Mapping optional TokenMappingType Simple Type

This indicates the type of token to return; see the associated Type enumerations for specific values supported.

Note: If not supplied, "CONSTANT" is assumed. This means that the same token will be returned for the same card data.

All
CardHolderZip optional zipType Simple Type

Zip or postal code; see the associated Type pattern for restrictions.

Note: Canadian postal codes should be sent in the format "A0A0A0".

CardHolderPhone optional phoneType Simple Type

Phone number; see the associated Type pattern for restrictions.

CardHolderEmail optional emailType Simple Type

Email address

CardHolderLanguage optional languageIndicatorType Simple Type

CardHolder preferred language.

Note:This field is required for Canadian merchants.

PaymentMethodKey optional guidType Simple Type

Unique key generated by PayPlan associated with a stored payment method

Note: When using a key, card data should not be sent. However, stored customer data can be overridden using the card holder data.

PaymentMethodKeyData optional PaymentMethodKeyData Complex Type

These fields provide a way to override stored payment information or to provide additional information in card present situations. This is for the current transaction only and will not be stored for future use.

Note: This element is only valid when supplying a PaymentMethodKey.

All
ExpMonth optional monthType Simple Type

Expiration month

Note: If expiration month and year are provided, they will be used for processing the transaction rather than the stored values associated with the provided token. This is for the current transaction only and will not be stored for future use.

ExpYear optional Restriction of yearType Simple Type

Expiration year

Note: If expiration month and year are provided, they will be used for processing the transaction rather than the stored values associated with the provided token. This is for the current transaction only and will not be stored for future use.

CVV2 optional Restriction of cvv2Type Simple Type

CVV Number ("Card Verification Value"); 3 digits on VISA, MasterCard, Discover and UnionPay and 4 on American Express.

CVV numbers are also known as CSC numbers ("Card Security Code"), as well as CVV2 numbers, which are the same as CVV numbers, except that they have been generated by a 2nd generation process.

Note: This field is not used for EBT transactions.

CVV2Status optional cvv2Status Simple Type

Indicates why the CVV2 value was not provided; see the associated Type enumerations for specific values supported.

Note: This field is not used for EBT transactions.

EMVData optional EMVDataType Complex Type

When processing with an EMV capable client, this element may need to be provided. It consists of certain online authentication data or the reason for not utilizing the EMV capabilities. EMV tag data should be sent in the separate TagData field.

All
EMVTagData optional emvTagDataType Simple Type

EMV tag data in TLV format.

Note: This field has been obsoleted.See the TagData field for the alternative.

EMVChipCondition optional emvChipConditionType Simple Type

This must be provided when the POS was not able to successfully communicate to the chip card and was required to fall back to a magnetic stripe read on an EMV capable terminal.

The values can indicate multiple factors:

  • The EMV chip read failed
  • Did the previous attempt fail

See enumerations for specific values supported

PINBlock optional pinBlockType Simple Type

Chip card PIN block for online authentication

CPCReq optional booleanType Simple Type

This is used to request the issuer to return whether or not the supplied card is a commercial card

Note: See the CPCInd in the corresponding response transaction detail.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

All
TagValues optional Extension of xs:string

This field holds the tag data values.

source required Restriction of xs:string

This field specifies the source of the tag data value. It can be either chip or msd.

All
CardBrandTxnId optional restrictedStringType Simple Type

Network Transaction Identifier

CardOnFile optional CardOnFileType Simple Type

Card On File Indicator

Valid values include:

  • 'C' - Cardholder initiated transaction
  • 'M' - Merchant initiated transaction

CategoryInd optional CategoryIndType Simple Type

Mastercard CIT/MIT indicator subcategory

Valid values include:

  • 01 - Unscheduled Credential-on-file
  • 02 - Standing Order (variable amount and fixed frequency)
  • 03 - Subscription (fixed amount and frequency)
  • 06 - Related/Delayed Charge
  • 07 - No Show Charge
  • 08 - Resubmission

Note: Future use for GSAP-AP merchants

AccountReferenceReq optional accountReferenceReqType Simple Type

'Payment Account Reference' (PAR) is 29-character alphanumeric value requested by merchant. PAR is reference number associated with unique PAN and used by merchants to track transactions associated with customers PAN. Currently, PAR is only supported by Card Brand American Express.

Note: Account Reference is supported only for HOST Exchange.

SubMerchantData optional SubMerchantDataType Complex Type

Allows for sending Sub-Merchant data associated with the transaction. For Future Use.

Note: For internal use only.

All
SubMerchantId Restriction of xs:long

The ID assigned by the payment facilitator or aggregator to the sub-merchant.

Note: For internal use only.

Addr1 Restriction of xs:string

The street address of the sub-merchant.

Note: For internal use only.

City Restriction of xs:string

The city of the sub-merchant.

Note: For internal use only.

StateProvinceRegion optional Restriction of xs:string

The state or province of the sub-merchant.

Note: For internal use only.

ZipPostalCode Restriction of xs:string

The ZIP/Postal Code of the sub-merchant.

Note: For internal use only.

CountryCode Restriction of xs:int

The 3-digit ISO Numeric Country Code of the sub-merchant (eg, 840)

Note: For internal use only.

CustomerSvcPhone Restriction of xs:string

Sub-merchant phone number.

Note: For internal use only.

CustomerSvcEmail optional Restriction of xs:string

Sub-merchant email address.

Note: For internal use only.

TerminalId Restriction of xs:string

The sub-merchant Terminal ID assigned by the payment facilitator.

Note: For internal use only.

MCC Restriction of xs:string

Sub-merchant MCC.

Note: For internal use only.

TxnDescriptor optional TxnDescriptorType Simple Type

Transaction description that is concatenated to a configurable merchant DBA name. The resulting string is sent to the card issuer as the Merchant Name.

Note: Updates to the device are required to utilize this feature. See your Heartland representative for more details.

Used By
Block1 Element
Source
<xs:complexType name="CreditAccountVerifyBlock1Type" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:all>
    <xs:element name="CardData" type="CardDataType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">A common element used in several different transactions for supplying payment method information.</p>
          <p xmlns="http://Hps.Exchange.PosGateway">This includes a choice of typical payment representations like track data, manually entered data, and token information. It also includes options for specifying how the supplied data has been encrypted or to request a multi-use token be supplied in the response.</p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="CardHolderData" type="CardHolderDataType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">Card holder data</p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="PaymentMethodKey" type="guidType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">Unique key generated by PayPlan associated with a stored payment method</p>
          <p xmlns="http://Hps.Exchange.PosGateway" />
          <p xmlns="http://Hps.Exchange.PosGateway">
            <strong>Note:</strong> When using a key, card data should not be sent. However, stored customer data can be overridden using the card holder data.
            </p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="PaymentMethodKeyData" type="PaymentMethodKeyData" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">These fields provide a way to override stored payment information or to provide additional information in card present situations. This is for the current transaction only and will not be stored for future use.</p>
          <p xmlns="http://Hps.Exchange.PosGateway" />
          <p xmlns="http://Hps.Exchange.PosGateway">
            <strong>Note:</strong> This element is only valid when supplying a PaymentMethodKey.
            </p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="EMVData" type="EMVDataType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">When processing with an EMV capable client, this element may need to be provided. It consists of certain online authentication data or the reason for not utilizing the EMV capabilities. EMV tag data should be sent in the separate TagData field.</p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="CPCReq" type="booleanType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">This is used to request the issuer to return whether or not the supplied card is a commercial card</p>
          <p xmlns="http://Hps.Exchange.PosGateway" />
          <p xmlns="http://Hps.Exchange.PosGateway">
            <strong>Note:</strong> See the CPCInd in the corresponding response transaction detail.
            </p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="TagData" type="TagDataType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">EMV or Non-EMV tag data in TLV format</p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="CardOnFileData" type="CardOnFileDataType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">Card On File Data</p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="AccountReferenceReq" type="accountReferenceReqType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">'Payment Account Reference' (PAR) is 29-character alphanumeric value requested by merchant. PAR is reference number associated with unique PAN and used by merchants to track transactions associated with customers PAN. Currently, PAR is only supported by Card Brand American Express.</p>
          <p xmlns="http://Hps.Exchange.PosGateway">
            <strong>Note:</strong> Account Reference is supported only for HOST Exchange.
            </p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="SubMerchantData" type="SubMerchantDataType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">Allows for sending Sub-Merchant data associated with the transaction. For Future Use.</p>
          <p xmlns="http://Hps.Exchange.PosGateway" />
          <p xmlns="http://Hps.Exchange.PosGateway">
            <strong>Note:</strong> For internal use only.
            </p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="TxnDescriptor" type="TxnDescriptorType" minOccurs="0">
      <xs:annotation>
        <xs:documentation>
          <p xmlns="http://Hps.Exchange.PosGateway">Transaction description that is concatenated to a configurable merchant DBA name. The resulting string is sent to the card issuer as the Merchant Name.</p>
          <p xmlns="http://Hps.Exchange.PosGateway" />
          <p xmlns="http://Hps.Exchange.PosGateway">
            <strong>Note:</strong> Updates to the device are required to utilize this feature. See your Heartland representative for more details.
            </p>
        </xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:all>
</xs:complexType>
See Also
PosGateway Schema