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

Transaction data

Namespace http://Hps.Exchange.PosGateway
Diagram
SurchargeEligibilityLookup Element TokenUpdaterHistory Element Tokenize Element TestCredentials Element SendReceipt Element SendFunds Element RewardCashRedeem Element RewardCashQuery Element ReportTxnResearch Element ReportTxnDetail Element ReportSearch Element ReportOpenAuths Element ReportBatchSummary Element ReportBatchHistory Element ReportBatchDetail Element ReportActivity Element RecurringBillingAuth Element RecurringBilling Element PrePaidBalanceInquiry Element PrePaidAddValue Element ParameterDownload Element OverrideFraudDecline Element ManageUsers Element ManageTokens Element ManageSettings Element InvalidateAuthentication Element InteracDeviceKeys Element Impersonate Element GiftCardVoid Element GiftCardTip Element GiftCardSale Element GiftCardReward Element GiftCardReversal Element GiftCardReplace Element GiftCardPreviousDayTotals Element GiftCardDeactivate Element GiftCardCurrentDayTotals Element GiftCardBalance Element GiftCardAlias Element GiftCardAddValue Element GiftCardActivate Element GetUserSettings Element GetUserDeviceSettings Element GetTransactionStatus Element GetAttachments Element FindTransactions Element EndToEndTest Element EBTVoucherPurchase Element EBTFSReversal Element EBTFSReturn Element EBTFSPurchase Element EBTCashBenefitWithdrawal Element EBTCashBackPurchase Element EBTBalanceInquiry Element DebitSale Element DebitAuth Element DebitAddToBatch Element DebitReversal Element DebitReturn Element DebitBalanceInquiry Element DebitAddValue Element CreditVoid Element CreditTxnEdit Element CreditSale Element NTRSTokenMetadata Element NTRSUpdateTokenStatus Element NTRSTokenStatus Element NTRSGetTokenCryptogram Element NTRSCreateToken Element CreditReversal Element CreditReturn Element CreditOfflineSale Element CreditOfflineAuth Element CreditIPQuery Element CreditIncrementalAuth Element CreditCPCEdit Element CreditCapture Element CreditAuth Element CreditAddToBatch Element CreditAdditionalAuth Element CreditAccountVerify Element ChipCardDecline Element CheckVoid Element CheckQuery Element CheckSale Element CashSale Element CashReturn Element CancelImpersonation Element BNPLCreateOrder Element BatchClose Element Authenticate Element AltPaymentVoid Element AltPaymentSessionInfo Element AltPaymentSale Element AltPaymentReversal Element AltPaymentReturn Element AltPaymentOrder Element AltPaymentCreateSession Element AltPaymentCreateAuth Element AltPaymentCapture Element AltPaymentAuth Element AddAttachment Element Choice Transaction Element
Overview
Transaction

Transaction data

Choice
AddAttachment PosAddAttachmentReqType Complex Type

AddAttachment can be used to store and associate data (i.e. images and documents) to a prior transaction.

The referenced original transaction must have been approved and must be one of the following:

  • CreditAuth
  • CreditOfflineAuth
  • CreditSale
  • CreditOfflineSale
  • CreditReturn
  • DebitSale
  • GiftCardSale
  • GiftCardAddValue
  • PrePaidAddValue
  • CheckSale
  • OverrideFraudDecline

This must be done within three months of the original transaction.

For Document attachment types:

  • Up to five document attachments are allowed to be associated with a single transaction
  • Document attachments can be submitted on one or more requests
  • To replace a document attachment, a new document attachment with the same name can be provided

For other attachment types:

  • Only one of each attachment type can be associated with a single transaction
  • Only one of each attachment type can be submitted per request
  • If a request includes an attachment type that is already associated with a given transaction, it will result in the attachment being replaced

Sequence
GatewayTxnId txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

Block1 1..5 AttachmentDataType Complex Type

This list will contain one to five sets of attachment data.

All
AttachmentType attachmentTypeType Simple Type

Identifies the attachment type; see the associated Type enumerations for specific values supported.

AttachmentData Restriction of xs:string

The base64 encoded attachment data.

Note: The code limits the maximum size beyond the limit in the schema. The maximum document and image data size allowed is 300K which includes the encoding overhead.

AttachmentFormat attachmentFormatType Simple Type

Identifies the format of the attachment data; see the associated Type enumerations for specific values supported.

AttachmentName optional Restriction of xs:string

A merchant assigned name for the associated attachment.

AltPaymentAuth PosAltPayAuthReqType Complex Type

AltPaymentAuth takes a unique Session Id and performs an Authorization transaction.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

SessionId xs:string

Unique Session Id

Buyer optional

Buyer Information for the authorization

Amt optional amtTypeGlobal Simple Type

Amount for the authorization

Shipping optional

Shipping Information for the authorization

Sequence 1..10
Payment optional

Payment Information for the authorization

LineItem optional

Line Item purchase information for the authorization

Sequence 1..100
AltPaymentCapture PosAltPayCaptureReqType Complex Type

AltPaymentCapture takes a previously approved Alternate Payment Authorization or Alternate Payment Order and captures a portion of the original into the current open batch. If a batch is not open, this transaction will create one.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

GatewayTxnId txnIdType Simple Type

Gateway generated transaction identifier returned in the response of the original transaction. This indicates the AltPayment transaction to be captured against.

Amt amtTypeGlobal Simple Type

Amount for the capture

Payment optional

Payment Information for the capture

AltPaymentCreateAuth PosAltPayCreateAuthReqType Complex Type

AltPaymentCreateAuth takes a previously approved Alternate Payment Order transaction and creates an Authorization from it.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

GatewayTxnId txnIdType Simple Type

Gateway generated transaction identifier returned in the response of the original transaction. This indicates the original Alt Payment transaction to create an authorization against.

Amt amtTypeGlobal Simple Type

Amount for the new authorization

Shipping optional

Shipping Information for the new authorization

Sequence 1..10
Payment optional

Payment Information for the new authorization

LineItem optional

Line Item purchase information for the new authorization

Sequence 1..100
AltPaymentCreateSession PosAltPayCreateSessReqType Complex Type

AltPaymentCreateSession creates a unique Session for Electronic Commerce Alternate Payment Processing. This service must be called first to perform Alternate payment processing.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

Buyer optional

Buyer Information for the session

Amt optional amtTypeGlobal Simple Type

Amount for the session

Shipping optional

Shipping Information for the session

Sequence 1..10
Payment optional

Payment Information for the session

LineItem optional

Line Item purchase information for the session

Sequence 1..100
AltPaymentOrder PosAltPayOrderReqType Complex Type

AltPaymentOrder takes a unique Session Id and performs an Order transaction.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

SessionId xs:string

Unique Session Id

Buyer optional

Buyer Information for the order

Amt optional amtTypeGlobal Simple Type

Amount for the order

Shipping optional

Shipping Information for the order

Sequence 1..10
Payment optional

Payment Information for the order

LineItem optional

Line Item purchase information for the order

Sequence 1..100
AltPaymentReturn PosAltPayReturnReqType Complex Type

AltPaymentReturn takes a Alternate Payment GatewayTxnId and performs a a return against that transaction. AltPaymentSale and AltPaymentCapture can be returned.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

GatewayTxnId txnIdType Simple Type

Gateway generated transaction identifier returned in the response of the original transaction. This indicates the Alt Payment transaction to be returned.

Amt optional amtTypeGlobal Simple Type

Amount for the return

Return optional

Return information for the return

AltPaymentReversal PosAltPayReversalReqType Complex Type

AltPaymentReversal takes a Alternate Payment GatewayTxnId and performs a reversal against that transaction. Abanonded timed out transactions of AltPaymentSale, AltPaymentOrder, AltPaymentAuth and AltPaymentCapture can be reversed

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

GatewayTxnId txnIdType Simple Type

Gateway generated transaction identifier returned in the response of the original transaction. This indicates the Alt Payment transaction to be reversed.

AltPaymentSale PosAltPaySaleReqType Complex Type

AltPaymentSale takes a unique Session Id and performs a Sale transaction. The sale is placed in the current open batch. If a batch is not open this transaction will create one.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

SessionId xs:string

Unique Session Id

Buyer optional

Buyer Information for the sale

Amt optional amtTypeGlobal Simple Type

Amount for the sale

Shipping optional

Shipping Information for the sale

Sequence 1..10
Payment optional

Payment Information for the sale

LineItem optional

Line Item purchase information for the sale

Sequence 1..100
AltPaymentSessionInfo PosAltPaySessionInfoReqType Complex Type

AltPaymentSessionInfo takes a unique Session Id and returns information about the session.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

SessionId xs:string

Unique Session Id

AltPaymentVoid PosAltPayVoidReqType Complex Type

AltPaymentVoid takes a Alternate Payment GatewayTxnId and performs a void against that transaction. AltPaymentAuth, AltPaymentOrder and AltPaymentCreateAuth can be voided.

All
TransactionType AltPaymentTxnType Simple Type

Alternate Payment Transaction Type

GatewayTxnId txnIdType Simple Type

Gateway generated transaction identifier returned in the response of the original transaction. This indicates the Alt Payment transaction to be voided.

Authenticate xs:anySimpleType

Authenticate is used to authenticate a specific user. For this call the header must include username and password.

Note: This is for internal use only.

BatchClose Extension of xs:string

BatchClose is used to settle and close the current open batch. If a batch is not open an error will be returned.

deviceId optional xs:int
CancelImpersonation xs:anySimpleType

CancelImpersonation is used to terminate a previously started impersonation session.

Note: This is for internal use only.

CashReturn PosCashReturnReqType Complex Type

CashReturn creates a log of a transaction that is returning cash to a customer. This is processed offline.

Note: The client is responsible for maintaining any required cash value totals for reconciliation.

Sequence
Block1 CashReturnReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This must refer to a prior CashSale.

Amt amtTypeGlobal Simple Type

The cash amount returned to the customer

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

CashSale PosCashSaleReqType Complex Type

CashSale creates a log of a transaction, in which cash is collected from a customer. This is processed offline.

Note: The client is responsible for maintaining any required cash value totals for reconciliation.

Sequence
Block1 CashSaleReqBlock1Type Complex Type

Contains a series of required and optional elements

All
Amt amtTypeGlobal Simple Type

The cash amount paid by the customer; this is the sale total and includes all other "Info" amounts provided as part of this request.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

ShippingAmtInfo optional amtTypeGlobal Simple Type

Shipping amount information; this defines the portion of the total amount provided as part of this request that was specifically for shipping. This is informational only and will not alter the amount processed as part of the transaction.

TaxAmtInfo optional amtTypeGlobal Simple Type

Tax amount information; this defines the portion of the total amount provided as part of this request that was specifically for tax. This is informational only and will not alter the amount processed as part of the transaction.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

CheckSale PosCheckSaleReqType Complex Type

CheckSale transactions use bank account information as the payment method. There are sub-actions that can be taken as part of the CheckSale as indicated by the CheckAction field.

Note: Both GETI and Colonnade are supported. A check processor is chosen during the boarding process for each device. The choice of check processor will drive the available functionality as well as the required elements. See individual fields for additional information.

Sequence
Block1 CheckSaleReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CheckAction checkActionType Simple Type

A modifier that determines the backend functionality to perform; see the associated Type enumerations for specific values supported.

Note: Return and Override are only supported when processing with GETI.

Note: This sets the PACKET_ID sent to GETI.

AccountInfo optional AccountInfoType Complex Type

Account information to use as the payment method

Note: The check processor may allow MICR data to be sent in place of account and route or it may require both. This can be determined during certification.

DataEntryMode optional dataEntryModeType Simple Type

Indicates whether the provided data was entered manually or retrieved from a reader; see the associated Type enumerations for specific values supported.

Note: This sets the CONTROL_CHAR sent to GETI.

CheckType optional checkTypeType Simple Type

Indicates the type of check being processed; see the associated Type enumerations for specific values supported.

Note: This sets the IDENTIFIER sent to GETI.

VerifyInfo optional VerifyInfoType Complex Type

Verification only options

Note: If eBronze is selected as the SEC code for GETI during boarding, all requests will be verification only and this element is not required.

Amt optional amtTypeGlobal Simple Type

The amount of the check to be processed

SECCode optional xs:string

NACHA Standard Entry Class Code for processing.

Valid values include:

  • "PPD" (Prearranged Payment and Deposit)
  • "CCD" (Cash Concentration or Disbursement)
  • "POP" (GETI only, Point of Purchase Entry)
  • "WEB" (Internet Initiated Entry)
  • "TEL" (Telephone Initiated Entry)
  • "EBRONZE" (GETI only)

Note: SECCode is a required field when the check processor is Colonnade.

Note: For GETI, this will be used to validate information returned from GETI during the transaction. This validation is not done when EBRONZE is chosen.

ConsumerInfo optional ConsumerInfoType Complex Type

Information about the consumer.

Note: While all these are optional in the schema, the check processor may require some of these fields in specific circumstances. For additional information on this, please consult the requirements of the specific processor.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

PaymentMethodKey optional guidType Simple Type

Unique key generated by PayPlan associated with a stored payment method

Note: When using PaymentMethodKey, the following fields should not be sent as part of the transaction as they will be obtained from previously stored data:

  • DataEntryMode
  • CheckType
  • VerifyInfo
  • SECCode
  • ConsumerInfo
  • RoutingNumber
  • AccountNumber

RecurringData optional RecurringDataType Complex Type

Additional data that may be required for recurring transactions

TokenValue optional xs:string

Token used to replace payment method data (route, account, and MICR).

Note: Multi-use tokens are not yet supported on check transactions. This is currently only used for single-use tokens. Single-use tokens are provided by the SecureSubmit product and are primarily used in eCommerce situations.

CheckQuery PosCheckQueryReqType Complex Type

CheckQuery is used to query info about a check transaction.

Sequence
Block1 CheckQueryReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: GatewayTxnId and ClientTxnId are mutually exclusive, but it is required that one of these fields be provided.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be queried.

ClientTxnId optional clientIdType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be queried.

Note: Client generated ids are critical for situations when the client never receives a response from the gateway.

CheckVoid PosCheckVoidReqType Complex Type

CheckVoid is used to cancel a previously successful CheckSale transaction. It can also be used to cancel a prior CheckSale transaction. This should be used in timeout situations or when a complete response is not received.

Note:CheckVoid transactions should be submitted within 31 days of the original transaction.

Note:If the CheckVoid also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved. CheckQuery can be used to check the status of a prior CheckSale transaction.

Sequence
Block1 CheckVoidReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: GatewayTxnId and ClientTxnId are mutually exclusive, but it is required that one of these fields be provided.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

ClientTxnId optional clientIdType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: Client generated ids are critical for situations when the client never receives a response from the gateway.

ChipCardDecline PosChipCardDeclineReqType Complex Type

ChipCardDecline is used to record an offline decline by an EMV chip card.This transaction is optional and can be used for record-keeping purposes only.

Note:This transaction is not used for a transaction that received an online approval. To cancel transactions that have been approved online but subsequently declined by the chip, a Credit/Debit Reversal must be sent.

All
Block1 ChipCardDeclineReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Note: Multi-use tokens cannot be requested on a ChipCardDecline.

EMVTagData optional emvTagDataType Simple Type

EMV tag data in TLV format.

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

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

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.

DirectMktData optional DirectMktDataType Complex Type

Direct marketing data

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

AutoSubstantiation optional AutoSubstantiationType Complex Type

Auto substantiation data; used for healthcare

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

ConvenienceAmtInfo optional amtTypeGlobal Simple Type

Convenience fee amount information; this defines the portion of the total amount provided as part of this request that was specifically for a convenience fee. This is informational only and will not alter the amount processed as part of the transaction.

ShippingAmtInfo optional amtTypeGlobal Simple Type

Shipping amount information; this defines the portion of the total amount provided as part of this request that was specifically for shipping. This is informational only and will not alter the amount processed as part of the transaction.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

Surcharge amount information; this defines the portion of the total amount provided as part of this request that was specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

CreditAccountVerify PosCreditAccountVerifyReqType Complex Type

CreditAccountVerify is used to verify that the associated account is in good standing with the Issuer. This is a zero dollar transaction with no associated authorization. Since VISA and other Issuers have started assessing penalties for one dollar authorizations, this provides a way for merchants to accomplish the same task while avoiding these penalties.

There are differences in the processing of this transaction based on card type:

  • VISA: an account verification is done at the Issuer
  • MasterCard: an account status check is done at the Issuer
  • Discover: an account verification is done at the Issuer
  • AMEX: an AVS only verification is done; this still ensures that the account is valid but requires that AVS data is supplied (zip code at a minimum). Both manual and swiped/track entry methods are supported. However, EMV transactions are not supported.

Note:UnionPay cards do not support Verification when routing directly to UnionPay International for approval. UnionPay cards routing through either the Discover or JCB networks may obtain verification.  (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).

