Open the Portico Developer Guide site
Portico Schema
Header Element
Portico Schema > PosRequest Element > Ver1.0 Element : Header Element
Description

The header includes credentials and transaction tracking information. These fields are included as optional in the schema to allow different options for providing credentials.

Note: One of the following combinations is required:

  • License, Site, Device, Username, and Password or
  • Secret API key

Namespace http://Hps.Exchange.PosGateway
Diagram
CustomHashReq Element x_global_transaction_source Element x_global_transaction_id Element DeviceConfiguration Element PosReqDT Element SecretAPIKey Element SAFData Element UniqueDeviceId Element ClientTxnId Element GPSCoordinates Element ClerkID Element VersionNbr Element DeveloperID Element SiteTrace Element CredentialToken Element Password Element UserName Element DeviceId Element SiteId Element LicenseId Element All Header Element
Overview
Header

The header includes credentials and transaction tracking information. These fields are included as optional in the schema to allow different options for providing credentials.

Note: One of the following combinations is required:

  • License, Site, Device, Username, and Password or
  • Secret API key

All
LicenseId optional licenseIdType Simple Type

Identifier assigned by Heartland during the boarding process; used for chaining sites together

SiteId optional siteIdType Simple Type

Identifier assigned by Heartland during the boarding process; tied to a specific merchant ID

DeviceId optional deviceIdType Simple Type

Identifier assigned by Heartland during the boarding process

UserName optional userNameType Simple Type

User name assigned by Heartland during the boarding process

Password optional passwordType Simple Type

Password for the associated user; a temp password will be provided during the boarding process but must be altered before it is used for transaction processing

CredentialToken optional xs:string

The credential token is used to indicate a user session. Currently, this option is only available to internal Heartland applications and should not be used by integrators.

SiteTrace optional siteTraceType Simple Type

This element can be used by the client to provide a value that can be searched for later. Clients are free to provide any value that is useful to them but it must not contain sensitive data. This will also be echoed in the response if present.

DeveloperID optional Restriction of xs:string

Identifier assigned by Heartland during the certification process; this field is optional to support legacy integrations, but all new integrations require this value.

VersionNbr optional Restriction of xs:string

Software version number assigned by Heartland during the certification process; this field is optional to support legacy integrations, but all new integrations require this value.

ClerkID optional Restriction of xs:string

Identifier assigned by the merchant or client to the clerk running this transaction; this must not contain sensitive data

GPSCoordinates optional GPSCoordinatesType Complex Type

GPS coordinates indicating the location of the source of the transaction

All
Latitude Restriction of xs:decimal
Longitude Restriction of xs:decimal
ClientTxnId optional clientIdType Simple Type

A client-generated transaction id. This must be unique for this device. If present, it will be attached to this transaction and echoed in the response. This allows the client to run a timeout reversal against a unique transaction in the event that a response is never received. When a response is received, the client will receive a gateway-generated transaction id.

UniqueDeviceId optional uniqueDeviceIdType Simple Type

A client-supplied device identifier to be sent when transactions for multiple devices are aggregated in the same batch. If present, the field will be sent to the issuer on authorization and settlement requests and echoed in the response header.

SAFData optional SAFDataType Complex Type

SAFData indicating if a transaction that was processed and initiated in "store and forward" (SAF) mode.

All
SAFIndicator booleanType Simple Type

Indicates that transaction was initiated in "store and forward" (SAF) mode (Y)

SAFOrigDT optional xs:dateTime

Date and time when the transaction was originally initiated.

SecretAPIKey optional secretAPIKeyType Simple Type

API key that can be used in place of license, site, device, username, and password. An API will be tied to a specific environment (i.e. certification or production).

Note: The use of SecretAPIKey is restricted.

PosReqDT optional xs:dateTime

POS request date and time. Required for Interac processing.

Note:This field is required for Canadian merchants.

DeviceConfiguration optional DeviceConfigurationType Complex Type

Device capabilities and/or attributes needed by a Host processor that are not otherwise able to be determined. Please refer to the Developer Guide for further details as this data may be required for certain Host processors..

All
Capabilities optional Restriction of xs:string

Capabilities for a Device

Attributes optional Restriction of xs:string

Attributes for a Device

SerialNbr optional Restriction of xs:string

Serial number of PIN pad or PIN entry device (PED).

Note: Required for Interac debit services in Canada.

x_global_transaction_id optional x_global_transaction_idType Simple Type

A client-generated transaction id used for certain API integrations. If present, it will be attached to this transaction and echoed in the response.

