Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Component

Mult.

Rule

Usage

PaymentRequest

[1..1]

 

 

SaleData

[1..1]

 

Yes

OperatorID

[0..1]

If different from the Login.

No

OperatorLanguage

[0..1]

If different from the Login.

No

ShiftNumber

[0..1]

If different from the Login.

No

SaleTransactionID

[1..1]

 

Yes

TransactionID

[1..1]

 

 

TimeStamp

[1..1]

 

 

SaleReferenceID

[0..1]

If payment reservation.

No

SaleTerminalData

[0..1]

If content is not empty.

No

TerminalEnvironment

[0..1]

If modified since the login.

 

SaleCapabilities

[0..1]

If modified since the login (devices failures).

 

TotalsGroupID

[0..1]

If modified since, or not in the login and used by the Sale System.

 

SaleToPOIData

[0..1]

Stored with the transaction.

No

SaleToAcquirerData

[0..1]

Send to the Acquirer if present.

No

SaleToIssuerData

[0..1]

Send to the Acquirer if present.

No

StatementReference

[0..1]

Information to print on the bank statement.

No

PaymentTransaction

[1..1]

 

 

AmountsReq

[1..1]

 

 

Currency

[1..1]

 

Yes

RequestedAmount

[0..1]

 

Yes

CashBackAmount

[0..1]

If payment with cash back requested by the Sale System.

Yes

TipAmount

[0..1]

If this attribute is present with value 0 then tipping is disabled for the transaction. Otherwise it is ignored. Note that this attribute does not specify the amount of tip to be applied.

No

PaidAmount

[0..1]

If SplitPaymentFlag is True.

No

MinimumAmountToDeliver

[0..1]

If unknown maximum amount for a OneTimeReservation or minimum amount requested by the Sale System.

No

MaximumCashBackAmount

[0..1]

Maximum amount which could be requested for cash-back to the Sale System.

No

MinimumSplitAmount

[0..1]

Minimum amount of a split, which could be requested.

No

OriginalTransaction

[0..1]

If UpdateReservation, Completion or Refund.

No

POITransactionID

[0..1]

If SaleReferenceID is insufficient to identify the transaction.

 

TransactionID

[1..1]

 

 

TimeStamp

[1..1]

 

 

POIID

[0..1]

If original transaction is coming from another POI.

No

ReuseCardDataFlag

[0..1]

Default True.

No

ApprovalCode

[0..1]

If referral.

No

TransactionConditions

[0..1]

If one data element is present.

Yes

AllowedPaymentBrand

[0..n]

Restrict brand if present.

No

AllowedLoyaltyBrand

[0..n]

Restrict brand if present.

No

LoyaltyHandling

[0..1]

Default Allowed.

No

CustomerLanguage

[0..1]

If the language is selected by the Customer on the Sale System before the request to the POI.

No

ForceOnlineFlag

[0..1]

Default False. Go online if data sent.

No

ForceEntryMethod

[0..n]

Restrict entry mode if sent and no PaymentData or LoyaltyData.CardAcquisitionReference

No

MerchantCategoryCode

[0..1]

The payment implies a specific MCC.

No

AllowChipXpress

[0..1]Default true. Set false to disable the ChipXpress feature.Yes

WaitCardRemoval

[0..1]Default true. Set to false to complete the transaction, i.e. to send the PaymentResponse message, without waiting for the card to be removed.Yes

DisableTip

[0..1]Default false. Set to true to disable tip entry for the transaction.Yes

DisableBankAxept

[0..1]Default false. Set to true to disable the special handling rules that apply to BankAxept cards.Yes

SaleItem

[0..n]

If purchased products are required for the payment or loyalty.

Yes

ItemID

[1..1]

Ignored, but required by the message schema when the SaleItem element is present.

Yes

ProductCode

[1..1]

Produce group / code value. This is not directly used by the payment application but can be relevant to the authorisation system

Yes

EanUpc

[0..1]

If data sent, POI has to store it and send it if the host protocol allows it.

No

UnitOfMeasure

[0..1]

 

No

Quantity

[0..1]

If data sent, POI has to store it and send it if the host protocol allows it.

No

UnitPrice

[0..1]

 

No