All
Block1 CreditAccountVerifyBlock1Type Complex Type

Contains a series of required and optional elements

Note: CardData and PaymentMethodKey are mutually exclusive, but it is required that one of these fields be provided.

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.

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.

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.

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

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.

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.

CreditAdditionalAuth PosCreditAdditionalAuthReqType Complex Type

CreditAdditionalAuth is typically used in a bar or restaurant situation where the merchant obtains the payment information for an original CreditAuth but does not want to hold the card or ask for it on each additional authorization.

This uses data from a previously successful CreditAuth to authorize an additional amount. The additional authorization is run as a card not present transaction and cannot be placed in a batch. This can be repeated as needed. The final settlement amount including any additional authorized amounts must be provided in the CreditAddToBatch for the original CreditAuth. When the original transaction is added to the batch a reversal is automatically attempted for all additional authorizations.

The following rules apply:

  • CreditAdditionalAuth is allowed only for restaurant merchants.
  • The original transaction must be an approved open authorization run within the same day (i.e. a CreditAuth that has not been added to a batch).
  • When the original authorization transaction is fully reversed or voided, any associated CreditAdditionalAuth transactions are reversed.
  • An original authorization transaction with CreditAdditionalAuth transactions can be partially reversed for less than the full original auth amount. However, additional authorizations are still not reversed until the original is added to the batch.
  • Additional authorizations cannot be voided, edited, or used for returns.

Note:CreditAdditionalAuth is not supported for UnionPay cards routing to UnionPay International for authorization. CreditAdditionalAuth may continue to be used for UnionPay cards routing through either the Discover or JCB networks. (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).

Note:This service has been deprecated. Refer to CreditIncrementalAuth.

All
Block1 CreditAdditionalAuthReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction.

Amt amtTypeGlobal Simple Type

The amount requested for authorization

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use

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.

CreditAddToBatch PosCreditAddToBatchReqType Complex Type

CreditAddToBatch is primarily used to add a previously approved open authorization (CreditAuth, CreditOfflineAuth, OverrideFraudDecline, or RecurringBillingAuth) to the current open batch. If a batch is not open this transaction will create one. It also provides the opportunity to alter data associated with the transaction (i.e. add a tip amount).

Note: The gateway will not submit an authorization or reversal when the settlement amount of a transaction is altered. The client is responsible for managing these adjustments as needed.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

Amt optional amtTypeGlobal Simple Type

If present, this amount replaces the amount to be settled for the original transaction; this includes all other "Info" amounts associated with the original transaction or provided in this request.

GratuityAmtInfo optional amtTypeGlobal Simple Type

If present, this amount is stored with the original transaction. If the original already had gratuity amount information, this will replace it. This defines the portion of the settlement amount that is specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

LodgingDataEdit optional LodgingDataEditType Complex Type

If provided, these fields will replace or add Lodging data edits to the original transaction.

All
FolioNumber optional folioNumberType Simple Type

Lodging system generated value used to group and manage charges during a stay

Duration optional xs:int

Duration of stay in days

The stay Duration range is from 1 to 99.

CheckInDate optional xs:date

Date of check-in

CheckOutDate optional xs:date

Date of check-out

Rate optional amtTypeGlobal Simple Type

Daily room rate

Note: This field is required by AMEX.

RoomTax optional amtTypeGlobal Simple Type

Total Room Tax Charges. For Feature Use

ExtraCharges optional ExtraChargesDataType Complex Type

Indicates the types of extra charges included in the extra charge amount information and the total transaction amount

ExtraChargeAmtInfo optional amtTypeGlobal Simple Type

Total extra charge amount information; this defines the portion of the total amount provided as part of this request that was specifically for lodging extra charges. This is informational only and will not alter the amount processed as part of the transaction.

ExtraChargeDetailAmtInfo optional ExtraChargeDetailAmtInfoDataType Complex Type

Defines the individual amounts of extra charges included in the extra charge amount information and the total transaction amount.

ExtraChargesDetailAmountInfo can be used by Asia Pacific merchants only.

DirectMktData optional DirectMktDataType Complex Type

If provided, these fields will replace or add direct marketing data to the original transaction.

All
DirectMktInvoiceNbr directMktInvoiceNbrType Simple Type

Invoice number

Note: The elements in the direct marketing data group are passed on through the settlement process.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

If present, this amount is stored with the original transaction. If the original already had surcharge amount information, this will replace it. This defines the portion of the settlement amount that is specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

EMVTagData optional emvTagDataType Simple Type

EMV tag data in TLV format consisting of the chip card results after applying the Issuer response tags.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format. For EMV tag data this would consist of the chip card results after applying the Issuer response tags.

All
TagValues optional Extension of xs:string

This field holds the tag data values.

PFFundingDetails optional PFFundingDetailsType Complex Type

Allows ProPay merchants to specify split funding for a transaction.

All
PFRecAccountNbr Restriction of xs:long

Account number of the merchant who will receive the secondary amount.

PFFundingAmt amtTypeGlobal Simple Type

Amount for which the split transaction has to be performed.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

RetryInd optional booleanType Simple Type

Indicates whether this transaction is a retry of the previous CreditAddToBatch request.

Note: This is for the UK market only.

NoShow optional booleanType Simple Type

Indicates that this charge is due to a "no show" on a reservation

Note: This is for the UK and AP markets only.

CurrencyConversion optional CurrConversionDataType Complex Type

Data block for Currency Conversion.

Integration must be through GP-API

All
CurrConvOptOutFlag booleanType Simple Type

This setting indicates if the Customer has decided Opt Out of currency conversion and have the amount remain in the Merchants currency. If the customer does not opt out, the amount will be converted to currency associated with the card.

RateLookupTxnId optional guidType Simple Type

The Retrieval Reference Number (RRN) of the RateLookup or Incremental Authorization that provided the rate used for the calculations in this transaction, if it is different from the original Authorization.

CardHolderCurrCode optional currCodeType Simple Type

Indicates the currency associated with the cardholder card.

CardHolderAmt optional amtTypeGlobal Simple Type

The charge amount in the cardholder currency.

ExchangeRateApplied optional exchangeRateType Simple Type

The exchange rate used for currency conversion.

MarkupFee optional Restriction of xs:decimal

The mark up percentage applied to the transaction, resulting in the commission fee.

CreditAuth PosCreditAuthReqType Complex Type

CreditAuth authorizes a credit card transaction. These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time using CreditAddToBatch. Approved authorizations that have not yet been added to a batch are called open auths.

Note: If you prefer to have the authorization automatically added to the batch, use CreditSale.

Authorizations can be processed by sending card data, the GatewayTxnId from a previous authorization, or a key from a previously stored payment method.

When using a prior transaction id, the following rules apply:

  • The original transaction must be an approved CreditAuth or CreditSale that was not also run using a prior transaction id.
  • The original transaction must be fully reversed, voided, or returned.
  • The original transaction must have occurred within the last 14 days.
  • The original transaction may only be referenced once in this way.
  • The new amount must be greater than 0.00 and cannot exceed 100% of the original.
  • The new transaction is sent as "Card Not Present"
  • The new transaction can be voided or reversed.
  • OrigTxnRefData must be provided with AuthCode and/or CardNbrLastFour and the provided data must match the original transaction data.

All
Block1 CreditAuthReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: CardData, GatewayTxnId, and PaymentMethodKey are mutually exclusive, but it is required that one of these elements be provided.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction from which card data will be reused.

Note: When using a prior transaction id, card data should not be sent and original transaction reference data will be required.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction.

Note: This is for internal use only.

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.

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.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

AmountIndicator optional amountIndicatorType Simple Type

Valid values include:

  • 'E' indicates that Amt is an estimated amount
  • 'F' indicates the Amt is final

Note: In the case of 'F', the Amt should not be manipulated and no CreditIncrementalAuth should be ran.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Only used for UnionPay transactions processing to the GSAP-NA and GSAP-AP authorization platforms. Not for use with EMV transactions. Refer to EMVData.

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.

DirectMktData optional DirectMktDataType Complex Type

Direct marketing data; eCommerce

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

AutoSubstantiation optional AutoSubstantiationType Complex Type

Auto substantiation data; used for healthcare

AllowPartialAuth optional booleanType Simple Type

Indicates whether or not a partial authorization is supported by terminal; the default is N.

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

OrigTxnRefData optional origTxnRefDataType Complex Type

This element is required when a GatewayTxnId is used instead of card data. At least one of the sub-fields must be supplied. Any supplied data must match the corresponding data on the original transaction being referenced.

ConvenienceAmtInfo optional amtTypeGlobal Simple Type

Convenience fee amount information; this defines the portion of the total amount provided as part of this request that was specifically for a convenience fee. This is informational only and will not alter the amount processed as part of the transaction.

ShippingAmtInfo optional amtTypeGlobal Simple Type

Shipping amount information; this defines the portion of the total amount provided as part of this request that was specifically for shipping. This is informational only and will not alter the amount processed as part of the transaction.

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.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

Surcharge amount information; this defines the portion of the total amount provided as part of this request that was specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

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.

SecureECommerce optional SecureECommerceType Complex Type

Allows for sending Secure ECommerce data associated with the transaction. This data must be obtained from a certified device that conform to the 3DSecure standard.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

CPCData optional CPCDataType Complex Type

Corporate purchasing card data

CurrencyConversion optional CurrConversionDataType Complex Type

Data block for Currency Conversion.

Integration must be through GP-API

BillPay optional booleanType Simple Type

Indicates whether or not the transaction is a bill payment.

Merchants requiring Bill Payments should use RecurringBilling.

Secure3D optional Secure3DType Complex Type

Allows for sending 3DSecure Authentication data associated with the transaction.

WalletData optional WalletDataType Complex Type

Allows for sending Wallet Authentication data associated with the transaction.

SubMerchantData optional SubMerchantDataType Complex Type

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

Note: For internal use only.

IPSelectedTerms optional IPSelectedTermsReqType Complex Type

Information on the Installment Plan chosen by the customer. Usage varies by region and the Installments service provider.

Merchants located in the Asia Pacific region must provide the NbrInstallments and Program. SIPOptions is optional.

Merchants located in Mexico must provide the NbrInstallemnts, InstallmentPlan, and GracePeriod only.

Merchants located in Canada must provide the Program and VISOptions.

For Visa Installment Service (VIS) merchants must provide VISPlanOptions and Program.

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.

ServiceLocation optional ServiceLocationType Complex Type

Details of the location where services are provided, if different from the merchant’s location. Should be provided for Mastercard transactions where applicable.

Note: Currently only used by Mastercard.

EUSingleTap optional booleanType Simple Type

This field provides a way for a European merchant to indicate whether a transaction is a Single Tap contactless transaction, or whether the request contains an intentionally duplicated (replayed) ATC value. Applies to MC transactions only. Valid values: Y - SingleTap N - ReplayedATC

SCAExemptionData optional SCAExemptionDataType Complex Type

This fields provides a way for a European merchant to indicate that the transaction can take advantage of one of the exemptions to SCA. Applies to visa transactions only.

CreditCPCEdit PosCreditCPCEditReqType Complex Type

CreditCPCEdit attaches Corporate Purchase Card (CPC) data to a prior transaction. This information will be passed to the issuer at settlement when the associated card was a corporate card or an AMEX card.

Note: This function only works against previously approved CreditAuth, CreditSale, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, and RecurringBillingAuth transactions.

Note: The amount of the original transaction is not altered by the CreditCPCEdit. This additional data is informational only. The original transaction will be processed regardless of whether or not the CreditCPCEdit is used by the client.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

CPCData CPCDataType Complex Type

Corporate purchasing card data

All
CardHolderPONbr optional cardHolderPONbrType Simple Type

Purchase order number

TaxType optional taxTypeType Simple Type

Tax type indicator that qualifies the associated tax amount, see the associated Type enumerations for specific values supported.

TaxAmt optional amtTypeGlobal Simple Type

Tax amount

Note: If the tax type is 'TaxExempt', an amount should not be provided. If it is, the gateway discards the amount.

SalesTaxDetails optional SalesTaxDetailsType Complex Type

Allows sending the Canadian sales tax details for corporate card processing.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

CorporateData optional CorporateDataType Complex Type

Corporate Data for LIII transaction. For Future Use.

Sequence
Choice
Visa VisaType Complex Type

Visa Corporate/Purchasing Card Level III data.

MC MCType Complex Type

MC Corporate/Purchasing Card Level III data.

CreditIncrementalAuth PosCreditIncrementalAuthReqType Complex Type

CreditIncrementalAuth adds to the authorized amount for a prior transaction.

The following rules apply:

  • The original transaction must have been an approved CreditAuth. NOTE: CreditSale is allowed for US merchants processing to the Exchange host only.
  • The original transaction id should continue to be used for subsequent transactions (i.e., voids, reversals, edits, etc.); the transaction id of the incremental authorization should never be referred to by subsequent transactions.
  • Each incremental authorization is not added to the batch. The total amount is maintained with the original transaction.
  • If the final settlement amount of the original transaction is less than the total of all authorizations, reversals will automatically be generated as needed.

Note:UnionPay cards routed directly to UnionPay International do not support Incremental Authorizations. CreditIncrementalAuth may continue to be used for UnionPay cards routing through either the Discover or JCB networks. (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).

All
Block1 CreditIncrementalAuthReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction.

Amt amtTypeGlobal Simple Type

The amount requested for authorization

LodgingData optional ExtraChargesDataType Complex Type

Lodging extra charge indicators; common group of elements that provide additional details specific to lodging transactions that may be required in certain situations as determined by the brands

Note: The field name LodgingData can be confusing in this case as it is actually referring to the lodging extra charges data type.

ExtraChargeDetailAmtInfo optional ExtraChargeDetailAmtInfoDataType Complex Type

Defines the individual amounts of extra charges included in the extra charge amount information and the total transaction amount.

ExtraChargesDetailAmountInfo can be used by Asia Pacific merchants only.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

CardOnFileData optional CardOnFileDataType Complex Type

Card On File Data

For Credit Incremental Auth transactions, this data is used for Exchange-hosted merchants only. For GSAP, GNAP, and AP hosted merchants, the card on file data is obtained from the original Credit Auth being incremented.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

CurrencyConversion optional CurrConversionDataType Complex Type

Data block for Currency Conversion.

Integration must be through GP-API

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.

CreditIPQuery PosCreditIPQueryReqType Complex Type

CreditIPQuery is used to query the Installment Payment terms available to the cardholder.

All
Block1 CreditIPQueryBlock1Type Complex Type

Contains a series of required and optional elements

CardData and PaymentMethodKey are mutually exclusive, but it is required that one of these fields be provided.

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.

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.

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.

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

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.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

IPTerms optional IPTermsReqDataType Complex Type

The IPTerms block include information regarding the installment Program.

For Visa Installments Service (VIS), multiple plans are returned in the response. The VISOptions block includes additional filter options for the returned plans.

CreditOfflineAuth PosCreditOfflineAuthReqType Complex Type

CreditOfflineAuth records an authorization obtained outside of the gateway (e.g., voice authorization, chip card offline approval). These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time using CreditAddToBatch. Approved authorizations that have not yet been added to a batch are called open auths.

Note:Depending on the Host Processor, a CreditOfflineAuth transaction may not be modified after it has been added to a batch.

All
Block1 CreditOfflineAuthReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: OfflineAuthCode and EMVTagData are mutually exclusive, but it is required that one of these elements be provided.

All
Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

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: This is not used in offlines.

OfflineAuthCode optional authCodeType Simple Type

Authorization code obtained from the issuer outside of the gateway

DirectMktData optional DirectMktDataType Complex Type

Direct marketing data; eCommerce

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AutoSubstantiation optional AutoSubstantiationType Complex Type

Auto substantiation data; used for healthcare

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

ConvenienceAmtInfo optional amtTypeGlobal Simple Type

Convenience fee amount information; this defines the portion of the total amount provided as part of this request that was specifically for a convenience fee. This is informational only and will not alter the amount processed as part of the transaction.

ShippingAmtInfo optional amtTypeGlobal Simple Type

Shipping amount information; this defines the portion of the total amount provided as part of this request that was specifically for shipping. This is informational only and will not alter the amount processed as part of the transaction.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

Surcharge amount information; this defines the portion of the total amount provided as part of this request that was specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

EMVTagData optional emvTagDataType Simple Type

EMV tag data in TLV format; used for chip card offline approvals.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format. EMV tag data here is used for chip card offline approvals.

CPCData optional CPCDataType Complex Type

Corporate purchasing card data

CreditOfflineSale PosCreditOfflineSaleReqType Complex Type

CreditOfflineSale records an authorization obtained outside of the gateway (e.g., voice authorization, chip card offline approval). The authorization is placed in the current open batch. If a batch is not open this transaction will create one.