Note: This is for internal use only.

x_global_transaction_source optional x_global_transaction_sourceType Simple Type

A client-generated transaction id used for certain API integrations. If present, it will be attached to this transaction and echoed in the response.

Note: This is for internal use only.

CustomHashReq optional booleanType Simple Type

Indicates whether to return a hashed value of the card number using a custom salt value.

Note: This field has been deprecated

Source
<xs:element name="Header" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:documentation>
      <p xmlns="http://Hps.Exchange.PosGateway">The header includes credentials and transaction tracking information. These fields are included as optional in the schema to allow different options for providing credentials.</p>
      <p xmlns="http://Hps.Exchange.PosGateway" />
      <p xmlns="http://Hps.Exchange.PosGateway">
        <strong>Note:</strong> One of the following combinations is required:
                                            <ul><li>License, Site, Device, Username, and Password</li>
                                                or
                                                <li>Secret API key</li></ul></p>
    </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:all>
      <xs:element name="LicenseId" type="licenseIdType" default="0" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Identifier assigned by Heartland during the boarding process; used for chaining sites together</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SiteId" type="siteIdType" default="0" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Identifier assigned by Heartland during the boarding process; tied to a specific merchant ID</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DeviceId" type="deviceIdType" default="0" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Identifier assigned by Heartland during the boarding process</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="UserName" type="userNameType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">User name assigned by Heartland during the boarding process</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Password" type="passwordType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Password for the associated user; a temp password will be provided during the boarding process but must be altered before it is used for transaction processing</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CredentialToken" type="xs:string" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">The credential token is used to indicate a user session. Currently, this option is only available to internal Heartland applications and should not be used by integrators.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SiteTrace" type="siteTraceType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">This element can be used by the client to provide a value that can be searched for later. Clients are free to provide any value that is useful to them but it must not contain sensitive data. This will also be echoed in the response if present.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DeveloperID" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Identifier assigned by Heartland during the certification process; this field is optional to support legacy integrations, but all new integrations require this value.</p>
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="6" />
            <xs:minLength value="6" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="VersionNbr" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Software version number assigned by Heartland during the certification process; this field is optional to support legacy integrations, but all new integrations require this value.</p>
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="4" />
            <xs:minLength value="4" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="ClerkID" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Identifier assigned by the merchant or client to the clerk running this transaction; this must not contain sensitive data</p>
          </xs:documentation>
        </xs:annotation>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="50" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="GPSCoordinates" type="GPSCoordinatesType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GPS coordinates indicating the location of the source of the transaction</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ClientTxnId" type="clientIdType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">A client-generated transaction id. This must be unique for this device. If present, it will be attached to this transaction and echoed in the response. This allows the client to run a timeout reversal against a unique transaction in the event that a response is never received. When a response is received, the client will receive a gateway-generated transaction id.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="UniqueDeviceId" type="uniqueDeviceIdType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">A client-supplied device identifier to be sent when transactions for multiple devices are aggregated in the same batch. If present, the field will be sent to the issuer on authorization and settlement requests and echoed in the response header.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SAFData" type="SAFDataType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">SAFData indicating if a transaction that was processed and initiated in "store and forward" (SAF) mode.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SecretAPIKey" type="secretAPIKeyType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">API key that can be used in place of license, site, device, username, and password. An API will be tied to a specific environment (i.e. certification or production).</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note: The use of SecretAPIKey is restricted.</strong>
            </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PosReqDT" type="xs:dateTime" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">POS request date and time. Required for Interac processing.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>This field is required for Canadian merchants.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DeviceConfiguration" type="DeviceConfigurationType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">
                                                        Device capabilities and/or attributes needed by a Host processor that are not otherwise able to be determined.
                                                        Please refer to the Developer Guide for further details as this data may be required for certain Host processors..
                                                    </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="x_global_transaction_id" type="x_global_transaction_idType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">A client-generated transaction id used for certain API integrations.  If present, it will be attached to this transaction and echoed in the response.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This is for internal use only.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="x_global_transaction_source" type="x_global_transaction_sourceType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">A client-generated transaction id used for certain API integrations.  If present, it will be attached to this transaction and echoed in the response.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This is for internal use only.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CustomHashReq" type="booleanType" minOccurs="0">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Indicates whether to return a hashed value of the card number using a custom salt value.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This field has been deprecated</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:all>
  </xs:complexType>
</xs:element>
See Also
Ver1.0 ElementPosRequest ElementPortico Schema