ItemAmount

[1..1]

Ignored, but required by the message schema when the SaleItem element is present.

Yes

TaxCode

[0..1]

If data sent, POI has to store it and send it if the host protocol allows it.

No

SaleChannel

[0..1]

If data sent, POI has to store it and send it if the host protocol allows it.

No

AdditionalProductInfo

[0..1]

If data sent, POI has to store it and send it if the host protocol allows it.

No

PaymentData

[0..1]

If one data element is present.

Yes

PaymentType

[0..1]

Default "Normal", indicating a purchase. Other options are "Refund" and "CashAdvance".

Yes

Method

[0..1]

If the ECR wants/needs to require the PA to use a specific Alternative Payment Method, the name of that method is supplied here. Currently we support one of these vaues: "Swish", "Vipps", "Klarna".

Yes

ReferenceNumber

[0..1]

If this is a reversal of a purchase made using an Alternative Payment Method, the reversal requires the reference number of the original transaction here.

Yes

SplitPaymentFlag

[0..1]

Default False.
If split of the amount with possible fleet cards.

No

RequestedReservationTimePeriod

[0..1]

If time period of the OneTimeReservation,
FirstReservation or UpdateReservation is requested.

No

CardAcquisitionReference

[0..1]

If the card data comes from a previous CardAcquisition.

No

TransactionID

[1..1]

 

No

TimeStamp

[1..1]

 

No

PaymentInstrumentData

[0..1]

If payment instrument data are read by the Sale System.

Yes

PaymentInstrumentType

[1..1]

Only "Card" is accepted.

Yes

CardData

[0..1]

If PaymentInstrumentType is "Card". Note: PCI payment card data will not be accepted by this method.

Yes

EntryMethod

[1..1]

Entry mode of the payment instrument, i.e. Magstripe or Manual

Yes

SensitiveCardData

[0..1]

If structure non empty (could be CMS protected EnvelopedData).

Yes

PAN

[0..1]

If EntryMethod is File, Keyed or Manual.

Yes

CardSeqNumb

[0..1]

If EntryMethod is File, Keyed or Manual and data available on the card.

No

ExpirationDate

[0..1]

If EntryMethod is File, Keyed or Manual and data available on the card.

Yes

TrackData

[0..3]

If EntryMethod is MagStripe or RFID.

Yes

TrackNumb

[0..1]

Default 2.

No

TrackFormat

[0..1]

Default ISO.

No

TrackValue

[1..1]

 

Yes

CheckData

[0..1]

If PaymentInstrumentType is "Check".

No

BankID

[0..1]

Mandatory if TrackData absent.

 

AccountNumber

[0..1]

Mandatory if TrackData absent.

 

CheckNumber

[0..1]

Mandatory if TrackData absent.

 

TrackData

[0..1]

Mandatory if CheckNumber absent.

 

TrackNumb

[0..1]

Default 2.

 

TrackFormat

[1..1]

"E-13B" or "CMC-7".

 

TrackValue

[1..1]

 

 

CheckCardNumber

[0..1]

If provided by the customer.

 

TypeCode

[0..1]

Default Personal.

 

Country

[0..1]

Absent if country of the Sale system.

 

MobileData

[0..1]

If PaymentInstrumentType is "Mobile".

No

MobileCountryCode

[0..1]

If data available.

 

MobileNetworkCode

[0..1]

If data available.

 

MaskedMSISDN

[0..1]

If data available.

 

Geolocation

[0..1]

If data available.

 

ProtectedMobileData

[0..1]

SensitiveMobileData protected by CMS EnvelopedData.

 

SensitiveMobileData

[0..1]

If unprotected mobile data.

 

IMSI

[1..1]

 

 

IMSI

[0..1]

If data available.

 

IMEI

[0..1]

If data available.

 

LoyaltyData

[0..n]

Loyalty cards used with the payment transaction and read by the Sale System.

No

CardAcquisitionReference

[0..1]

See Loyalty request.

 

TransactionID

[1..1]

 

 

TimeStamp

[1..1]

 

 

LoyaltyAccountID

[0..1]

See Loyalty request.

 

EntryMethod

[1..1]

 

 

IdentificationType