All
Block1 CreditOfflineSaleReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction.

This field is used to indicate that the previous CreditOfflineSale that timed out should be retried.

Note: This is for the UK market only.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction.

Note: This is for internal use only.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

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: This is not used in offlines.

OfflineAuthCode optional authCodeType Simple Type

Authorization code obtained from the issuer outside of the gateway

DirectMktData optional DirectMktDataType Complex Type

Direct marketing data; eCommerce

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AutoSubstantiation optional AutoSubstantiationType Complex Type

Auto substantiation data; used for healthcare

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

ConvenienceAmtInfo optional amtTypeGlobal Simple Type

Convenience fee amount information; this defines the portion of the total amount provided as part of this request that was specifically for a convenience fee. This is informational only and will not alter the amount processed as part of the transaction.

ShippingAmtInfo optional amtTypeGlobal Simple Type

Shipping amount information; this defines the portion of the total amount provided as part of this request that was specifically for shipping. This is informational only and will not alter the amount processed as part of the transaction.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

Surcharge amount information; this defines the portion of the total amount provided as part of this request that was specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

EMVTagData optional emvTagDataType Simple Type

EMV tag data in TLV format; used for chip card offline approvals.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format. EMV tag data here is used for chip card offline approvals.

CPCData optional CPCDataType Complex Type

Corporate purchasing card data

CreditReturn PosCreditReturnReqType Complex Type

CreditReturn allows the merchant to return funds back to the cardholder. Returns can be for the entire amount associated with the original sale or a partial amount. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

For added fraud protection, CreditReturn can be run utilizing the GatewayTxnId from a previous sale. When this feature is used, the gateway tracks returns against the original sale and applies several rules.

The following rules apply when returning by GatewayTxnId:

  • The original transaction must be a CreditAuth, CreditSale, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, or RecurringBillingAuth and must be in a batch. It cannot be an open authorization that still needs to be added to a batch.
  • The total of all returns cannot exceed the original sale amount. This is true for processing a single return as well as multiple returns against the same original transaction.
  • A return amount must be greater than zero.
  • The return must be run within 1 year.
  • CreditReversal, CreditVoid, and CreditTxnEdit are not allowed against original transactions for which a full or partial return has been run.
  • A return can be voided. If this results in the total return amount being adjusted back to zero, CreditVoid, CreditReversal, and CreditTxnEdit are allowed on the original transaction once again.
  • If CardData is also supplied, the supplied card number and the card number of the original transaction must match.

Note: If the original transaction is in the current open batch, a CreditVoid or CreditReversal may be used instead. However, only a return can be used once the batch is closed.

All
Block1 CreditReturnReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: One or both of CardData and GatewayTxnId can be supplied, but it is required that one of these elements be provided.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the original sale this return is to be run against.

Note: If CardData is also sent, the provided data must match the original.

AuthCode optional authCodeType Simple Type

Authorization code returned by the Issuer on the original transaction.  Supported for GSAP-hosted merchants only; necessary for returns in Mexico.

Amt amtTypeGlobal Simple Type

The amount to return; this includes all other "Info" amounts provided as part of this request.

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Only used for UnionPay transactions processing to the GSAP-NA and GSAP-AP authorization platforms. Not for use with EMV transactions. Refer to EMVData.

DirectMktData optional DirectMktDataType Complex Type

Direct marketing data; eCommerce

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

Surcharge amount information; this defines the portion of the total amount provided as part of this request that was specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

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.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

CurrencyConversion optional CurrConversionDataType Complex Type

Data block for Currency Conversion.

Integration must be through GP-API

SubMerchantData optional SubMerchantDataType Complex Type

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

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.

CreditReversal PosCreditReversalReqType Complex Type

CreditReversal cancels a prior authorization in the current open batch. This can be used in timeout situations or when a complete response is not received. This transaction can also be used to cancel a transaction that was approved online but subsequently declined by the chip.

This can be used on prior transactions of the following types: CreditAuth, CreditSale, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, RecurringBillingAuth, and OverrideFraudDecline.

Note:This can also be used to partially reduce the amount of a prior authorization.

Note:Credit reversal transactions must be submitted within 31 days of the original transaction.

Note:If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.

Note:A credit reversal should be requested with the GatewayTxnID or ClientTxnID. Never send a reversal request with a multi-use token in the Card Data.

All
Block1 CreditReversalReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: CardData, ClientTxnId, and GatewayTxnId are mutually exclusive, but it is required that one of these fields be provided.

Note: Always run reversals with either GatewayTxnId or ClientTxnId. If only CardData is used the results are not guaranteed as the original transaction may not be uniquely identified.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

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.

Amt amtTypeGlobal Simple Type

This must match the authorization amount from the original transaction. This is required for both full and partial reversals. If not supplied an error response will be returned.

AuthAmt optional amtTypeGlobal Simple Type

This field is required for a partial reversal and indicates the desired new authorization amount once the reversal has been processed. If not supplied it will be defaulted to zero indicating a full reversal.

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

ClientTxnId optional clientIdType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: Client generated ids are critical for situations when the client never receives a response from the gateway.

EMVTagData optional emvTagDataType Simple 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.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

CurrencyConversion optional CurrConversionDataType Complex Type

Data block for Currency Conversion.

Integration must be through GP-API

NTRSCreateToken NTRSCreateTokenReqType Complex Type

It is used to create a network token using the Network Tokenization Service.

Note: RESERVED FOR FUTURE USE

All
Block1 NTRSCreateTokenReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

ConsumerId optional Restriction of xs:string

Unique token requestor specific consumer identifier (e.g. wallet account ID).

NTRSDeviceData NTRSDeviceDataType Complex Type

Data related to the user's browser or mobile device.

NTRSRiskData optional NTRSRiskDataType Complex Type

Risk related data. It SHOULD NOT be sent if the CardPresent = False.

CardHolderData optional CardHolderDataDataType Complex Type

Cardholder-related data.

NTRSGetTokenCryptogram NTRSGetTokenCryptogramReqType Complex Type

It is used to retrieve the cryptogram and payment data from Network Tokenization Service.

Note: RESERVED FOR FUTURE USE

All
Block1 NTRSGetTokenCryptogramReqBlock1Type Complex Type

Contains a series of required and optional elements

All
NTRSToken Restriction of xs:long

The token itself. The token that payment data is being requested for.

Amt amtTypeGlobal Simple Type

The amount requested for authorization.

NTRSTokenStatus NTRSTokenStatusReqType Complex Type

It is used to retrieve the token status from Network Tokenization Service.

Note: RESERVED FOR FUTURE USE

All
Block1 NTRSTokenStatusReqBlock1Type Complex Type

Contains a series of required and optional elements

All
NTRSToken Restriction of xs:long

The token itself. The token that payment data is being requested for.

NTRSUpdateTokenStatus NTRSUpdateTokenStatusReqType Complex Type

It is used to update the status of the NTRS token.

Note: RESERVED FOR FUTURE USE

All
Block1 NTRSUpdateTokenStatusReqBlock1Type Complex Type

Contains a series of required and optional elements

All
NTRSToken Restriction of xs:long

The network token generated by NTRS.

NTRSTokenMetadata NTRSTokenMetadataReqType Complex Type

It is used to retrieve the card metadata from Network Tokenization Service.

Note: RESERVED FOR FUTURE USE

All
Block1 NTRSTokenMetadataReqBlock1Type Complex Type

Contains a series of required and optional elements

All
NTRSToken Restriction of xs:long

The token itself. The token that payment data is being requested for.

CreditSale PosCreditSaleReqType Complex Type

CreditSale authorizes a credit card transaction. These authorizations are automatically added to the batch to be settled. If a batch is not already open this transaction will create one.

Authorizations can be processed by sending card data or the GatewayTxnId from a previous authorization. When using a prior transaction id, the following rules apply:

  • The original transaction must be an approved CreditAuth or CreditSale that was not also run using a prior transaction id.
  • The original transaction must be fully reversed, voided, or returned.
  • The original transaction must have occurred within the last 14 days.
  • The original transaction may only be referenced once in this way.
  • The new amount must be greater than 0.00 and cannot exceed 100% of the original.
  • The new transaction is sent as "Card Not Present"
  • The new transaction can be voided or reversed.
  • OrigTxnRefData must be provided with AuthCode and/or CardNbrLastFour and the provided data must match the original transaction data.

All
Block1 CreditSaleReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: CardData and GatewayTxnId are mutually exclusive, but it is required that one of these elements be provided.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction from which card data will be reused.

Note: When using a prior transaction id, card data should not be sent and original transaction reference data will be required.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction.

Note: This is for internal use only.

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.

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.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

AmountIndicator optional amountIndicatorType Simple Type

Valid values include:

  • 'E' indicates that Amt is an estimated amount
  • 'F' indicates the Amt is final

Note: In the case of 'F', the Amt should not be manipulated and no CreditIncrementalAuth should be ran.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Only used for UnionPay transactions processing to the GSAP-NA and GSAP-AP authorization platforms. Not for use with EMV transactions. Refer to EMVData.

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.

DirectMktData optional DirectMktDataType Complex Type

Direct marketing data; eCommerce

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

AutoSubstantiation optional AutoSubstantiationType Complex Type

Auto substantiation data; used for healthcare

AllowPartialAuth optional booleanType Simple Type

Indicates whether or not a partial authorization is supported by terminal; the default is N.

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

OrigTxnRefData optional origTxnRefDataType Complex Type

This element is required when a GatewayTxnId is used instead of card data. At least one of the sub-fields must be supplied. Any supplied data must match the corresponding data on the original transaction being referenced.

ConvenienceAmtInfo optional amtTypeGlobal Simple Type

Convenience fee amount information; this defines the portion of the total amount provided as part of this request that was specifically for a convenience fee. This is informational only and will not alter the amount processed as part of the transaction.

ShippingAmtInfo optional amtTypeGlobal Simple Type

Shipping amount information; this defines the portion of the total amount provided as part of this request that was specifically for shipping. This is informational only and will not alter the amount processed as part of the transaction.

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.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

Surcharge amount information; this defines the portion of the total amount provided as part of this request that was specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

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.

SecureECommerce optional SecureECommerceType Complex Type

Allows for sending Secure ECommerce data associated with the transaction. This data must be obtained from a certified device that conform to the 3DSecure standard.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

CPCData optional CPCDataType Complex Type

Corporate purchasing card data

CashbackAmtInfo optional amtTypeGlobal Simple Type

Cashback amount information; this defines the portion of the total amount provided as part of this request that was specifically for cashback. This is informational only and will not alter the amount processed as part of the transaction.

Note: This is only supported for the UK, AP, and Mexico markets only.

IPSelectedTerms optional IPSelectedTermsReqType Complex Type

Information on the Installment Plan chosen by the customer. Usage varies by region and the Installments service provider.

Merchants located in the Asia Pacific region must provide the NbrInstallments and Program. SIPOptions is optional.

Merchants located in Mexico must provide the NbrInstallemnts, InstallmentPlan, and GracePeriod only.

Merchants located in Canada must provide the Program and VISOptions.

For Visa Installment Service (VIS) merchants must provide VISPlanOptions and Program.

CurrencyConversion optional CurrConversionDataType Complex Type

Data block for Currency Conversion.

Integration must be through GP-API

BillPay optional booleanType Simple Type

Indicates whether or not the transaction is a bill payment.

Merchants requiring Bill Payments should use RecurringBilling.

Secure3D optional Secure3DType Complex Type

Allows for sending 3DSecure Authentication data associated with the transaction.

WalletData optional WalletDataType Complex Type

Allows for sending Wallet Authentication data associated with the transaction.

PFFundingDetails optional PFFundingDetailsType Complex Type

Allows ProPay merchants to specify split funding for a transaction.

SubMerchantData optional SubMerchantDataType Complex Type

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

Note: For internal use only.

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.

ServiceLocation optional ServiceLocationType Complex Type

Details of the location where services are provided, if different from the merchant’s location. Should be provided for Mastercard transactions where applicable.

Note: Currently only used by Mastercard.

EUSingleTap optional booleanType Simple Type

This field provides a way for a European merchant to indicate whether a transaction is a Single Tap contactless transaction, or whether the request contains an intentionally duplicated (replayed) ATC value. Applies to MC transactions only. Valid values: Y - SingleTap N - ReplayedATC

SCAExemptionData optional SCAExemptionDataType Complex Type

This fields provides a way for a European merchant to indicate that the transaction can take advantage of one of the exemptions to SCA. Applies to visa transactions only.

CreditTxnEdit PosCreditTxnEditReqType Complex Type

CreditTxnEdit allows the merchant to alter the data on a previously approved CreditSale, CreditAuth, CreditOfflineSale, or CreditOfflineAuth (i.e. add a tip amount).

Note:Depending on the Host Processor, a CreditOfflineAuth transaction may not be modified after it has been added to a batch.

Note:The gateway will not submit an authorization or reversal when the settlement amount of a transaction is altered. The client is responsible for managing these adjustments as needed.

