Open the Portico Developer Guide site
PosGateway Schema
Block1 Element
PosGateway Schema > PosRecurringBillReqType Complex Type : Block1 Element
Description

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.

Namespace http://Hps.Exchange.PosGateway
Type
RecurringBillReqBlock1Type Complex Type
Diagram
SCAExemptionData Element EUSingleTap Element AccountReferenceReq Element TxnDescriptor Element SubMerchantData Element WalletData Element SecureECommerce Element CardOnFileData Element CPCData Element CPCReq Element DebtRepaymentIndicator Element RecurringData Element AdditionalTxnFields Element AllowDup Element CardHolderData Element PaymentMethodKeyData Element PaymentMethodKey Element AmountIndicator Element Amt Element CardData Element All Block1 Element
Overview
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.

Sequence
Choice
TrackData CardDataTypeTrackData Complex Type

Track data is the full magnetic stripe data.

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

method optional CardDataTypeTrackDataMethod Simple Type

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

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

ManualEntry

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

All
CardNbr cardNbrType Simple Type

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

ExpMonth monthTypeExp Simple Type

Card expiration month

ExpYear Restriction of yearType Simple Type

Card expiration year

CardPresent optional booleanType Simple Type

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

ReaderPresent optional booleanType Simple Type

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

CVV2 optional Restriction of cvv2Type Simple Type

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

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

Note: This field is not used for EBT transactions.

CVV2Status optional cvv2Status Simple Type

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

Note: This field is not used for EBT transactions.

TokenData

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

All
TokenValue xs:string

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

ExpMonth optional monthType Simple Type

Card expiration month

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

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

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

ReaderPresent optional booleanType Simple Type

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

CVV2 optional Restriction of cvv2Type Simple Type

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

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

Note: This field is not used for EBT transactions.

CVV2Status optional cvv2Status Simple Type

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

Note: This field is not used for EBT transactions.

EncryptionData optional EncryptionDataType Complex Type

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

All
DataFormat optional encryptedDataFormatType Simple Type

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

EncryptionDataFormat 1 Denotes the CardData sent to PORTICO is Binary

EncryptionDataFormat 2 Denotes the CardData sent to PORTICO is ASCII

Version encryptionVersionType Simple Type

The encryption version used on the supplied data.

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

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

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

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

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

EncryptedTrackNumber optional encryptedTrackNumberType Simple Type

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

KTB optional encryptionKTBType Simple Type

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

KSN optional encryptionKSNType Simple Type

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

TokenRequest optional booleanType Simple Type

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

TokenParameters optional TokenParametersType Complex Type

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

Not Applicable for Reward Cash transactions.

All
Mapping optional TokenMappingType Simple Type

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

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

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.

All
ExpMonth optional monthType Simple Type

Expiration month

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

ExpYear optional Restriction of yearType Simple Type

Expiration year

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

CVV2 optional Restriction of cvv2Type Simple Type

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

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

Note: This field is not used for EBT transactions.

CVV2Status optional cvv2Status Simple Type

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

Note: This field is not used for EBT transactions.

All
CardHolderZip optional zipType Simple Type

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

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

CardHolderPhone optional phoneType Simple Type

Phone number; see the associated Type pattern for restrictions.

CardHolderEmail optional emailType Simple Type

Email address

CardHolderLanguage optional languageIndicatorType Simple Type

CardHolder preferred language.

Note:This field is required for Canadian merchants.

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

All
Description optional descriptionType Simple Type

Free-form description field. This must not contain sensitive information.

InvoiceNbr optional Restriction of xs:string

Used to log the invoice number on transactions that are not eCommerce.

CustomerID optional customerIDType Simple Type

Used to log Merchant specific customer identification.

Note: For GETI check transactions, this is sent in the CUSTOM3 field.

RecurringData optional RecurringDataType Complex Type

Recurring data; includes the flag for one-time transactions

All
ScheduleID optional scheduleIDType Simple Type

The PayPlan ScheduleIdentifier

OneTime optional booleanType Simple Type

Indicates a one-time payment (Y) or a recurring payment (N); if not provided N is assumed.

RecurringDataCode optional xs:string

MasterCard value that may be returned on recurring transactions.

Note: This is returned in the response and should never be used in the request.

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

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.

All
GSTAmt optional amtTypeGlobal Simple Type

Goods and Services Tax.

HSTAmt optional amtTypeGlobal Simple Type

Harmonized Sales Tax.

PSTAmt optional amtTypeGlobal Simple Type

Provincial Sales Tax.

QSTAmt optional amtTypeGlobal Simple Type

Quebec Sales Tax.

BuyerRecipientName optional Restriction of xs:string

Required on transactions with an amount over 150.

PSTTaxRegistration optional pstTaxRegistrationType Simple Type

Provincial Sales Tax Registration number.

MerchantVATRegistration Restriction of xs:string

Merchant Value Added Tax Registration number.

CustomerVATRegistration Restriction of xs:string

Customer Value Added Tax Registration number.

CustomerRefId Restriction of xs:string

Canadian customer reference Id.

All
CardBrandTxnId optional restrictedStringType Simple Type

Network Transaction Identifier

CardOnFile optional CardOnFileType Simple Type

Card On File Indicator

Valid values include:

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

CategoryInd optional CategoryIndType Simple Type

Mastercard CIT/MIT indicator subcategory

Valid values include:

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

Note: Future use for GSAP-AP merchants

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.

All
PaymentDataSource PaymentDataSourceType Simple Type