[1..1]

 

 

LoyaltyID

[1..1]

 

 

LoyaltyAmount

[0..1]

When the Sale System want to make an additional award the Loyalty account.

 

LoyaltyUnit

[0..1]

See Loyalty request.

 

Currency

[0..1]

See Loyalty request.

 

AmountValue

[1..1]

 

 

...

<SaleToPOIRequest>
   <MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="4779" WorkstationID="" POIID="52400004" />
   <PaymentRequest>
      <SaleData>
         <SaleTransactionID TransactionID="2587" TimeStamp="2017-07-05T17:04:50.0539062+01:00" />
      </SaleData>
      <PaymentTransaction>
         <AmountsReq Currency="SEK" RequestedAmount="1000" CashBackAmount="0" TipAmount="0.00" />
         <TransactionConditions LoyaltyHandling="Forbidden" />
      </PaymentTransaction>
      <PaymentData PaymentType="Normal">
         <PaymentInstrumentData PaymentInstrumentType="Card">
            <CardData EntryMethod="Manual">
               <SensitiveCardData PAN="5301250070000050" CardSeqNumb="01" ExpirationDate="0415" />
            </CardData>
         </PaymentInstrumentData>
      </PaymentData>
   </PaymentRequest>
</SaleToPOIRequest>

Payment request example (specifying Alternative Payment Method to use)

<SaleToPOIRequest>
   <MessageHeader MessageClass="Service" MessageCategory="Payment" MessageType="Request" ServiceID="4779" WorkstationID="" POIID="52400004" />
   <PaymentRequest>
      <SaleData>
         <SaleTransactionID TransactionID="2587" TimeStamp="2017-07-05T17:04:50.0539062+01:00" />
      </SaleData>
      <PaymentTransaction>
         <AmountsReq Currency="SEK" RequestedAmount="1000" CashBackAmount="0" TipAmount="0.00" />
         <TransactionConditions LoyaltyHandling="Forbidden" />
      </PaymentTransaction>
      <PaymentData PaymentType="Normal" Method="Swish" />
   </PaymentRequest>
</SaleToPOIRequest>

Payment response message

PaymentResponse

Mult.

Rule

Usage

PaymentResponse

[1..1]

 

 

Response

[1..1]

 

 

Result

[1..1]

"Success" or "Failure".

Yes

ErrorCondition

[0..1]

Error classification in the failure case. See 2.7.5.3 in the EPAS specification.

Yes

AdditionalResponse

[0..1]

Description of the problem in the failure case.

Yes

POIData

[1..1]

 

 

POITransactionID

[1..1]

 

 

TransactionID

[1..1]

 

Yes

TimeStamp

[1..1]

 

Yes

BatchID

[0..1]

If Result is Success or Partial.

No

PaymentResult

[0..1]

If one data element is present.

Yes

PaymentType

[0..1]

Copy, default Normal.

Yes

PaymentInstrumentData

[0..1]

If a payment instrument is analysed by the POI.

No

PaymentInstrumentType

[1..1]

 

 

CardData

[0..1]

If PaymentInstrumentType is "Card".

 

PaymentBrand

[0..1]

If card PAN is readable.

 

MaskedPAN

[0..1]

If required for the card, instead of clear PAN.

 

EntryMethod

[1..1]

Copy if present in the request.

 

CardCountryCode

[0..1]

If available in the card.

 

ProtectedCardData

[0..1]

SensitiveCardData protected by CMS EnvelopedData.

 

SensitiveCardData

[0..1]

If structure non empty (unprotected).

 

PAN

[0..1]

If card PAN is readable.

 

CardSeqNumb

[0..1]

If data available on the card.

 

ExpirationDate

[0..1]

If data available on the card.

 

TrackData

[0..4]

If configured to be sent, and EntryMethod is
MagStripe or RFID.

 

TrackNumb

[0..1]

Default 2.

 

TrackFormat

[0..1]

Default ISO.

 

TrackValue

[1..1]

 

 

CheckData

[0..1]

If PaymentInstrumentType is "Check".

No

BankID

[0..1]

Mandatory if TrackData absent.

 

AccountNumber

[0..1]

Mandatory if TrackData absent.

 

CheckNumber