Note:Approved UnionPay authorizations routed directly to UnionPay International cannot be adjusted. UnionPay cards routing through either the Discover or JCB networks may be adjusted. (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

Amt optional amtTypeGlobal Simple Type

If present, this amount replaces the amount to be settled for the original transaction; this includes all other "Info" amounts associated with the original transaction or provided in this request.

GratuityAmtInfo optional amtTypeGlobal Simple Type

If present, this amount is stored with the original transaction. If the original already had gratuity amount information, this will replace it. This defines the portion of the settlement amount that is specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

LodgingDataEdit optional LodgingDataEditType Complex Type

If provided, these fields will replace or add Lodging data edits to the original transaction.

All
FolioNumber optional folioNumberType Simple Type

Lodging system generated value used to group and manage charges during a stay

Duration optional xs:int

Duration of stay in days

The stay Duration range is from 1 to 99.

CheckInDate optional xs:date

Date of check-in

CheckOutDate optional xs:date

Date of check-out

Rate optional amtTypeGlobal Simple Type

Daily room rate

Note: This field is required by AMEX.

RoomTax optional amtTypeGlobal Simple Type

Total Room Tax Charges. For Feature Use

ExtraCharges optional ExtraChargesDataType Complex Type

Indicates the types of extra charges included in the extra charge amount information and the total transaction amount

ExtraChargeAmtInfo optional amtTypeGlobal Simple Type

Total extra charge amount information; this defines the portion of the total amount provided as part of this request that was specifically for lodging extra charges. This is informational only and will not alter the amount processed as part of the transaction.

ExtraChargeDetailAmtInfo optional ExtraChargeDetailAmtInfoDataType Complex Type

Defines the individual amounts of extra charges included in the extra charge amount information and the total transaction amount.

ExtraChargesDetailAmountInfo can be used by Asia Pacific merchants only.

DirectMktData optional DirectMktDataType Complex Type

If provided, these fields will replace or add direct marketing data to the original transaction.

All
DirectMktInvoiceNbr directMktInvoiceNbrType Simple Type

Invoice number

Note: The elements in the direct marketing data group are passed on through the settlement process.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

If present, this amount is stored with the original transaction. If the original already had surcharge amount information, this will replace it. This defines the portion of the settlement amount that is specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

EMVTagData optional emvTagDataType Simple Type

EMV Tag Data in TLV format consisting of the chip card results after applying the Issuer response tags.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format. For EMV tag data this would consist of the chip card results after applying the Issuer response tags.

All
TagValues optional Extension of xs:string

This field holds the tag data values.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

NoShow optional booleanType Simple Type

Indicates that this charge is due to a "no show" on a reservation

Note: This is for the UK and AP markets only.

CurrencyConversion optional CurrConversionDataType Complex Type

Data block for Currency Conversion.

Integration must be through GP-API

All
CurrConvOptOutFlag booleanType Simple Type

This setting indicates if the Customer has decided Opt Out of currency conversion and have the amount remain in the Merchants currency. If the customer does not opt out, the amount will be converted to currency associated with the card.

RateLookupTxnId optional guidType Simple Type

The Retrieval Reference Number (RRN) of the RateLookup or Incremental Authorization that provided the rate used for the calculations in this transaction, if it is different from the original Authorization.

CardHolderCurrCode optional currCodeType Simple Type

Indicates the currency associated with the cardholder card.

CardHolderAmt optional amtTypeGlobal Simple Type

The charge amount in the cardholder currency.

ExchangeRateApplied optional exchangeRateType Simple Type

The exchange rate used for currency conversion.

MarkupFee optional Restriction of xs:decimal

The mark up percentage applied to the transaction, resulting in the commission fee.

CreditVoid PosCreditVoidReqType Complex Type

CreditVoid is used to cancel an open auth or remove a transaction from the current open batch. The original transaction must be a CreditAuth, CreditSale, CreditReturn, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, RecurringBillingAuth, or OverrideFraudDecline.

Note: Once a batch is closed, associated transactions can no longer be voided. In these cases, a CreditReturn can be used to adjust a customer's account.

Note: If a transaction has been fully or partially returned, it cannot be voided.

Note: Due to new issuer regulations, a void now automatically attempts to reverse the original transaction. If the reversal is successful, the original transaction status will be set to 'R'. If there is no need to reverse (i.e. offlines) or the reversal fails, the original transaction status will be set to 'V'. A successful response to the void will indicate that the original transaction has been removed from the batch in either case.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

DebitAddValue PosDebitAddValueReqType Complex Type

DebitAddValue increases the amount on a stored value card. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

Note: This transaction has been obsoleted. See the PrePaidAddValue for an alternative.

All
Block1 DebitAddValueReqBlock1Type Complex Type

Contains a series of required and optional elements

All
TrackData trackDataType Simple Type

Track data is the full magnetic stripe data.

Note: Only track 2 data is supported for debit transactions.

Amt amtTypeGlobal Simple Type

The amount requested for authorization

PinBlock pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

EncryptionData optional EncryptionDataType Complex Type

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

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

DebitBalanceInquiry PosDebitBalanceInquiryReqType Complex Type

DebitBalanceInquiry returns the available balance for a Debit card. Available for retail devices in the Philippines only.

All
Block1 DebitBalanceInquiryReqBlock1Type Complex Type

Contains a series of required and optional elements

All
TrackData optional CardDataTypeTrackData Complex Type

Track data is the full magnetic stripe data.

Note: Only track 2 data is supported for debit transactions.

PinBlock pinBlockType Simple Type

Chip card PIN block for online authentication

TokenValue optional xs:string

Token used to replace payment method data (track data and optionally PIN block).

Note: Multi-use tokens are not supported on debit transactions. This is currently only used for single-use tokens. Single-use tokens are provided by the SecureSubmit product and are primarily used in eCommerce situations.

EncryptionData optional EncryptionDataType Complex Type

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

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format. For EMV tag data this would consist of the chip card results after applying the Issuer response tags.

AccountType optional accountTypeType Simple Type

Indicates the type of account provided; see the associated Type enumerations for specific values supported.

DebitReturn PosDebitReturnReqType Complex Type

DebitReturn allows the merchant to return funds from a prior debit sale back to the cardholder. Returns can be for the entire amount associated with the original sale or a partial amount. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

For added fraud protection, DebitReturn can be run utilizing the GatewayTxnId from a previous debit sale. When this feature is used, the gateway tracks returns against the original sale and applies several rules.

The following rules apply when returning by GatewayTxnId:

  • The total of all returns cannot exceed the original sale amount. This is true for processing a single return as well as multiple returns against the same original transaction.
  • A return amount must be greater than zero.
  • DebitReversal is not allowed against original transactions for which a full or partial return has been run.
  • The supplied card number (from the track data or token) and the card number of the original transaction must match.

Note: If the original transaction is in the current open batch, a DebitReversal may be used instead. However, only a return can be used once the batch is closed.

All
Block1 DebitReturnReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: TokenValue and TrackData are mutually exclusive, but it is required that one of these elements be provided. PinBlock can either be sent as part of the request or it can be associated with a token but it must be provided as well.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the original debit sale this return is to be run against.

Note: For debit returns, information is not pulled from the original debit sale for processing. The client must provide the PIN block and track data (or a token). The original transaction data will be used to validate that the card is the same and the return is less than or equal to the original amount, including any other returns against that transaction.

TrackData optional CardDataTypeTrackData Complex Type

Track data is the full magnetic stripe data

Note: Only track 2 data is supported for debit transactions.

Amt amtTypeGlobal Simple Type

The amount to return; this includes all other "Info" amounts provided as part of this request

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: It is required that the order of the data be an encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

TokenValue optional xs:string

Token used to replace payment method data (track data and optionally PIN block).

Note: Multi-use tokens are not supported on debit transactions. This is currently only used for single-use tokens. Single-use tokens are provided by the SecureSubmit product.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

EncryptionData optional EncryptionDataType Complex Type

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

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

AccountType optional accountTypeType Simple Type

Indicates the type of account provided; see the associated Type enumerations for specific values supported.

MessageAuthenticationCode optional xs:string

A block of encrypted data to be sent from the POS on every contact Interac sale and return request. Required for Canadian merchants processing debit reversals.

PosSequenceNbr optional xs:string

POS sequence number for Canadian Debit transactions.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

DebitReversal PosDebitReversalReqType Complex Type

DebitReversal cancels a previous DebitSale transaction. This should be used in timeout situations or when a complete response is not received. This transaction can be used to cancel a transaction that was approved online but subsequently declined by the chip.

Note: Debit reversal transactions must be submitted within 31 days of the original transaction.

Note: Partial reversals are not supported for debit transactions.

Note: If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.

Note: DebitReversal is not allowed after a pre-authorization is completed with a DebitAddToBatch. Use DebitRefund instead.

All
Block1 DebitReversalReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: Reversals should always be done by GatewayTxnId. If this is for a timeout reversal and the client does not have a transaction id, TrackData can be supplied, but the results are not guaranteed as the original transaction may not be uniquely identified.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the original debit sale to be reversed.

Note: If TrackData is also sent, the provided data must match the original.

TrackData optional CardDataTypeTrackData Complex Type

Track data is the full magnetic stripe data.

Note: Only track 2 data is supported for debit transactions.

Amt optional amtTypeGlobal Simple Type

This must match the authorization amount from the original transaction.

AuthAmt optional amtTypeGlobal Simple Type

Partial reversals are not supported for debit transactions. This field should not be sent. Debit reversals are always a full reversal of the original transaction.

EncryptionData optional EncryptionDataType Complex Type

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

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

ClientTxnId optional clientIdType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: Client generated ids are critical for situations when the client never receives a response from the gateway.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: It is required that the order of the data be an encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

MessageAuthenticationCode optional xs:string

A block of encrypted data to be sent from the POS on every contact Interac sale and return request. Required for Canadian merchants processing debit reversals.

PosSequenceNbr optional xs:string

POS sequence number for Canadian Debit transactions.

ReversalReasonCode optional reversalReasonCodeType Simple Type

(Optional) Defines the reason for reversing a previously approved transaction.

Required for Canadian merchants processing debit reversals.

See enumerations for specific values supported.

Note:This field is required for Canadian merchants.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

DebitAddToBatch PosDebitAddToBatchReqType Complex Type

DebitAddToBatch is used to add a pre-authorized debit transaction to the open batch. If a batch is not open this transaction will create one.

Note: DebitAuth is only allowed in Canada.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

AccountType optional accountTypeType Simple Type

Indicates the type of account provided; see the associated Type enumerations for specific values supported.

Amt optional amtTypeGlobal Simple Type

If present, this amount replaces the amount to be settled for the original transaction; this includes all other "Info" amounts associated with the original transaction or provided in this request.

MessageAuthenticationCode optional xs:string

A block of encrypted data to be sent from the POS on every contact Interac sale and return request. Required for Canadian merchants processing debit reversals.

PosSequenceNbr optional PosSequenceNbrType Simple Type

POS sequence number for Canadian Debit transactions.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format. For EMV tag data this would consist of the chip card results after applying the Issuer response tags.

Note: Required on DebitAddtoBatch for Canadian Interac/Debit.

All
TagValues optional Extension of xs:string

This field holds the tag data values.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: This is for internal use only.

DebitAuth PosDebitAuthReqType Complex Type

DebitAuth authorizes a debit transaction. These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time by using DebitAddToBatch.

Note: DebitAuth is only allowed in Canada

All
Block1 DebitAuthReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: TokenValue and TrackData are mutually exclusive, but it is required that one of these elements be provided. PinBlock can either be sent as part of the request or it can be associated with a token but it must be provided as well.

All
TrackData optional CardDataTypeTrackData Complex Type

Track data is the full magnetic stripe data.

Note: Only track 2 data is supported for debit transactions.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

TokenValue optional xs:string

Token used to replace payment method data (track data and optionally PIN block).

Note: Multi-use tokens are not supported on debit transactions. This is currently only used for single-use tokens. Single-use tokens are provided by the SecureSubmit product and are primarily used in eCommerce situations.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AllowPartialAuth optional booleanType Simple Type

Indicates whether or not a partial authorization is supported by terminal; the default is N.

EncryptionData optional EncryptionDataType Complex Type

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

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

AccountType optional accountTypeType Simple Type

Indicates the type of account provided; see the associated Type enumerations for specific values supported.

MessageAuthenticationCode optional xs:string

A block of encrypted data to be sent from the POS on every contact Interac sale and return request. Required for Canadian merchants processing debit reversals.

PosSequenceNbr optional PosSequenceNbrType Simple Type

POS sequence number for Canadian Debit transactions.

DebitSale PosDebitSaleReqType Complex Type

DebitSale authorizes a debit card transaction. These authorizations are automatically added to the batch to be settled. If a batch is not already open this transaction will create one.

All
Block1 DebitSaleReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: TokenValue and TrackData are mutually exclusive, but it is required that one of these elements be provided. PinBlock can either be sent as part of the request or it can be associated with a token but it must be provided as well.

All
TrackData optional CardDataTypeTrackData Complex Type

Track data is the full magnetic stripe data.

Note: Only track 2 data is supported for debit transactions.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

TokenValue optional xs:string

Token used to replace payment method data (track data and optionally PIN block).

Note: Multi-use tokens are not supported on debit transactions. This is currently only used for single-use tokens. Single-use tokens are provided by the SecureSubmit product and are primarily used in eCommerce situations.

CashbackAmtInfo optional amtTypeGlobal Simple Type

Cashback amount information; this defines the portion of the total amount provided as part of this request that was specifically for cashback. This is informational only and will not alter the amount processed as part of the transaction.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AllowPartialAuth optional booleanType Simple Type

Indicates whether or not a partial authorization is supported by terminal; the default is N.

EncryptionData optional EncryptionDataType Complex Type

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

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

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

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

AccountType optional accountTypeType Simple Type

Indicates the type of account provided; see the associated Type enumerations for specific values supported.

MessageAuthenticationCode optional xs:string

A block of encrypted data to be sent from the POS on every contact Interac sale and return request. Required for Canadian merchants processing debit reversals.

PosSequenceNbr optional xs:string

POS sequence number for Canadian Debit transactions.

EBTBalanceInquiry PosEBTBalanceInquiryReqType Complex Type

EBTBalanceInquiry returns the available balance for an EBT account.

All
Block1 EBTBalanceInquiryReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Note: Swiped EBT transactions require track 2 data. Manually entered account numbers can only be used in the following instances:

  • Track cannot be read
  • Card is not present
  • Reader is not available

Note: Multi-use and single-use tokens are not supported for EBT.

Amt amtTypeGlobal Simple Type

This is a legacy field that must now always be sent as $0.00.

PinBlock pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

BalanceInquiryType EBTBalanceInquiryType Simple Type

Indicates the account type to inquire (i.e. cash benefits, food stamp); see the associated Type enumerations for specific values supported.

EBTCashBackPurchase PosEBTCashBackPurchaseReqType Complex Type

EBTCashBackPurchase is used to purchase goods with EBT Cash Benefits. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

All
Block1 EBTCashBackPurchaseReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Note: Swiped EBT transactions require track 2 data. Manually entered account numbers can only be used in the following instances:

  • Track cannot be read
  • Card is not present
  • Reader is not available

Note: Multi-use and single-use tokens are not supported for EBT.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

PinBlock pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

CashBackAmount amtTypeGlobal Simple Type

Cashback amount information (considered one of the "Info" amounts); this defines the portion of the total amount provided as part of this request that was specifically for cashback. This is informational only and will not alter the amount processed as part of the transaction.

AllowPartialAuth optional booleanType Simple Type

Indicates whether or not a partial authorization is supported by terminal; the default is N.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

EBTCashBenefitWithdrawal PosEBTCashBenefitWithdrawalReqType Complex Type

EBTCashBenefitWithdrawal is used to disburse cash from an EBT Cash Benefits account. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

All
Block1 EBTCashBenefitWithdrawalReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Note: Swiped EBT transactions require track 2 data. Manually entered account numbers can only be used in the following instances:

  • Track cannot be read
  • Card is not present
  • Reader is not available

Note: Multi-use and single-use tokens are not supported for EBT.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request

PinBlock pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

CashBackAmount amtTypeGlobal Simple Type

Cashback amount information (considered one of the "Info" amounts); this defines the portion of the total amount provided as part of this request that was specifically for cashback. This is informational only and will not alter the amount processed as part of the transaction.

AllowPartialAuth optional booleanType Simple Type

Indicates whether or not a partial authorization is supported by terminal; the default is N.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

EBTFSPurchase PosEBTFSPurchaseReqType Complex Type

EBTFSPurchase is used to purchase goods with EBT Food Stamps/SNAP. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

All
Block1 EBTFSPurchaseReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Note: Swiped EBT transactions require track 2 data. Manually entered account numbers can only be used in the following instances:

  • Track cannot be read
  • Card is not present
  • Reader is not available

Note: Multi-use and single-use tokens are not supported for EBT.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

PinBlock pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AllowPartialAuth optional booleanType Simple Type

Indicates whether or not a partial authorization is supported by terminal; the default is N.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

EBTFSReturn PosEBTFSReturnReqType Complex Type

EBTFSReturn is used to credit previously debited funds to an EBT Food Stamps/SNAP account for merchandise returned. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

All
Block1 EBTFSReturnReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Note: Swiped EBT transactions require track 2 data. Manually entered account numbers can only be used in the following instances:

  • Track cannot be read
  • Card is not present
  • Reader is not available

Note: Multi-use and single-use tokens are not supported for EBT.

Amt amtTypeGlobal Simple Type

The amount to return; this includes all other "Info" amounts provided as part of this request.

PinBlock pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

EBTFSReversal PosEBTFSReversalReqType Complex Type

EBTFSReversal cancels a prior purchase in the current open batch. This can be used in timeout situations or when a complete response is not received. In either case, the client is unsure of the outcome of the prior transaction.

This can be used on prior transactions of the following types: EBTFSPurchase, EBTFSReturn, EBTCashBenefitWithdrawal and EBTCashBackPurchase.

Note: Partial reversals are not supported for EBT transactions.

Note: If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.

All
Block1 EBTFSReversalReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

ClientTxnId optional clientIdType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: Client generated ids are critical for situations when the client never receives a response from the gateway.

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.

Note: Swiped EBT transactions require track 2 data. Manually entered account numbers can only be used in the following instances:

  • Track cannot be read
  • Card is not present
  • Reader is not available

Note: Multi-use and single-use tokens are not supported for EBT.

Amt amtTypeGlobal Simple Type

The amount to return; this includes all other "Info" amounts provided as part of this request.

EBTVoucherPurchase PosEBTFSVoucherReqType Complex Type

EBTVoucherPurchase is obsolete and should no longer be used

All
Block1 EBTFSVoucherReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Note: Swipe is not allowed for a voucher purchase.

Note: Multi-use and single-use tokens are not supported for EBT.

Note: For EBTVoucherPurchase transactions, a null expiration date is represented by setting the ExpMonth to 1 and the ExpYear to 9999 in the CardData.ManualEntry node.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

PinBlock optional pinBlockType Simple Type

PIN block generated from the encrypted cardholder PIN and key serial number (KSN); see the guide for the specific PIN pad device being used to determine how to obtain the data elements required to create a PIN block.

Note: Portico requires the order of the data to be encrypted PIN followed by the KSN. If the encrypted PIN was 11111111 and the KSN was 22222222, the PIN block would have to be 1111111122222222 when sent to the gateway.

Note:This field has been deprecated. EBTVoucherPurchase does not support PINBlock verification and is ignored when sent.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

ExprDate optional Restriction of xs:string

Voucher expiration date; format is MMYY

Note:This field has been deprecated. The CardData.ManualEntry field must be used for passing payment method details.

ElectronicVoucherSerialNbr Restriction of xs:string

Serial number from the EBT voice authorization system.

VoucherApprovalCd Restriction of xs:string

Approval code provided by the EBT voice authorization system

PrimaryAcctNbr optional Restriction of xs:string

This field has been deprecated. The CardData field must be used for passing payment method details.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

EndToEndTest

Test for internal use only.

Note: For a quick test, clients can use TestCredentials.

FindTransactions FindTransactionsReqType Complex Type

FindTransactions is used to search all current gateway transactions based on provided filter criteria.

Note: When possible, searching should be done by TxnId. This is a single transaction search unless used in conjunction with FindHistoryInd. Any additional criteria is ignored.

Note: The gateway is not a long-term storage service. Generally, data is only available for 90 days; however, recurring billing data is saved for two years. For longer periods, Heartland offers other services. Further information can be provided during boarding and certification.

All
Criteria optional SearchCriteriaType Complex Type

If the client does not have the associated transaction id or needs to search for multiple transactions, these filters can be applied.

Any transactions returned will match all criteria provided. Each filter is an exact match unless otherwise stated.

Note: Clients should make every effort to minimize the result set from a search. Breaking a search into parts based on date is a great way to do this. Response timeouts should also be adjusted accordingly as a search should not be expected to return in the same time as a transaction.

Sequence optional
StartUtcDT optional xs:dateTime

Start date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, start date time will be defaulted to six days prior at 00:00:00.

Transactions must have been run at or after this time to be returned.

EndUtcDT optional xs:dateTime

End date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, start date time will be defaulted to tomorrow at 00:00:00.

Transactions must have been run before or at this time to be returned.

Note: The end date/time must be after the start date/time.

AuthCode optional authCodeType Simple Type

A specific authorization code

CardHolderLastName optional lastNameType Simple Type

The supplied string must appear somewhere in the last name of the associated card holder.

CardHolderFirstName optional firstNameType Simple Type

The supplied string must appear somewhere in the first name of the associated card holder.

CardNbrFirstSix optional Restriction of xs:string

The card number must start with this string.

CardNbrLastFour optional Restriction of xs:string

The card number must end with this string.

InvoiceNbr optional Restriction of xs:string

A specific invoice number; originally supplied in AdditionalTxnFields or DirectMktInvoiceNbr in DirectMktData

CardHolderPONbr optional Restriction of cardHolderPONbrType Simple Type

A specific purchase order number; originally supplied in a CPCEdit

CustomerID optional customerIDType Simple Type

A specific customer id; originally supplied in AdditionalTxnFields

ServiceName 0..15 Restriction of serviceNameType Simple Type

A list of transaction types to search for (i.e. CreditSale); see the associated Type enumerations for specific values supported.

Note: If not supplied, 'all' is assumed.

PaymentType 0..2 paymentTypeType Simple Type

A list of payment methods to search for (i.e. Credit, Debit, etc.); see the associated Type enumerations for specific values supported.

Note: If not supplied, 'all' is assumed.

CardType 0..8 CardTypeType Simple Type

A list of card types to search for (i.e. VISA, MC, etc.); see the associated Type enumerations for specific values supported.

Note: If not supplied, 'all' is assumed.

IssuerResult optional Restriction of xs:string

A specific resulting status based on the issuer response:

  • F - full approvals
  • P - partial approvals
  • A - all approvals (full and partial)
  • D - declines
  • FR - fraud declines

Note: If not sent then all will be included.

SettlementAmt optional amtTypeGlobal Simple Type

A specific settlement amount

IssTxnId optional xs:string

A specific issuer transaction identifier

RefNbr optional xs:string

A specific retrieval reference number

UserName optional userNameType Simple Type

A specific user name

ClerkID optional Restriction of xs:string

A specific clerk id

BatchSeqNbr optional xs:int

A specific batch sequence number

BatchId optional batchIdType Simple Type

A specific batch id

SiteTrace optional siteTraceType Simple Type

A specific site trace

DisplayName optional Restriction of xs:string

A specific user display name

Note: This field is for future use and is ignored.

ClientTxnId optional clientIdType Simple Type

A specific client-generated transaction id

Note: Since this value should be unique, this should find at most one match.

UniqueDeviceId optional uniqueDeviceIdType Simple Type

A specific client-generated device sub-identifier

AcctNbrLastFour optional Restriction of xs:string

The check account number must end with this string

BankRoutingNbr optional Restriction of xs:string

A specific routing number

CheckNbr optional Restriction of xs:string

A specific check number

CheckFirstName optional Restriction of xs:string

A specific first name on the check

CheckLastName optional Restriction of xs:string

A specific last name on the check

CheckName optional Restriction of xs:string

A specific business name on the check

GiftCurrency optional currencyType Simple Type

A specific type of gift currency; see the associated Type enumerations for specific values supported

Note: If not supplied, 'all' is assumed.

GiftMaskedAlias optional Restriction of xs:string

A specific gift card alias

OneTime optional booleanType Simple Type

Search for only card-on-file, one-time payments; the default is N.

PaymentMethodKey optional guidType Simple Type

A specific PayPlan payment method key

ScheduleID optional scheduleIDType Simple Type

A specific schedule ID

BuyerEmailAddress optional Restriction of xs:string

A buyer's email address

AltPaymentStatus optional Restriction of xs:string

A payment status of Altpayment transaction

FullyCapturedInd optional booleanType Simple Type

Fully Captured Indicator for searching for Altpayment Transactions; the default is null.

CardBrandTxnId optional restrictedStringType Simple Type

The CardBrandTxnId associated with the original and/or subsequent Card/Credential on File transactions.

SiteId optional siteIdType Simple Type

The Site identifier to query.

Note: The Site must belong to the same License as the requesting Site and Device. The Device identifier must also be specified. The Merchant must be enabled for this functionality.

DeviceId optional deviceIdType Simple Type

The Device identifier to query.

Note: The Device must belong to the Site in the request header or request body if used. The Merchant must be enabled for this functionality.

SAFIndicator optional booleanType Simple Type

Indicator for searching transactions that were processed and initiated in "store and forward" (SAF) mode.

CurrencyOptOutFlag optional booleanType Simple Type

Search for currency conversion transactions where the user opted in or out; the default is null.

TzConversion optional tzoneConversionType Simple Type

Indicates that a time zone conversion should be applied to dates/times in the response; see the associated Type enumerations for specific values supported.

TxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates a specific transaction to be returned.

If supplied, the search will return a single record unless used in conjunction with FindHistoryInd. Otherwise, any other criteria is ignored.

Note: This is the value referred to as GatewayTxnId in other messages.

FindHistoryInd optional booleanType Simple Type

Indicates whether to return any subsequent transactions associated with the Gateway-generated transaction identifier supplied.

Note: This will be ignored if the TxnId is not supplied.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be retrieved.

Note: This is for internal use only.

GetAttachments PosGetAttachmentReqType Complex Type

GetAttachments is used to retrieve attachments (i.e. documents, images, etc.) associated with a particular transaction.

Sequence
GatewayTxnId txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction.

AttachmentType 0..4 attachmentTypeType Simple Type

Identifies the attachment types to be returned; see the associated Type enumerations for specific values supported.

Note: If this is not provided, 'all' is assumed.

ReturnAttachmentTypesOnly optional xs:boolean

Indicates that only the attachment types (no data) should be returned in the response; default is 'false'

AttachmentDataId optional xs:int

When specified, only the requested attachment will be returned

GetTransactionStatus PosGetTransactionStatusReqType Complex Type

GetTransactionStatus is used to retrieve the status of any gateway transaction.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction.

ClientTxnId optional clientIdType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: Client generated ids are critical for situations when the client never receives a response from the gateway.

All
MerchNbr merchNbrType Simple Type

The merchant number to query

DeviceId deviceIdType Simple Type

The device number to query (must belong to this merchant)

GetUserSettings xs:anySimpleType

Note: This is for internal use only.

GiftCardActivate PosGiftCardActivateReqType Complex Type

GiftCardActivate is used to activate a new stored value account and load it with an initial balance. If the specified stored value account is already active, the request will fail.

Note: Stored value accounts can also be activated implicitly via the GiftCardAddValue method depending on the platform configuration for a customer's specific program.

Note: This method supports loyalty points.

All
Block1 GiftCardActivateReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information.

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

Amt amtTypeGlobal Simple Type

The amount of the initial balance to load onto the card during the activation

Currency optional currencyType Simple Type

Identifies the currency of the transaction amount; see the associated Type enumerations for specific values supported.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

GiftCardAddValue PosGiftCardAddValueReqType Complex Type

GiftCardAddValue loads an amount onto a stored value account. Depending on the gift processor, this request may also be used to automatically activate the account.

Note: This method supports loyalty points.

All
Block1 GiftCardAddValueReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

Amt amtTypeGlobal Simple Type

The amount to load onto the stored account

Currency optional currencyType Simple Type

Identifies the currency of the transaction amount; see the associated Type enumerations for specific values supported.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

GiftCardAlias PosGiftCardAliasReqType Complex Type

GiftCardAlias allows the client to manage stored account aliases. An alias is an alternate identifier used to reference a stored value account. Restrictions on the possible values of alias must be obtained from the gift processor.

All
Block1 GiftCardAliasReqBlock1Type Complex Type

Contains a series of required and optional elements

All
Action Restriction of xs:string

The action to perform on the associated alias

Valid values include:

  • CREATE provides a way to create a new account and assign a value to it as an alias (typically a phone number). The new account does not have a card associated with it.
  • ADD provides a way to assign a value as an alias to a stored value account so that it can be used in place of a card or other device.
  • DELETE allows a previously created alias to be removed from a stored value account.

CardData optional GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information.

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

Alias Restriction of xs:string

The alias to manage

GiftCardBalance PosGiftCardBalanceReqType Complex Type

GiftCardBalance is used to retrieve the balance(s) for each currency supported by a stored value account.

All
Block1 GiftCardBalanceReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information.

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

GiftCardCurrentDayTotals xs:anySimpleType

GiftCardCurrentDayTotals is used to retrieve stored value transaction totals for the current day.

Note: This has been obsoleted and should no longer be used. See FindTransactions for an alternative.

GiftCardDeactivate PosGiftCardDeactivateReqType Complex Type

GiftCardDeactivate is used to deactivate an active stored value account that otherwise has not been used. Attempts to deactivate an account that is not active or has had activity will fail.

Note: For some gift processors, once a stored value account has been deactivated it can never be re-activated.

All
Block1 GiftCardDeactivateReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information.

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

GiftCardPreviousDayTotals xs:anySimpleType

GiftCardPreviousDayTotals is used to retrieve stored value transaction totals for the previous day.

Note: This has been obsoleted and should no longer be used. See FindTransactions for an alternative.

GiftCardReplace PosGiftCardReplaceReqType Complex Type

GiftCardReplace transfers balances from one stored value account to another. This is typically to replace a lost or stolen account with a new one or to consolidate two or more accounts into a single account. After a transfer has completed, the source account is closed/deactivated and can no longer be used. The balance for the destination account is returned in the response.

All
Block1 GiftCardReplaceReqBlock1Type Complex Type

Contains a series of required and optional elements

All
OldCardData GiftCardDataType Complex Type

This is the account that is no longer desired. Information will be moved from this account to the new account.

NewCardData GiftCardDataType Complex Type

This is the desired account. Information will be moved to this account from the old account.

GiftCardReversal PosGiftCardReversalReqType Complex Type

GiftCardReversal is used to cancel a prior stored value transaction. This should be used in timeout situations or when a complete response is not received. In either case, the client is unsure of the outcome of the prior transaction.

This can be used on prior transactions of the following types:

  • GiftCardActivate
  • GiftCardAddValue
  • GiftCardSale
  • GiftCardReward

Note: When reversing a transaction, all changes to the account are cancelled, including any additional value added by rewards programs or automated promotions.

Note: If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.

All
Block1 GiftCardReversalReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: One of the following fields must be provided:

  • CardData
  • ClientTxnId
  • GatewayTxnId

If more than one of these is provided, they must reference the same original transaction or payment information.

Note: Always run reversals with either GatewayTxnId or ClientTxnId. If only CardData is used the results are not guaranteed as the original transaction may not be uniquely identified.

All
CardData optional GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information.

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

ClientTxnId optional clientIdType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be updated.

Note: Client generated ids are critical for situations when the client never receives a response from the gateway.

Amt amtTypeGlobal Simple Type

This must match the amount from the original transaction.

GiftCardReward PosGiftCardRewardReqType Complex Type

GiftCardReward is used when an account holder makes a payment using a payment form other than a stored value account (e.g. cash or credit card). The account holder may present their stored value account to earn points or other loyalty rewards, which would be added to their account. If successful, the rewarded amount is returned in the response.

Note: This transaction is not used for purchases. Instead, the purchase amount is used to help determine what potential rewards may be added based on the merchant's loyalty and rewards program.

All
Block1 GiftCardRewardReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

Amt amtTypeGlobal Simple Type

The purchase amount of the previous transaction to use for rewards calculation; this includes all other "Info" amounts provided as part of this request

Currency optional currencyType Simple Type

Identifies the currency of the transaction amount; see the associated Type enumerations for specific values supported

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

TaxAmtInfo optional amtTypeGlobal Simple Type

Tax amount information; this defines the portion of the total amount provided as part of this request that was specifically for tax. This is informational only and will not alter the amount processed as part of the transaction.

GiftCardSale PosGiftCardSaleReqType Complex Type

GiftCardSale is used to redeem value from a stored value account.

Note: Partial approvals are supported by default. If the account balance is non-zero but insufficient to cover the full redemption amount, the remaining balance is drained and the amount still owed is returned in the response for additional payment. The merchant may accept any additional tender to cover the amount still owed. If the account holder is unable to provide additional payment and the purchase is cancelled, this transaction should be voided to return the balance back to the account. See the "split tender card amount" and "split tender balance due amount" fields in the response.

All
Block1 GiftCardSaleReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData GiftCardDataType Complex Type

A common element used in stored value transactions for supplying payment method information.

This includes a choice of typical payment representations like track data, card number, alias, and token information. It also includes options for specifying how the supplied data has been encrypted.

Amt amtTypeGlobal Simple Type

The amount to be deducted (redeemed) from the stored account; this includes all other "Info" amounts provided as part of this request.

Currency optional currencyType Simple Type

Identifies the currency of the transaction amount; see the associated Type enumerations for specific values supported.

GratuityAmtInfo optional amtTypeGlobal Simple Type

Gratuity amount information; this defines the portion of the total amount provided as part of this request that was specifically for gratuity. This is informational only and will not alter the amount processed as part of the transaction.

TaxAmtInfo optional amtTypeGlobal Simple Type

Tax amount information; this defines the portion of the total amount provided as part of this request that was specifically for tax. This is informational only and will not alter the amount processed as part of the transaction.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use.

GiftCardTip PosGiftCardTipReqType Complex Type

GiftCardTip is used to add tip to an existing GiftCardSale. If successful, the tip amount will be subtracted from the stored value account.

Note: This transaction is for future use.

All
Block1 GiftCardTipReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

GratuityAmtInfo amtTypeGlobal Simple Type

The tip amount to be deducted (redeemed) from the stored value account

Note: This field is not informational only and will alter the account balance.

Currency optional currencyType Simple Type

Identifies the currency of the transaction amount; see the associated Type enumerations for specific values supported.

GiftCardVoid PosGiftCardVoidReqType Complex Type

GiftCardVoid is used to cancel a prior successful transaction. When voiding a transaction, all changes to the account are reversed, including any additional value added by rewards programs or automated promotions.

This can be used on prior transactions of the following types:

  • GiftCardActivate
  • GiftCardAddValue
  • GiftCardDeactivate
  • GiftCardReplace
  • GiftCardSale
  • GiftCardReward

Note: Only the most recent transaction is allowed to be referenced as the prior transaction for a gift void. For example, if an activate is run and then an add value is run, only the add value can be voided.

All
Block1 GiftCardVoidReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction to be updated.

Impersonate PosImpersonateReqType Complex Type

Note: This is for internal use only.

All
MerchNbr merchNbrType Simple Type

The merchant this user belongs to

UserName userNameType Simple Type

The user to impersonate

DeviceId deviceIdType Simple Type

The device the user will be impersonated on (must belong to this merchant)

InteracDeviceKeys PosInteracDeviceKeysReqType Complex Type

For Canadian merchants, this message can be used to synchronize the keys used for encrypting data in debit card messages for the Canadian debit card network, also referred to as Interac.

All
LocalDateTime optional xs:dateTime

Local Date and Time must be included here if PosReqDT is not set in the header. This value will override the header PosReqDT when both are present.

InvalidateAuthentication xs:anySimpleType

Note: This is for internal use only.

ManageSettings ManageSettingsReqType Complex Type

Note: This service is used to manage certain Site or Device settings. Please refer to the Developer's Guide for further details.

All
MerchNbr optional merchNbrType Simple Type

The merchant number

DeviceId optional deviceIdType Simple Type

Used to specify the device id for which settings should be managed (must belong to the merchant)

SettingActions

The operations that can be performed on the associated settings

Choice
ManageTokens ManageTokensReqType Complex Type

ManageTokens allows merchants to update information referenced by a specific multi-use token.

Note: Single-use tokens are not supported in this request.

All
TokenValue xs:string

Multi-use token returned on a prior transaction to be used as a reference to a payment method; used to replace card data for this transaction.

TokenActions

The operations that can be performed on the data referenced by the token.

Choice
ManageUsers PosManageUsersReqType Complex Type

Note: This is for internal use only.

All
MerchNbr merchNbrType Simple Type

The merchant number the users belong to

UserActions

The operations that can be performed on the merchant's users

Choice
OverrideFraudDecline PosOverrideFraudDeclineReqType Complex Type

OverrideFraudDecline is used to process a CreditSale, CreditAuth or CreditReturn that was previously declined due to fraud. An override causes the fraud concerns to be ignored. The use of this function on a client should require management approval. This can only be done once, and for the original auth amount.

Note: This is for internal use only.

All
Block1 OverrideFraudDeclineReqBlock1Type Complex Type

Contains a series of required and optional elements

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction from which card data will be reused.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

ParameterDownload PosParameterDownloadReqType Complex Type

ParameterDownload is used to initiate an EMV parameter download by clients interfacing to an EMV device. Typically, the client will only download new parameters after receiving an indicator that a download is needed in a prior response message. In addition, the client should time these downloads to be done between batches and during an idle time if possible.

Note: See the PDLNotification indicator in the response header.

All
Block1 ParameterDownloadReqBlock1Type Complex Type

Contains a series of required and optional elements

Choice
PDLBlockReq xs:string

Pass-through PDL block request; full definition of this field must be obtained from the Parameter Data Download system.

PDLRequest PDLRequestType Complex Type

Abstracted PDL request; full definition of these fields must be obtained from the Parameter Data Download system.

PrePaidAddValue PosPrePaidAddValueReqType Complex Type

PrePaidAddValue is used to increase the balance associated with a prepaid card. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.

Note: For future use

All
Block1 PrePaidAddValueReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

Amt amtTypeGlobal Simple Type

The amount requested for authorization

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

PrePaidBalanceInquiry PosPrePaidBalanceInquiryReqType Complex Type

PrePaidBalanceInquiry returns the available balance for a prepaid card.

All
Block1 PrePaidBalanceInquiryReqBlock1Type Complex Type

Contains a series of required and optional elements

All
CardData 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.

RecurringBilling PosRecurringBillReqType Complex Type

RecurringBilling authorizes a one-time or scheduled recurring transaction. The authorization is placed in the current open batch. If a batch is not already open, this transaction creates an open batch.

A scheduled recurring transaction is the default, but a one-time payment can be made by setting the OneTime value to 'Y'. One-time payments may be processed using card data managed by PayPlan. In this case, the stored payment PaymentMethodKey should be provided instead of CardData.

The PayPlan application allows a merchant to set up and schedule recurring payments, but also provides other features including customer information management, secure payment (card and ACH) information storage (card-on-file), and automated email notifications to customers.

All
Block1 RecurringBillReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: CardData and PaymentMethodKey are mutually exclusive, but it is required that one of these elements be provided.

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.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

AmountIndicator optional amountIndicatorType Simple Type

Valid values include:

  • 'E' indicates that Amt is an estimated amount
  • 'F' indicates the Amt is final

Note: In the case of 'F', the Amt should not be manipulated and no CreditIncrementalAuth should be ran.

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.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use

RecurringData optional RecurringDataType Complex Type

Recurring data; includes the flag for one-time transactions

DebtRepaymentIndicator optional debtRepaymentType Simple Type

Allows for flagging this transaction as being against a debt obligation. Only use this field with Heartland's explicit direction. This flag is used to identify transactions that might qualify for VISA's Debt Repayment Program special interchange rates.

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.

CPCData optional CPCDataType Complex Type

Corporate purchasing card data

SecureECommerce optional SecureECommerceType Complex Type

Allows for sending Secure ECommerce data associated with the transaction. This data must be obtained from a certified device that conform to the 3DSecure standard.

WalletData optional WalletDataType Complex Type

Allows for sending Wallet Authentication data associated with the transaction.

SubMerchantData optional SubMerchantDataType Complex Type

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

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.

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.

EUSingleTap optional booleanType Simple Type

This field provides a way for a European merchant to indicate whether a transaction is a Single Tap contactless transaction, or whether the request contains an intentionally duplicated (replayed) ATC value. Applies to MC transactions only. Valid values: Y - SingleTap N - ReplayedATC

SCAExemptionData optional SCAExemptionDataType Complex Type

This fields provides a way for a European merchant to indicate that the transaction can take advantage of one of the exemptions to SCA. Applies to visa transactions only.

RecurringBillingAuth PosRecurringBillReqType Complex Type

RecurringBillingAuth authorizes a one-time or scheduled recurring transaction. These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time using CreditAddToBatch. Approved authorizations that have not yet been added to a batch are called open auths.

A scheduled recurring transaction is the default, but a one-time payment can be made by setting the OneTime value to 'Y'. One-time payments may be processed using card data managed by PayPlan. In this case, the stored payment PaymentMethodKey should be provided instead of CardData.

The PayPlan application allows a merchant to set up and schedule recurring payments, but also provides other features including customer information management, secure payment (card and ACH) information storage (card-on-file), and automated email notifications to customers.

All
Block1 RecurringBillReqBlock1Type Complex Type

Contains a series of required and optional elements

Note: CardData and PaymentMethodKey are mutually exclusive, but it is required that one of these elements be provided.

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.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

AmountIndicator optional amountIndicatorType Simple Type

Valid values include:

  • 'E' indicates that Amt is an estimated amount
  • 'F' indicates the Amt is final

Note: In the case of 'F', the Amt should not be manipulated and no CreditIncrementalAuth should be ran.

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.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction.

AdditionalTxnFields optional AdditionalTxnFieldsType Complex Type

A common group of optional fields that are supported in several different transaction types for Merchant use

RecurringData optional RecurringDataType Complex Type

Recurring data; includes the flag for one-time transactions

DebtRepaymentIndicator optional debtRepaymentType Simple Type

Allows for flagging this transaction as being against a debt obligation. Only use this field with Heartland's explicit direction. This flag is used to identify transactions that might qualify for VISA's Debt Repayment Program special interchange rates.

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.

CPCData optional CPCDataType Complex Type

Corporate purchasing card data

SecureECommerce optional SecureECommerceType Complex Type

Allows for sending Secure ECommerce data associated with the transaction. This data must be obtained from a certified device that conform to the 3DSecure standard.

WalletData optional WalletDataType Complex Type

Allows for sending Wallet Authentication data associated with the transaction.

SubMerchantData optional SubMerchantDataType Complex Type

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

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.

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.

EUSingleTap optional booleanType Simple Type

This field provides a way for a European merchant to indicate whether a transaction is a Single Tap contactless transaction, or whether the request contains an intentionally duplicated (replayed) ATC value. Applies to MC transactions only. Valid values: Y - SingleTap N - ReplayedATC

SCAExemptionData optional SCAExemptionDataType Complex Type

This fields provides a way for a European merchant to indicate that the transaction can take advantage of one of the exemptions to SCA. Applies to visa transactions only.

ReportActivity PosReportActivityReqType Complex Type

ReportActivity returns all activity between the client devices and gateway for a period of time. This can be filtered to a single device if needed.

Note: This has been obsoleted and should no longer be used. See FindTransactions for an alternative.

All
RptStartUtcDT optional xs:dateTime

Start date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, start date time will be defaulted to today at 00:00:00.

Transactions must have been run at or after this time to be returned.

RptEndUtcDT optional xs:dateTime

End date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, end date time will be defaulted to tomorrow at 00:00:00.

Transactions must have been run before or at this time to be returned.

Note: The end date/time must be after the start date/time.

DeviceId optional deviceIdType Simple Type

Device identifier used to filter the report results to a particular device.

Note: If not provided, all devices associated with the site will be included.

TzConversion optional tzoneConversionType Simple Type

Indicates that a time zone conversion should be applied to dates/times in the response; see the associated Type enumerations for specific values supported.

ReportBatchDetail PosReportBatchDetailReqType Complex Type

ReportBatchDetail returns information on each transaction currently associated to the specified batch. This report is for the site and device referenced in the header.

All
BatchId optional batchIdType Simple Type

Batch identifier used to filter the report results to a particular batch.

Note: If this is not provided, results will be returned for the current open batch.

TzConversion optional tzoneConversionType Simple Type

Indicates that a time zone conversion should be applied to dates/times in the response; see the associated Type enumerations for specific values supported.

SiteId optional siteIdType Simple Type

The Site identifier to query.

Note: The Site must belong to the same License as the requesting Site and Device. The Device identifier must also be specified. The Merchant must be enabled for this functionality.

DeviceId optional deviceIdType Simple Type

The Device identifier to query.

Note: The Device must belong to the Site in the request header or request body if used. The Merchant must be enabled for this functionality.

ReportBatchHistory PosReportBatchHistoryReqType Complex Type

ReportBatchHistory returns information about previous batches over a period of time. This report is for the site referenced in the header.

All
RptStartUtcDT optional xs:dateTime

Start date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, start date time will be defaulted to six days prior at 00:00:00.

Batches must have been opened at or after this time to be returned.

RptEndUtcDT optional xs:dateTime

End date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, end date time will be defaulted to tomorrow at 00:00:00.

Batches must have been opened before or at this time to be returned.

Note: The end date/time must be after the start date/time.

DeviceId optional deviceIdType Simple Type

Device identifier used to filter the report results to a particular device.

Note: If not provided, all devices associated with the site will be included.

TzConversion optional tzoneConversionType Simple Type

Indicates that a time zone conversion should be applied to dates/times in the response; see the associated Type enumerations for specific values supported.

ReportBatchSummary PosReportBatchSummaryReqType Complex Type

ReportBatchSummary returns a batch's status information and totals broken down by payment type. This report is for the site and device referenced in the header.

All
BatchId optional batchIdType Simple Type

Batch identifier used to filter the report results to a specific batch.

Note: If this is not provided, results will be returned for the current open batch.

RptStartUtcDT optional xs:dateTime

Start date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, dates are not used.

Transactions must have been run at or after this time to be returned.

RptEndUtcDT optional xs:dateTime

End date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, dates are not used.

Transactions must have been run before or at this time to be returned.

Note: The end date/time must be after the start date/time.

BatchSeqNbr optional batchSeqNbrType Simple Type

Batch sequence number used to filter the report results

Note: If batch id is provided, this field is ignored.

ClerkID optional Restriction of xs:string

Clerk id used to filter the report results

SiteId optional siteIdType Simple Type

The Site identifier to query.

Note: The Site must belong to the same License as the requesting Site and Device. The Device identifier must also be specified. The Merchant must be enabled for this functionality.

DeviceId optional deviceIdType Simple Type

The Device identifier to query.

Note: The Device must belong to the Site in the request header or request body if used. The Merchant must be enabled for this functionality.

ReportOpenAuths PosReportOpenAuthsReqType Complex Type

ReportOpenAuths returns all authorizations that have not been added to a batch for settlement. This report is for the site referenced in the header.

All
DeviceId optional deviceIdType Simple Type

Device identifier used to filter the report results to a particular device.

Note: If not provided, all devices associated with the site will be included.

TzConversion optional tzoneConversionType Simple Type

Indicates that a time zone conversion should be applied to dates/times in the response; see the associated Type enumerations for specific values supported.

ReportSearch PosReportSearchReqType Complex Type

ReportSearch returns transaction information for a specified time period.

Note: This has been obsoleted and should no longer be used. See FindTransactions for an alternative.

All
ReturnHeaderOnly booleanType Simple Type

Indicates whether the report header containing transaction count information matching the given search criteria is the only information returned; default is 'N'.

RptStartUtcDT optional xs:dateTime

Start date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, start date time will be defaulted to six days prior at 00:00:00.

Transactions must have been run at or after this time to be returned.

RptEndUtcDT optional xs:dateTime

End date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time). If the element is not present, end date time will be defaulted to tomorrow at 00:00:00.