Payment Data Source is the API or source of the payment data.

TypeOfPaymentData optional TypeOfPaymentDataType Simple Type

Type of Payment Data. Required if PaymentData is included.

Note:Currently only 3DSecure is supported.

PaymentData optional Extension of PaymentDataType Simple Type

Payment Data received from payment tokenization service. Supported formats are Visa CAVV, Discover CAVV, AMEX Token Data Blocks, and MaterCard UCAF. All considered to be 3DSecure Type of Payment Data. Binary data must be encoded using base16 (Hex encoding) or base64 encoding.

Note:For Brand based 3DSecure Payment Data Sources, Payment Data is optional if no Payment Data was received due to a failed attempt to authenticate the card holder, in example.

For ApplePay, ApplePayApp, ApplePayWeb, GooglePayApp, GooglePayWeb, Payment Data is required.

encoding optional EncodingType Simple Type
Encoding used to encode binary PaymentData. Default is base64.
ECommerceIndicator optional ECommerceIndicatorType Simple Type

Optional Electronic Commerce Indicator or MasterCard UCI returned from the payment tokenization service to indicate the authentication results of the credit card payment.

Note:The ECommerceIndicator is ignored when PaymentDataSource is ApplePay, ApplePayApp, ApplePayWeb, GooglePayApp, GooglePayWeb.

XID optional Extension of XIDType Simple Type

XID genrated at the client which identifies the 3-D Secure transaction.

encoding optional EncodingType Simple Type
Encoding used to encode binary PaymentData. Default is base64.
WalletData optional WalletDataType Complex Type

Allows for sending Wallet Authentication data associated with the transaction.

All
PaymentSource PaymentDataSourceType Simple Type

Payment Source is the API or source of the cryptogram.

Cryptogram optional Extension of cryptogramType Simple Type

Cryptogram received from wallet payment. Supported formats are DSRP, TokenBlocks and TAVV cryptograms. Must be encoded using base16 (Hex encoding) or base64 encoding.

encoding optional EncodingType Simple Type

Encoding used to encode binary Cryptogram. Default is base64.

ECI optional eciType Simple Type

Electronic Commerce Indicator associated with the Cryptogram. This is an optional field.

DigitalPaymentToken optional xs:string

Payment payload used to send encrypted apple or google pay data.

TokenRequestorId optional tokenRequestorIdType Simple Type

FOR FUTURE USE

Value associated with a specific network token that uniquely identifies the pairing of a token requestor with a token domain.

NetworkToken optional cryptogramTypeType Simple Type

FOR FUTURE USE

For use with NetworkToken only. If type is not provided, and a cryptogram is sent, Portico will use the default cryptogram type for the card brand.

SubMerchantData optional SubMerchantDataType Complex Type

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

Note: For internal use only.

All
SubMerchantId Restriction of xs:long

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

Note: For internal use only.

Addr1 Restriction of xs:string

The street address of the sub-merchant.

Note: For internal use only.

City Restriction of xs:string

The city of the sub-merchant.

Note: For internal use only.

StateProvinceRegion optional Restriction of xs:string

The state or province of the sub-merchant.

Note: For internal use only.

ZipPostalCode Restriction of xs:string

The ZIP/Postal Code of the sub-merchant.

Note: For internal use only.

CountryCode Restriction of xs:int

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

Note: For internal use only.

CustomerSvcPhone Restriction of xs:string

Sub-merchant phone number.

Note: For internal use only.

CustomerSvcEmail optional Restriction of xs:string

Sub-merchant email address.

Note: For internal use only.

TerminalId Restriction of xs:string

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

Note: For internal use only.

MCC Restriction of xs:string

Sub-merchant MCC.

Note: For internal use only.

TxnDescriptor optional TxnDescriptorType Simple Type

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

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

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.

All
SCAExemptionType SCAExemptionTypeType Simple Type

Eligible exemption to Strong Customer authentication (SCA) for the transaction.

Valid values include:

  • 'TrustedMerchant' Trusted merchant exemption claimed/requested.
  • 'LowValue' Transaction exemption from SCA as the merchant has determined it to be a low value payment.
  • 'SecureCorporatePayment' Transaction exemption from SCA as the merchant has determined it as a SCP.
  • 'TxnRiskAnalysis' TRA exemption claimed/requested.
  • 'DelegatedAuth' Issuer has delegated SCA.
  • 'AuthenticationOutage' Authentication outage
  • 'MerchantInitiated' Merchant initiated
  • 'RecurringPayment' Recurring payment

Note: Visa Merchant ID is required when the SCA Exemption Type is Trusted Merchant or Delegated Authentication.

SCAVisaMerchantId optional Restriction of xs:string

Note: Visa Merchant ID for Trusted Merchant and Delegated Authentication exemptions, required when the SCA Exemption Type is Trusted Merchant or Delegated Authentication

Source
<xs:element name="Block1" type="RecurringBillReqBlock1Type" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:documentation>
      <p xmlns="http://Hps.Exchange.PosGateway">Contains a series of required and optional elements</p>
      <p xmlns="http://Hps.Exchange.PosGateway" />
      <p xmlns="http://Hps.Exchange.PosGateway">
        <strong>Note:</strong> CardData and PaymentMethodKey are mutually exclusive, but it is required that one of these elements be provided.
            </p>
    </xs:documentation>
  </xs:annotation>
</xs:element>
See Also
PosRecurringBillReqType Complex TypePosGateway Schema