[0..1]

Mandatory if TrackData absent.

 

TrackData

[0..1]

Mandatory if CheckNumber absent.

 

TrackNumb

[0..1]

Default 2.

 

TrackFormat

[1..1]

"E-13B" or "CMC-7".

 

TrackValue

[1..1]

 

 

CheckCardNumber

[0..1]

If provided by the customer.

 

TypeCode

[0..1]

Default Personal.

 

Country

[0..1]

Absent if country of the Sale system.

 

MobileData

[0..1]

If PaymentInstrumentType is "Mobile".

No

MobileCountryCode

[0..1]

If data available.

 

MobileNetworkCode

[0..1]

If data available.

 

MaskedMSISDN

[0..1]

If data available.

 

Geolocation

[0..1]

If data available.

 

ProtectedMobileData

[0..1]

SensitiveMobileData protected by CMS EnvelopedData.

 

SensitiveMobileData

[0..1]

If unprotected mobile data.

 

MSISDN

[1..1]

 

 

IMSI

[0..1]

If data available.

 

IMEI

[0..1]

If data available.

 

AmountsResp

[0..1]

If Result is Success or Partial.

 

AuthorizedAmount

[1..1]

 

Yes

TotalRebatesAmount

[0..1]

If rebate on the total amount or rebate on individual products.

No

TotalFeesAmount

[0..1]

If fees to be charged from a financial service.

No

CashBackAmount

[0..1]

If cashback service was performed with the payment.

No

TipAmount

[0..1]

If payment with tip requested by the Sale System.

No

CurrencyConversion

[0..n]

If currency conversion the Sale needs to know.

No

ConvertedAmount

[1..1]

 

 

AmountValue

[1..1]

 

 

Currency

[1..1]

 

 

ForeignAmount

[0..1]

If the amount before conversion is required.

 

Declaration

[0..1]

If a declaration has to be presented to the customer.

 

MerchantOverrideFlag

[0..1]

Default "False". If payment forced by the Cashier.

No

AllowedReservationTimePeriod

[0..1]

If OneTimeReservation, FirstReservation or
UpdateReservation and Result is Success.

No

AllowedProduct

[0..n]

If ErrorCondition is "PaymentRestriction" (some
products are not payable by the payment card).

No

PaymentAcquirerData

[0..1]

If card PAN is readable.

No

AcquirerID

[0..1]

If several Acquirers.

 

AcquirerPOIID

[1..1]

 

 

AcquirerTransactionID

[0..1]

If provided by the Acquirer.

 

TransactionID

[1..1]

 

 

TimeStamp

[1..1]

 

 

ApprovalCode

[0..1]

If available.

 

ReconciliationID

[0..1]

If provided by the Acquirer.

 

LoyaltyResult

[0..n]

Loyalty cards used with the payment transaction. First the loyalty account present in the request in the same order if any.

No

LoyaltyAccount

[1..1]

 

 

LoyaltyAccountID

[1..1]

 

 

EntryMethod

[1..1]

 

 

IdentificationType

[1..1]

 

 

IdentificationSupport

[1..1]

 

 

LoyaltyID

[1..1]

 

 

LoyaltyBrand

[0..1]

 

 

CurrentBalance

[0..1]

 

 

LoyaltyAmount

[0..1]

 

 

LoyaltyUnit

[0..1]

 

 

Currency

[0..1]

 

 

AmountValue

[1..1]

 

 

LoyaltyAcquirerData

[0..1]

 

 

LoyaltyAcquirerID

[0..1]

 

 

ApprovalCode

[0..1]

 

 

LoyaltyTransactionID

[0..1]

 

 

TransactionID

[1..1]

 

 

TimeStamp

[1..1]

 

 

ReconciliationID

[0..1]

 

 

Rebates

[0..1]

 

 

TotalRebate

[0..1]

 

 

RebateLabel

[0..1]

 

 

SaleItemRebate

[0..n]

 

 

ItemID

[1..1]

 

 

ProductCode

[1..1]

 

 

UnitOfMeasure

[0..1]

 

 

Quantity

[0..1]

 

 

ItemAmount

[0..1]

 

 

RebateLabel

[0..1]

 

 

...