Transactions must have been run before or at this time to be returned.

Note: The end date/time must be after the start date/time.

DeviceId optional deviceIdType Simple Type

Device identifier used to filter the report results to a particular device.

Criteria ReportSearchCriteriaType Complex Type

Report search criteria options.

TzConversion optional tzoneConversionType Simple Type

Indicates that a time zone conversion should be applied to dates/times in the response; see the associated Type enumerations for specific values supported.

ReportTxnDetail PosReportTxnDetailReqType Complex Type

ReportTxnDetail returns detailed information about a single transaction. This report is for the site and device referenced in the header.

All
TxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates a specific transaction to be returned.

Note: This is the value referred to as GatewayTxnId in other messages.

TzConversion optional tzoneConversionType Simple Type

Indicates that a time zone conversion should be applied to dates/times in the response; see the associated Type enumerations for specific values supported.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction. This indicates the transaction to be retrieved.

Note: This is for internal use only.

ReportTxnResearch PosReportTxnResearchReqType Complex Type

Extended transaction information.

Note : This service is for internal use only. Future use.

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier.

OriginalGatewayTxnId optional txnIdType Simple Type

If the transaction performed an action on a previous transaction, this is the ID of the transaction that was acted upon.

ClientTxnId optional clientIdType Simple Type

Client-generated transaction identifier.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Global Payments-generated transaction identifier.

MerchantId optional MerchantIdType Simple Type

Merchant Number.

SiteId optional siteIdType Simple Type

Site identifier used to process the request

DeviceId optional deviceIdType Simple Type

Device identifier used to process the request

BatchId optional batchIdType Simple Type

Batch identifier.

StartUtcDT optional xs:dateTime

Start date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time).

EndUtcDT optional xs:dateTime

End date time used to filter the results to a particular date time range. The date time must be specified in UTC (Coordinated Universal Time).

RewardCashQuery PosRewardCashQueryReqType Complex Type

RewardCashQuery is used to query available reward point balance for a participating account. Available for devices in the AP region only

Note: This transaction is for future use.

All
Block1 RewardCashQueryBlock1Type Complex Type

RewardCashQuery returns available reward point balance for a participating accounts. Allowed for Reward Cash terminals configured for the Asia Pacific region only.

Note: This transaction is for Future Use.

All
CardData 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.

RewardCashRedeem PosRewardCashRedeemReqType Complex Type

RewardCashRedeem is used to redeem available reward points for a participating account. Allowed for Reward Cash terminals configured for the Asia Pacific region only.

Note: This transaction is for Future Use.

All
Block1 RewardCashRedeemBlock1Type Complex Type

RewardCashRedeem is used to redeem available reward points for a participating account. These authorizations are automatically added to the reward cash batch to be settled.

If a batch is not already open this transaction will create one.

Note: Allowed for Reward Cash terminals configured for the Asia Pacific region only.

Note: This transaction is for Future Use.

All
CardData 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.

Amt amtTypeGlobal Simple Type

The total number of points to redeem for Items in RedeemDetails block.

SendFunds PosSendFundsReqType Complex Type

Visa Direct Original Credit Transaction (OCT) and Master Card MoneySend Request service.

Note:This transaction is for Future Use.

All
Block1 SendFundsReqBlock1Type Complex Type

contains a series of required and optional elements

All
GatewayTxnId optional txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction. This indicates the transaction from which card data will be reused.

Note: When using a prior transaction id, card data should not be sent and original transaction reference data will be required.

x_global_transaction_id optional x_global_transaction_idType Simple Type

Client generated transaction identifier sent in the request of the original transaction.

Note: This is for internal use only.

CardData optional SendFundCardDataType 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.

Amt amtTypeGlobal Simple Type

The amount requested for authorization; this includes all other "Info" amounts provided as part of this request.

AmountIndicator optional amountIndicatorType Simple Type

Valid values include:

  • 'E' indicates that Amt is an estimated amount
  • 'F' indicates the Amt is final

Note: In the case of 'F', the Amt should not be manipulated and no CreditIncrementalAuth should be ran.

AllowDup optional booleanType Simple Type

This is important in cases where the client processes a large number of similar transactions in a very short period of time; sending "Y" will skip duplicate checking on this transaction

Ecommerce optional eCommerceType Simple Type

Identifies this transaction as eCommerce or mail order/telephone order; see the associated Type enumerations for specific values supported.

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.

SurchargeAmtInfo optional amtTypeGlobal Simple Type

Surcharge amount information; this defines the portion of the total amount provided as part of this request that was specifically for a surcharge. This is informational only and will not alter the amount processed as part of the transaction.

Note: This field is limited to 8 digits with implied decimal.

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.

TagData optional TagDataType Complex Type

EMV or Non-EMV tag data in TLV format

WalletData optional WalletDataType Complex Type

Allows for sending Wallet Authentication data associated with the transaction.

SendFundsData optional SendFundsDataType 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.

SendReceipt PosSendReceiptReqType Complex Type

SendReceipt allows a client to send a receipt from a prior transaction out to specific destinations. The prior transaction must belong to the site and device referenced in the header.

Note: This is for internal use only.

All
Destinations

A list of destinations to send the receipt to

Sequence 1..100
Destination DestinationType Complex Type

A specific destination type and data (email addresses separated by a semicolon)

GatewayTxnId txnIdType Simple Type

Gateway-generated transaction identifier returned in the response of the original transaction.

TestCredentials xs:anySimpleType

TestCredentials validates the credentials passed in the header, but does not perform an action.

Note: TestCredentials should only be used at the beginning of the certification period to validate credentials and connectivity to the certification environment. This should not be used as a "heartbeat" check and is not required for processing with the gateway.

Tokenize PosTokenizeReqType Complex Type

Tokenize is used to request the gateway to return a multi-use token for the supplied card data. 

No verification of the card data is performed.

All
Block1 TokenizeBlock1Type Complex Type

Contains a series of required and optional elements

Note: CardData it is required to be provided.

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.

TokenUpdaterHistory PosTokenUpdaterHistoryReqType Complex Type

Allows merchants to retrieve a counts or details report of token updates performed by Auto Account Updater

All
ReportStartDate xs:dateTime

Start of the reporting date.

ReportEndDate optional xs:dateTime

End of the reporting date. If null, current date is used.

Limit optional Restriction of xs:int

Records to be returned limit. Default is no limit.

Offset optional Restriction of xs:int

Records to be returned limit. Default is no limit.

TokenValue optional xs:string

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

Action TokenUpdaterHistoryActionResultType Simple Type

Type of report to retrieve from ETS.

All
Block1 SurchargeEligibilityLookupBlock1Type Complex Type

Contains a series of required and optional elements

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.

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.

Source
<xs:element name="Transaction" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:documentation>
      <p xmlns="http://Hps.Exchange.PosGateway">Transaction data</p>
    </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:choice>
      <xs:element name="AddAttachment" type="PosAddAttachmentReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AddAttachment can be used to store and associate data (i.e. images and documents) to a prior transaction.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            The referenced original transaction must have been approved and must be one of the following:
                            <ul><li>CreditAuth</li><li>CreditOfflineAuth</li><li>CreditSale</li><li>CreditOfflineSale</li><li>CreditReturn</li><li>DebitSale</li><li>GiftCardSale</li><li>GiftCardAddValue</li><li>PrePaidAddValue</li><li>CheckSale</li><li>OverrideFraudDecline</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway">This must be done within three months of the original transaction.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            For Document attachment types:
                            <ul><li>Up to five document attachments are allowed to be associated with a single transaction</li><li>Document attachments can be submitted on one or more requests</li><li>To replace a document attachment, a new document attachment with the same name can be provided</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            For other attachment types:
                            <ul><li>Only one of each attachment type can be associated with a single transaction</li><li>Only one of each attachment type can be submitted per request</li><li>If a request includes an attachment type that is already associated with a given transaction, it will result in the attachment being replaced</li></ul></p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentAuth" type="PosAltPayAuthReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentAuth takes a unique Session Id and performs an Authorization transaction.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentCapture" type="PosAltPayCaptureReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentCapture takes a previously approved Alternate Payment Authorization or Alternate Payment Order and captures a portion of the original into the current open batch. If a batch is not open, this transaction will create one.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentCreateAuth" type="PosAltPayCreateAuthReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentCreateAuth takes a previously approved Alternate Payment Order transaction and creates an Authorization from it.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentCreateSession" type="PosAltPayCreateSessReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentCreateSession creates a unique Session for Electronic Commerce Alternate Payment Processing. This service must be called first to perform Alternate payment processing.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentOrder" type="PosAltPayOrderReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentOrder takes a unique Session Id and performs an Order transaction.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentReturn" type="PosAltPayReturnReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentReturn takes a Alternate Payment GatewayTxnId and performs a  a return against that transaction.  AltPaymentSale and AltPaymentCapture can be returned.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentReversal" type="PosAltPayReversalReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentReversal takes a Alternate Payment GatewayTxnId and performs a reversal against that transaction.  Abanonded timed out transactions of AltPaymentSale, AltPaymentOrder, AltPaymentAuth and AltPaymentCapture can be reversed</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentSale" type="PosAltPaySaleReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentSale takes a unique Session Id and performs a Sale transaction.  The sale is placed in the current open batch. If a batch is not open this transaction will create one.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentSessionInfo" type="PosAltPaySessionInfoReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentSessionInfo takes a unique Session Id and returns information about the session.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AltPaymentVoid" type="PosAltPayVoidReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">AltPaymentVoid takes a Alternate Payment GatewayTxnId and performs a void against that transaction.  AltPaymentAuth, AltPaymentOrder and AltPaymentCreateAuth can be voided.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Authenticate" type="xs:anySimpleType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Authenticate is used to authenticate a specific user. For this call the header must include username and password.</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="BatchClose">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">BatchClose is used to settle and close the current open batch. If a batch is not open an error will be returned.</p>
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:annotation>
                <xs:documentation>
                  <p xmlns="http://Hps.Exchange.PosGateway">The DeviceId of the batch to close.</p>
                  <p xmlns="http://Hps.Exchange.PosGateway" />
                  <p xmlns="http://Hps.Exchange.PosGateway">
                    <strong>Note:</strong> If enabled this would be a Device within the same Site provided in the request header. If the batch to close is on the Device indicated in the request header there is no need to send this attribute.
                                </p>
                </xs:documentation>
              </xs:annotation>
              <xs:attribute name="deviceId" type="xs:int" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="BNPLCreateOrder" type="PosBNPLCreateOrderReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">TODO: add description.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>
            </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CancelImpersonation" type="xs:anySimpleType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CancelImpersonation is used to terminate a previously started impersonation session.</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="CashReturn" type="PosCashReturnReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CashReturn creates a log of a transaction that is returning cash to a customer. This is processed offline.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> The client is responsible for maintaining any required cash value totals for reconciliation.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CashSale" type="PosCashSaleReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CashSale creates a log of a transaction, in which cash is collected from a customer. This is processed offline.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> The client is responsible for maintaining any required cash value totals for reconciliation.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CheckSale" type="PosCheckSaleReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CheckSale transactions use bank account information as the payment method. There are sub-actions that can be taken as part of the CheckSale as indicated by the CheckAction field.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Both GETI and Colonnade are supported. A check processor is chosen during the boarding process for each device. The choice of check processor will drive the available functionality as well as the required elements. See individual fields for additional information.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CheckQuery" type="PosCheckQueryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CheckQuery is used to query info about a check transaction.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CheckVoid" type="PosCheckVoidReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CheckVoid is used to cancel a previously successful CheckSale transaction.  It can also be used to cancel a prior CheckSale transaction. This should be used in timeout situations or when a complete response is not received.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>CheckVoid transactions should be submitted within 31 days of the original transaction.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>If the CheckVoid also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.  CheckQuery can be used to check the status of a prior CheckSale transaction.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ChipCardDecline" type="PosChipCardDeclineReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ChipCardDecline is used to record an offline decline by an EMV chip card.This transaction is optional and can be used for record-keeping purposes only.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>This transaction is not used for a transaction that received an online approval.  To cancel transactions that have been approved online but subsequently declined by the chip, a Credit/Debit Reversal must be sent.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditAccountVerify" type="PosCreditAccountVerifyReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditAccountVerify is used to verify that the associated account is in good standing with the Issuer. This is a zero dollar transaction with no associated authorization. Since VISA and other Issuers have started assessing penalties for one dollar authorizations, this provides a way for merchants to accomplish the same task while avoiding these penalties.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            There are differences in the processing of this transaction based on card type:
                            <ul><li>VISA: an account verification is done at the Issuer</li><li>MasterCard: an account status check is done at the Issuer</li><li>Discover: an account verification is done at the Issuer</li><li>AMEX: an AVS only verification is done; this still ensures that the account is valid but requires that AVS data is supplied (zip code at a minimum). Both manual and swiped/track entry methods are supported. However, EMV transactions are not supported.</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>UnionPay cards do not support Verification when routing directly to UnionPay International for approval. UnionPay cards routing through either the Discover or JCB networks may obtain verification.  (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditAdditionalAuth" type="PosCreditAdditionalAuthReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditAdditionalAuth is typically used in a bar or restaurant situation where the merchant obtains the payment information for an original CreditAuth but does not want to hold the card or ask for it on each additional authorization.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">This uses data from a previously successful CreditAuth to authorize an additional amount. The additional authorization is run as a card not present transaction and cannot be placed in a batch. This can be repeated as needed. The final settlement amount including any additional authorized amounts must be provided in the CreditAddToBatch for the original CreditAuth. When the original transaction is added to the batch a reversal is automatically attempted for all additional authorizations.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            The following rules apply:
                            <ul><li>CreditAdditionalAuth is allowed only for restaurant merchants.</li><li>The original transaction must be an approved open authorization run within the same day (i.e. a CreditAuth that has not been added to a batch).</li><li>When the original authorization transaction is fully reversed or voided, any associated CreditAdditionalAuth transactions are reversed.</li><li>An original authorization transaction with CreditAdditionalAuth transactions can be partially reversed for less than the full original auth amount. However, additional authorizations are still not reversed until the original is added to the batch.</li><li>Additional authorizations cannot be voided, edited, or used for returns.</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>CreditAdditionalAuth is not supported for UnionPay cards routing to UnionPay International for authorization. CreditAdditionalAuth may continue to be used for UnionPay cards routing through either the Discover or JCB networks. (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>This service has been deprecated. Refer to CreditIncrementalAuth.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditAddToBatch" type="PosCreditAddToBatchReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditAddToBatch is primarily used to add a previously approved open authorization (CreditAuth, CreditOfflineAuth, OverrideFraudDecline, or RecurringBillingAuth) to the current open batch. If a batch is not open this transaction will create one. It also provides the opportunity to alter data associated with the transaction (i.e. add a tip amount).</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> The gateway will not submit an authorization or reversal when the settlement amount of a transaction is altered. The client is responsible for managing these adjustments as needed.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditAuth" type="PosCreditAuthReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditAuth authorizes a credit card transaction. These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time using CreditAddToBatch. Approved authorizations that have not yet been added to a batch are called open auths.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> If you prefer to have the authorization automatically added to the batch, use CreditSale.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway">Authorizations can be processed by sending card data, the GatewayTxnId from a previous authorization, or a key from a previously stored payment method.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            When using a prior transaction id, the following rules apply:
                            <ul><li>The original transaction must be an approved CreditAuth or CreditSale that was not also run using a prior transaction id.</li><li>The original transaction must be fully reversed, voided, or returned.</li><li>The original transaction must have occurred within the last 14 days.</li><li>The original transaction may only be referenced once in this way.</li><li>The new amount must be greater than 0.00 and cannot exceed 100% of the original.</li><li>The new transaction is sent as "Card Not Present"</li><li>The new transaction can be voided or reversed.</li><li>OrigTxnRefData must be provided with AuthCode and/or CardNbrLastFour and the provided data must match the original transaction data.</li></ul></p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditCapture" type="PosCreditCaptureReqType" />
      <xs:element name="CreditCPCEdit" type="PosCreditCPCEditReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditCPCEdit attaches Corporate Purchase Card (CPC) data to a prior transaction. This information will be passed to the issuer at settlement when the associated card was a corporate card or an AMEX card.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This function only works against previously approved CreditAuth, CreditSale, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, and RecurringBillingAuth transactions.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> The amount of the original transaction is not altered by the CreditCPCEdit. This additional data is informational only. The original transaction will be processed regardless of whether or not the CreditCPCEdit is used by the client.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditIncrementalAuth" type="PosCreditIncrementalAuthReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditIncrementalAuth adds to the authorized amount for a prior transaction.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            The following rules apply:
                            <ul><li>The original transaction must have been an approved CreditAuth. NOTE: CreditSale is allowed for US merchants processing to the Exchange host only.</li><li>The original transaction id should continue to be used for subsequent transactions (i.e., voids, reversals, edits, etc.); the transaction id of the incremental authorization should never be referred to by subsequent transactions.</li><li>Each incremental authorization is not added to the batch. The total amount is maintained with the original transaction.</li><li>If the final settlement amount of the original transaction is less than the total of all authorizations, reversals will automatically be generated as needed.</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>UnionPay cards routed directly to UnionPay International do not support Incremental Authorizations. CreditIncrementalAuth may continue to be used for UnionPay cards routing through either the Discover or JCB networks. (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditIPQuery" type="PosCreditIPQueryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditIPQuery is used to query the Installment Payment terms available to the cardholder.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditOfflineAuth" type="PosCreditOfflineAuthReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditOfflineAuth records an authorization obtained outside of the gateway (e.g., voice authorization, chip card offline approval). These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time using CreditAddToBatch. Approved authorizations that have not yet been added to a batch are called open auths.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>Depending on the Host Processor, a CreditOfflineAuth transaction may not be modified after it has been added to a batch.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditOfflineSale" type="PosCreditOfflineSaleReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditOfflineSale records an authorization obtained outside of the gateway (e.g., voice authorization, chip card offline approval). The authorization is placed in the current open batch. If a batch is not open this transaction will create one.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditReturn" type="PosCreditReturnReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditReturn allows the merchant to return funds back to the cardholder. Returns can be for the entire amount associated with the original sale or a partial amount. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">For added fraud protection, CreditReturn can be run utilizing the GatewayTxnId from a previous sale. When this feature is used, the gateway tracks returns against the original sale and applies several rules.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            The following rules apply when returning by GatewayTxnId:
                            <ul><li>The original transaction must be a CreditAuth, CreditSale, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, or RecurringBillingAuth and must be in a batch. It cannot be an open authorization that still needs to be added to a batch.</li><li>The total of all returns cannot exceed the original sale amount. This is true for processing a single return as well as multiple returns against the same original transaction.</li><li>A return amount must be greater than zero.</li><li>The return must be run within 1 year.</li><li>CreditReversal, CreditVoid, and CreditTxnEdit are not allowed against original transactions for which a full or partial return has been run.</li><li>A return can be voided. If this results in the total return amount being adjusted back to zero, CreditVoid, CreditReversal, and CreditTxnEdit are allowed on the original transaction once again.</li><li>If CardData is also supplied, the supplied card number and the card number of the original transaction must match.</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> If the original transaction is in the current open batch, a CreditVoid or CreditReversal may be used instead. However, only a return can be used once the batch is closed.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditReversal" type="PosCreditReversalReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditReversal cancels a prior authorization in the current open batch. This can be used in timeout situations or when a complete response is not received. This transaction can also be used to cancel a transaction that was approved online but subsequently declined by the chip.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">This can be used on prior transactions of the following types: CreditAuth, CreditSale, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, RecurringBillingAuth, and OverrideFraudDecline.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>This can also be used to partially reduce the amount of a prior authorization.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>Credit reversal transactions must be submitted within 31 days of the original transaction.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>A credit reversal should be requested with the GatewayTxnID or ClientTxnID.  Never send a reversal request with a multi-use token in the Card Data.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NTRSCreateToken" type="NTRSCreateTokenReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">It is used to create a network token using the Network Tokenization Service.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> RESERVED FOR FUTURE USE</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NTRSGetTokenCryptogram" type="NTRSGetTokenCryptogramReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">It is used to retrieve the cryptogram and payment data from Network Tokenization Service.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> RESERVED FOR FUTURE USE</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NTRSTokenStatus" type="NTRSTokenStatusReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">It is used to retrieve the token status from Network Tokenization Service.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> RESERVED FOR FUTURE USE</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NTRSUpdateTokenStatus" type="NTRSUpdateTokenStatusReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">It is used to update the status of the NTRS token.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> RESERVED FOR FUTURE USE</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NTRSTokenMetadata" type="NTRSTokenMetadataReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">It is used to retrieve the card metadata from Network Tokenization Service.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> RESERVED FOR FUTURE USE</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditSale" type="PosCreditSaleReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditSale authorizes a credit card transaction. These authorizations are automatically added to the batch to be settled. If a batch is not already open this transaction will create one.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            Authorizations can be processed by sending card data or the GatewayTxnId from a previous authorization. When using a prior transaction id, the following rules apply:
                            <ul><li>The original transaction must be an approved CreditAuth or CreditSale that was not also run using a prior transaction id.</li><li>The original transaction must be fully reversed, voided, or returned.</li><li>The original transaction must have occurred within the last 14 days.</li><li>The original transaction may only be referenced once in this way.</li><li>The new amount must be greater than 0.00 and cannot exceed 100% of the original.</li><li>The new transaction is sent as "Card Not Present"</li><li>The new transaction can be voided or reversed.</li><li>OrigTxnRefData must be provided with AuthCode and/or CardNbrLastFour and the provided data must match the original transaction data.</li></ul></p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditTxnEdit" type="PosCreditTxnEditReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditTxnEdit allows the merchant to alter the data on a previously approved CreditSale, CreditAuth, CreditOfflineSale, or CreditOfflineAuth (i.e. add a tip amount).</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>Depending on the Host Processor, a CreditOfflineAuth transaction may not be modified after it has been added to a batch.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>The gateway will not submit an authorization or reversal when the settlement amount of a transaction is altered. The client is responsible for managing these adjustments as needed.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>Approved UnionPay authorizations routed directly to UnionPay International cannot be adjusted. UnionPay cards routing through either the Discover or JCB networks may be adjusted. (UnionPay direct routing available for Canada merchants on the GSAP authorization platform only).
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreditVoid" type="PosCreditVoidReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">CreditVoid is used to cancel an open auth or remove a transaction from the current open batch. The original transaction must be a CreditAuth, CreditSale, CreditReturn, CreditOfflineAuth, CreditOfflineSale, RecurringBilling, RecurringBillingAuth, or OverrideFraudDecline.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Once a batch is closed, associated transactions can no longer be voided. In these cases, a CreditReturn can be used to adjust a customer's account.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> If a transaction has been fully or partially returned, it cannot be voided.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Due to new issuer regulations, a void now automatically attempts to reverse the original transaction. If the reversal is successful, the original transaction status will be set to 'R'. If there is no need to reverse (i.e. offlines) or the reversal fails, the original transaction status will be set to 'V'. A successful response to the void will indicate that the original transaction has been removed from the batch in either case.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebitAddValue" type="PosDebitAddValueReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">DebitAddValue increases the amount on a stored value card. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note: This transaction has been obsoleted.</strong> See the PrePaidAddValue for an alternative.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebitBalanceInquiry" type="PosDebitBalanceInquiryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">DebitBalanceInquiry returns the available balance for a Debit card. Available for retail devices in the Philippines only.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebitReturn" type="PosDebitReturnReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">DebitReturn allows the merchant to return funds from a prior debit sale back to the cardholder. Returns can be for the entire amount associated with the original sale or a partial amount. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">For added fraud protection, DebitReturn can be run utilizing the GatewayTxnId from a previous debit sale. When this feature is used, the gateway tracks returns against the original sale and applies several rules.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            The following rules apply when returning by GatewayTxnId:
                            <ul><li>The total of all returns cannot exceed the original sale amount. This is true for processing a single return as well as multiple returns against the same original transaction.</li><li>A return amount must be greater than zero.</li><li>DebitReversal is not allowed against original transactions for which a full or partial return has been run.</li><li>The supplied card number (from the track data or token) and the card number of the original transaction must match.</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> If the original transaction is in the current open batch, a DebitReversal may be used instead. However, only a return can be used once the batch is closed.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebitReversal" type="PosDebitReversalReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">DebitReversal cancels a previous DebitSale transaction. This should be used in timeout situations or when a complete response is not received. This transaction can be used to cancel a transaction that was approved online but subsequently declined by the chip.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Debit reversal transactions must be submitted within 31 days of the original transaction.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Partial reversals are not supported for debit transactions.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> DebitReversal is not allowed after a pre-authorization is completed with a DebitAddToBatch. Use DebitRefund instead.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebitAddToBatch" type="PosDebitAddToBatchReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">DebitAddToBatch is used to add a pre-authorized debit transaction to the open batch. If a batch is not open this transaction will create one.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <b>Note:</b> DebitAuth is only allowed in Canada.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebitAuth" type="PosDebitAuthReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">DebitAuth authorizes a debit transaction. These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time by using DebitAddToBatch.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <b>Note:</b> DebitAuth is only allowed in Canada
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebitSale" type="PosDebitSaleReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">DebitSale authorizes a debit card transaction. These authorizations are automatically added to the batch to be settled. If a batch is not already open this transaction will create one.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EBTBalanceInquiry" type="PosEBTBalanceInquiryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">EBTBalanceInquiry returns the available balance for an EBT account.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EBTCashBackPurchase" type="PosEBTCashBackPurchaseReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">EBTCashBackPurchase is used to purchase goods with EBT Cash Benefits. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EBTCashBenefitWithdrawal" type="PosEBTCashBenefitWithdrawalReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">EBTCashBenefitWithdrawal is used to disburse cash from an EBT Cash Benefits account. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EBTFSPurchase" type="PosEBTFSPurchaseReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">EBTFSPurchase is used to purchase goods with EBT Food Stamps/SNAP. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EBTFSReturn" type="PosEBTFSReturnReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">EBTFSReturn is used to credit previously debited funds to an EBT Food Stamps/SNAP account for merchandise returned. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EBTFSReversal" type="PosEBTFSReversalReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">EBTFSReversal cancels a prior purchase in the current open batch. This can be used in timeout situations or when a complete response is not received. In either case, the client is unsure of the outcome of the prior transaction.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">This can be used on prior transactions of the following types: EBTFSPurchase, EBTFSReturn, EBTCashBenefitWithdrawal and EBTCashBackPurchase.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Partial reversals are not supported for EBT transactions.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EBTVoucherPurchase" type="PosEBTFSVoucherReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">EBTVoucherPurchase is obsolete and should no longer be used</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EndToEndTest">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Test for internal use only.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> For a quick test, clients can use TestCredentials.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FindTransactions" type="FindTransactionsReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">FindTransactions is used to search all current gateway transactions based on provided filter criteria.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> When possible, searching should be done by TxnId. This is a single transaction search unless used in conjunction with FindHistoryInd.  Any additional criteria is ignored.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> The gateway is not a long-term storage service. Generally, data is only available for 90 days; however, recurring billing data is saved for two years. For longer periods, Heartland offers other services. Further information can be provided during boarding and certification.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GetAttachments" type="PosGetAttachmentReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GetAttachments is used to retrieve attachments (i.e. documents, images, etc.) associated with a particular transaction.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GetTransactionStatus" type="PosGetTransactionStatusReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GetTransactionStatus is used to retrieve the status of any gateway transaction.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GetUserDeviceSettings" type="PosGetUserDeviceSettingsReqType">
        <xs:annotation>
          <xs:documentation>
            <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="GetUserSettings" type="xs:anySimpleType">
        <xs:annotation>
          <xs:documentation>
            <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="GiftCardActivate" type="PosGiftCardActivateReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardActivate is used to activate a new stored value account and load it with an initial balance. If the specified stored value account is already active, the request will fail.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Stored value accounts can also be activated implicitly via the GiftCardAddValue method depending on the platform configuration for a customer's specific program.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This method supports loyalty points.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardAddValue" type="PosGiftCardAddValueReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardAddValue loads an amount onto a stored value account. Depending on the gift processor, this request may also be used to automatically activate the account.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This method supports loyalty points.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardAlias" type="PosGiftCardAliasReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardAlias allows the client to manage stored account aliases. An alias is an alternate identifier used to reference a stored value account. Restrictions on the possible values of alias must be obtained from the gift processor.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardBalance" type="PosGiftCardBalanceReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardBalance is used to retrieve the balance(s) for each currency supported by a stored value account.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardCurrentDayTotals" type="xs:anySimpleType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardCurrentDayTotals is used to retrieve stored value transaction totals for the current day.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This has been obsoleted and should no longer be used. See FindTransactions for an alternative.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardDeactivate" type="PosGiftCardDeactivateReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardDeactivate is used to deactivate an active stored value account that otherwise has not been used. Attempts to deactivate an account that is not active or has had activity will fail.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> For some gift processors, once a stored value account has been deactivated it can never be re-activated.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardPreviousDayTotals" type="xs:anySimpleType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardPreviousDayTotals is used to retrieve stored value transaction totals for the previous day.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This has been obsoleted and should no longer be used. See FindTransactions for an alternative.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardReplace" type="PosGiftCardReplaceReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardReplace transfers balances from one stored value account to another. This is typically to replace a lost or stolen account with a new one or to consolidate two or more accounts into a single account. After a transfer has completed, the source account is closed/deactivated and can no longer be used. The balance for the destination account is returned in the response.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardReversal" type="PosGiftCardReversalReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardReversal is used to cancel a prior stored value transaction. This should be used in timeout situations or when a complete response is not received. In either case, the client is unsure of the outcome of the prior transaction.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            This can be used on prior transactions of the following types:
                            <ul><li>GiftCardActivate</li><li>GiftCardAddValue</li><li>GiftCardSale</li><li>GiftCardReward</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> When reversing a transaction, all changes to the account are cancelled, including any additional value added by rewards programs or automated promotions.
                          </p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> If the reversal also fails to return a complete response (likely due to a timeout), wait until connectivity is restored and try again or contact support to ensure the proper result was achieved.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardReward" type="PosGiftCardRewardReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardReward is used when an account holder makes a payment using a payment form other than a stored value account (e.g. cash or credit card). The account holder may present their stored value account to earn points or other loyalty rewards, which would be added to their account. If successful, the rewarded amount is returned in the response.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This transaction is not used for purchases. Instead, the purchase amount is used to help determine what potential rewards may be added based on the merchant's loyalty and rewards program.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardSale" type="PosGiftCardSaleReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardSale is used to redeem value from a stored value account.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Partial approvals are supported by default. If the account balance is non-zero but insufficient to cover the full redemption amount, the remaining balance is drained and the amount still owed is returned in the response for additional payment. The merchant may accept any additional tender to cover the amount still owed. If the account holder is unable to provide additional payment and the purchase is cancelled, this transaction should be voided to return the balance back to the account. See the "split tender card amount" and "split tender balance due amount" fields in the response.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardTip" type="PosGiftCardTipReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardTip is used to add tip to an existing GiftCardSale. If successful, the tip amount will be subtracted from the stored value account.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This transaction is for future use.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GiftCardVoid" type="PosGiftCardVoidReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">GiftCardVoid is used to cancel a prior successful transaction. When voiding a transaction, all changes to the account are reversed, including any additional value added by rewards programs or automated promotions.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
                            This can be used on prior transactions of the following types:
                            <ul><li>GiftCardActivate</li><li>GiftCardAddValue</li><li>GiftCardDeactivate</li><li>GiftCardReplace</li><li>GiftCardSale</li><li>GiftCardReward</li></ul></p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Only the most recent transaction is allowed to be referenced as the prior transaction for a gift void. For example, if an activate is run and then an add value is run, only the add value can be voided.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Impersonate" type="PosImpersonateReqType">
        <xs:annotation>
          <xs:documentation>
            <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="InteracDeviceKeys" type="PosInteracDeviceKeysReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">For Canadian merchants, this message can be used to synchronize the keys used for encrypting data in debit card messages for the Canadian debit card network, also referred to as Interac.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InvalidateAuthentication" type="xs:anySimpleType">
        <xs:annotation>
          <xs:documentation>
            <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="ManageSettings" type="ManageSettingsReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This service is used to manage certain Site or Device settings. Please refer to the Developer's Guide for further details.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ManageTokens" type="ManageTokensReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ManageTokens allows merchants to update information referenced by a specific multi-use token.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> Single-use tokens are not supported in this request.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ManageUsers" type="PosManageUsersReqType">
        <xs:annotation>
          <xs:documentation>
            <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="OverrideFraudDecline" type="PosOverrideFraudDeclineReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">OverrideFraudDecline is used to process a CreditSale, CreditAuth or CreditReturn that was previously declined due to fraud. An override causes the fraud concerns to be ignored. The use of this function on a client should require management approval. This can only be done once, and for the original auth amount.</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="ParameterDownload" type="PosParameterDownloadReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ParameterDownload is used to initiate an EMV parameter download by clients interfacing to an EMV device. Typically, the client will only download new parameters after receiving an indicator that a download is needed in a prior response message. In addition, the client should time these downloads to be done between batches and during an idle time if possible.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> See the PDLNotification indicator in the response header.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrePaidAddValue" type="PosPrePaidAddValueReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">PrePaidAddValue is used to increase the balance associated with a prepaid card. The transaction is placed in the current open batch. If a batch is not open, this transaction creates an open batch.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> For future use
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrePaidBalanceInquiry" type="PosPrePaidBalanceInquiryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">PrePaidBalanceInquiry returns the available balance for a prepaid card.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RecurringBilling" type="PosRecurringBillReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">RecurringBilling authorizes a one-time or scheduled recurring transaction. The authorization is placed in the current open batch. If a batch is not already open, this transaction creates an open batch.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">A scheduled recurring transaction is the default, but a one-time payment can be made by setting the OneTime value to 'Y'. One-time payments may be processed using card data managed by PayPlan. In this case, the stored payment PaymentMethodKey should be provided instead of CardData.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">The PayPlan application allows a merchant to set up and schedule recurring payments, but also provides other features including customer information management, secure payment (card and ACH) information storage (card-on-file), and automated email notifications to customers.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RecurringBillingAuth" type="PosRecurringBillReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">RecurringBillingAuth authorizes a one-time or scheduled recurring transaction. These authorization only transactions are not added to the batch to be settled. They can be added to a batch at a later time using CreditAddToBatch. Approved authorizations that have not yet been added to a batch are called open auths.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">A scheduled recurring transaction is the default, but a one-time payment can be made by setting the OneTime value to 'Y'. One-time payments may be processed using card data managed by PayPlan. In this case, the stored payment PaymentMethodKey should be provided instead of CardData.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">The PayPlan application allows a merchant to set up and schedule recurring payments, but also provides other features including customer information management, secure payment (card and ACH) information storage (card-on-file), and automated email notifications to customers.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportActivity" type="PosReportActivityReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ReportActivity returns all activity between the client devices and gateway for a period of time. This can be filtered to a single device if needed.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This has been obsoleted and should no longer be used. See FindTransactions for an alternative.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportBatchDetail" type="PosReportBatchDetailReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ReportBatchDetail returns information on each transaction currently associated to the specified batch. This report is for the site and device referenced in the header.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportBatchHistory" type="PosReportBatchHistoryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ReportBatchHistory returns information about previous batches over a period of time. This report is for the site referenced in the header.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportBatchSummary" type="PosReportBatchSummaryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ReportBatchSummary returns a batch's status information and totals broken down by payment type. This report is for the site and device referenced in the header.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportOpenAuths" type="PosReportOpenAuthsReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ReportOpenAuths returns all authorizations that have not been added to a batch for settlement. This report is for the site referenced in the header.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportSearch" type="PosReportSearchReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ReportSearch returns transaction information for a specified time period.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This has been obsoleted and should no longer be used. See FindTransactions for an alternative.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportTxnDetail" type="PosReportTxnDetailReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">ReportTxnDetail returns detailed information about a single transaction. This report is for the site and device referenced in the header.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReportTxnResearch" type="PosReportTxnResearchReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Extended transaction information.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong> Note :</strong> This service is for internal use only. Future use.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RewardCashQuery" type="PosRewardCashQueryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">RewardCashQuery is used to query available reward point balance for a participating account. Available for devices in the AP region only</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This transaction is for future use.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RewardCashRedeem" type="PosRewardCashRedeemReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">RewardCashRedeem is used to redeem available reward points for a participating account. Allowed for Reward Cash terminals configured for the Asia Pacific region only.</p>
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> This transaction is for Future Use.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SendFunds" type="PosSendFundsReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Visa Direct Original Credit Transaction (OCT) and Master Card MoneySend Request service.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong>This transaction is for Future Use.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SendReceipt" type="PosSendReceiptReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">SendReceipt allows a client to send a receipt from a prior transaction out to specific destinations. The prior transaction must belong to the site and device referenced in the header.</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="TestCredentials" type="xs:anySimpleType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">TestCredentials validates the credentials passed in the header, but does not perform an action.</p>
            <p xmlns="http://Hps.Exchange.PosGateway" />
            <p xmlns="http://Hps.Exchange.PosGateway">
              <strong>Note:</strong> TestCredentials should only be used at the beginning of the certification period to validate credentials and connectivity to the certification environment. This should not be used as a "heartbeat" check and is not required for processing with the gateway.
                          </p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Tokenize" type="PosTokenizeReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Tokenize is used to request the gateway to return a multi-use token for the supplied card data. </p>
            <p xmlns="http://Hps.Exchange.PosGateway">No verification of the card data is performed.</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TokenUpdaterHistory" type="PosTokenUpdaterHistoryReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">Allows merchants to retrieve a counts or details report of token updates performed by Auto Account Updater</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SurchargeEligibilityLookup" type="PosSurchargeEligibilityLookupReqType">
        <xs:annotation>
          <xs:documentation>
            <p xmlns="http://Hps.Exchange.PosGateway">TODO: add documentation</p>
            <p xmlns="http://Hps.Exchange.PosGateway"></p>
            <p xmlns="http://Hps.Exchange.PosGateway">Internal use only</p>
          </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:choice>
  </xs:complexType>
</xs:element>
See Also
Ver1.0 ElementPosRequest ElementPosGateway Schema