Skip to main content

Payment interface (Payment Provider)

  • Payment

Connect your Payment Terminals Platform to our Payment connector.

Version
1.0.5
Status
Live
Incident
No incident

This service can be used by the Payment Connector to initiate a Token on a card via a Payment Terminal of the Payment Terminals Provider or via online channel.

 

COMPATIBILITY

 

Type Compatibility
Card present (CP) Yes
Card not present (CNP) Yes

 

TOKEN CARD PRESENT

 

REQUEST

 

Type Endpoint
POST /payment/v1/interface/terminalprovider/tokenize

 

PARAMETERS

Request on Card present mode follows NEXO protocol:

Name

Type

Description

CP mandatory

CNP mandatory

Example

MessageHeader

defined data structure

Message header of the Sale to POI protocol message

Y

 

 

     MessageClass

Enum

Class of the message

Y

 

Service

     MessageCategory

Enum

Category of the message.

Y

 

Payment

     MessageType

Enum

Type of message of the Sale to POI protocol

Y

 

Request

     ServiceID

TextString

{1,10}

Identification of a message pair, which processes a transaction

Y

 

H9732FO20101315118TK

     SaleID

TextString

Identification of a Sale System or a Sale Terminal for the Sale to POI protocol

Y

 

w-eu-h0416FLS1

     POIID

TextString

 

Identification of a POI System or a POI Terminal for the Sale to POI protocol

Y

 

CP: AUTO

PaymentRequest

defined data structure

Content of the Payment Request message

Y

 

 

     SaleData

defined data structure

Data related to the Sale System.

Y

 

 

           OperatorID

TextString

Identification of the Cashier or Operator

Allow to identify the origin of the transaction in the provider extranet

Y

 

FOLS

           SaleTransactionID

defined data structure

Unique identification of a Sale transaction

Y

 

 

                  TransactionID

TextString

Unique identification of a transaction

Could be empty but field should always be present

Y

 

 

                  TimeStamp

ISODateTime

 

Date and time of a transaction for the Sale System, the POI System or the Acquirer

Y

 

"2019-07-09T23:18:00-05:00"

           TokenRequestedType

Enum

If a token is requested.

  • "Customer" indicates that a token is requested to recognize the customer for a longer period
  • "Transaction" indicates that the token will recognize the customer for a short period

Y

 

Customer

 

     PaymentTransaction

defined data structure

Data related to the payment and loyalty transaction

Y

 

 

           AmountsReq

defined data structure

Various amounts related to the payment and loyalty request from the Sale System

 

Y

 

 

                  Currency

ISOCurrency3A

 

Currency of a monetary amount

 

Y

 

EUR

     PaymentData

defined data structure

Data related to the payment transaction

Y

 

 

           PaymentType

Enum

this element will define the type of message sent.

  • "TokenOnly" indicates that a token has to be processed

Y

 

TokenOnly

 

RESPONSE

 

Name

Type

Description

CP mandatory

CNP mandatory

Example

MessageHeader

defined data structure

 

 

Y

 

 

     MessageClass

Enum

Copy from request

Y

 

Service

     MessageCategory

Enum

Payment

Y

 

Payment

     MessageType

Enum

Response

Y

 

Response

     ServiceID

TextString

{1,10}

 

Copy from request

Y

 

H9732FO20101315118TK

     SaleID

TextString

Copy from request

Y

 

w-eu-h0867FLS1

     POIID

TextString

 

Terminal Identification

Set to Terminal Identification

Y

 

CP: AUTO

PaymentResponse

defined data structure

Content of the Payment Response message

Y

 

 

     Response

defined data structure

Result of a message request processing.

 

Y

 

 

           Result

Enum

Transaction Result

  • Success
  • Failure

Y

 

Success

 

           ErrorCondition

Enum

If the result is set to Failure then the condition should be part of the message.

 

Transaction Result

If Transaction Result = VOICE AUTHORISATION, set ErrorCondition =  "Referral"

N

 

DeviceOut

           AdditionnalResponse

TextString

Processing Status, Nok Reason, Terminal Verification Results (TVR) and Transaction Status Information (TSI).

 

Set as TLV structure

N

 

 

     SaleData

defined data structure

Data related to the Sale System

Y

 

 

           SaleTransactionID

defined data structure

Copy from request

Unique identification of a Sale transaction

Y

 

 

                  TransactionID

TextString

Unique identification of a Sale transaction

Field present but empty 

Y

 

 

                  TimeStamp

ISODateTime

 

Date and time of

a transaction for the Sale System, the POI System or the Acquirer.

Y

 

2020-07-09T09:18:00-05:00

     POIData

defined data structure

Data related to the POI System.

Y

 

 

           POITransactionID

defined data structure

Unique identification of a POI transaction for a POI

Y

 

 

                  TransactionID

TextString

Transaction Sequence Counter

Identification of the transaction on the samle system or on the POI system

Y

 

770223422195

                  TimeStamp

ISODateTime

Date and time of a transaction for the Sale System, the POI System or the Acquirer

Y

 

2020-07-09T09:18:00-05:00

     PaymentResult

defined data structure

Data related to the result of a processed payment transaction

If one data element is present

Y

 

 

           PaymentType

Enum

Copy, default Normal

Y

 

TokenOnly

          PaymentInstrumentData

defined data structure

If a payment instrument is analysed by the POI.

Y

 

 

                PaymentInstrumentType

Enum

Type of payment instrument

- Card

- Token

Y

 

Card

                  CardData

defined data structure

If PaymentInstrumentType is "Card"

Information related to the payment card used for the transaction

Y

 

 

                       PaymentBrand

TextString

Type of payment card.

One digit identifier with the meaning below:

V - VISA

N - VISAElectron

P - VPAY

M - MasterCard

E - Maestro

A - Amex

Y

 

V

 

                       MaskedPAN

TextString

PAN masked

required for the card, instead of clear PAN

Y

 

xxxxxxxxxxxx4121

                         EntryMode

Enum

Copy from request

Technology selected

Y

 

File

                       SensitiveCardData

defined data structure

Sensitive information related to the payment card, entered or read by the Sale System

Y

 

 

                                   ExpiryDate

DigitString

{4,4}

Expiration Date

If data available on the card

Y

 

1222

                       PaymentToken

defined data structure

If a payment token has been requested in the request message, or in the Login request for the session.

Y

 

 

TokenRequestedType

Enum

Copy from request

  • Transaction
  • Customer

Y

 

Customer

                              TokenValue

TextString

 

This field will contain the token number generated and sent by the payment provider.

Y

 

2068236741600135

           AmountsResp

defined data structure

If Result is Success or Partial

Various amounts related to the payment response from the POI System

Y

 

 

                  Currency

ISOCurrency3A

Currency of a monetary amount.

Mandatory for currency conversion.

Y

 

EUR

                AuthorizedAmount

SimpleAmountType

 

Transaction Amount

Send authorised value to Sale System Application

Y

 

0.00

           PaymentAcquirerData

defined data structure

If card is analysed and data available

Y

 

 

                  AcquirerID

DigitString

 

Identification of the Acquirer

Identifications of the Acquirer when the POI System is multi-acquirer

Y

 

1

                  MerchantID

TextString

Merchant Identifier for the acquirer

Y

 

64022201

                  AcquirerPOIID

TextString

Identification of the POI for the payment acquirer

Y

 

54017810

                  ApprovalCode

TextString

Authorisation Code if available (code sent by the acquirer)

Y

 

936069

     PaymentReceipt

defined data structure

Customer or Merchant payment receipt

 

Number of occurrences will be controlled by terminal parameters. ECR must support 0, 1 or 2 occurrences of this tag.

0 – No receipt will be printed

1 – Only one receipt copy will be printed, type will be specified by DocumentQualifier

2 – Two receipt copies to be printed, each type specified by DocumentQualifier.

Y

 

 

           DocumentQualifier

Enum

Qualification of the document to print to the Cashier or the Customer

CustomerReceipt CashierReceipt

Y

 

MerchantReceipt

          RequiredSignatureFlag

Boolean

Indicates that the payment receipt requires a physical signature line.

Y

 

false

           OutputContent

defined data structure

Content to display or print

Y

 

 

                  OutputFormat

Enum

Always set to “Text” -

The DisplayOutput is then an OutputText data structure.

Y

 

Text

                  OutputText

defined data structure

At least one occurrence of this tag will be required when OutputFormat is set to “Text”. Each occurrence will be a formatted receipt line.

Y

 

 

                         Text

TextString

Formatted receipt line content to be printed. Character set will be Basic Latin.

Y

 

MERCHANT RECEIPT

                       EndOfLineFlag

Boolean

Indicates if the characters of the displayed Text must be terminated by an end of line.

Y

 

true

 

EXAMPLE 1

This example show request/response for a card present transaction.

Example of request :

{

    "SaleToPOIRequest": {

        "MessageHeader": {

            "MessageCategory": "Payment",

            "MessageClass": "Service",

            "MessageType": "Request",

            "POIID": "AUTO",

            "SaleID": " W-l5487",

            "ServiceID": "H9732FO20101315118TK"

        },

        "PaymentRequest": {

            "PaymentData": {

                "PaymentType": "TokenOnly"

            },

            "PaymentTransaction": {

                "AmountsReq": {

                    "Currency": "EUR"

                }

            },

            "SaleData": {

                "OperatorID": "FOLS",

                "SaleTransactionID": {

                    "TimeStamp": "2020-10-13T10:30:29+02:00",

                    "TransactionID": ""

                },

                "TokenRequestedType": "Customer"

            }

        }

    }

}

Example of response :

{

     "SaleToPOIResponse": {

        "MessageHeader": {

            "MessageCategory": "Payment",

            "MessageClass": "Service",

            "MessageType": "Response",

            "POIID": "54017810",

            "ProtocolVersion": "3.1",

            "SaleID": "W-l5487",

            "ServiceID": "H9732FO20101315118TK"

        },

        "PaymentResponse": {

            "POIData": {

                "POITransactionID": {

                    "TimeStamp": "2020-10-13T10:30:51.934",

                    "TransactionID": "770223422195"

                }

            },

            "PaymentReceipt": [

                {

                    "DocumentQualifier": "CashierReceipt",

                    "OutputContent": {

                        "OutputFormat": "Text",

                        "OutputText": [

                            {

                                "EndOfLineFlag": true,

                                "Text": "Accor PAX test"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "--------------------------------"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": ""

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "13.10.2020            10:30:45"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "        MERCHANT RECEIPT"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "--------------------------------"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "TERMINAL: 54017810"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "DEVICE NAME: 54017810"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "MERCHANT: 640500100"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "PAN: XXXXXXXXXXXX0050"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "AID: A0000000031010"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "CARD TYPE: V"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "EMV CHIP"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "         TOKEN REQUEST"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "REFERENCE: 803"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "AMOUNT: EUR 0,00"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "AUTHORISATION CODE: 000000"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "CARD TOKEN: 2125534309170050"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "              (00)"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "            APPROVED"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "          OFFLINE PIN"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": " PLEASE RETAIN FOR YOUR RECORDS"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": ""

                            }

                        ]

                    },

                    "RequiredSignatureFlag": false

                },

                {

                    "DocumentQualifier": "CustomerReceipt",

                    "OutputContent": {

                        "OutputFormat": "Text",

                        "OutputText": [

                            {

                                "EndOfLineFlag": true,

                                "Text": "Accor PAX test"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "--------------------------------"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": ""

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "13.10.2020            10:30:45"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "       CARDHOLDER RECEIPT"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "--------------------------------"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "TERMINAL: 54017810"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "DEVICE NAME: 54017810"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "MERCHANT: 640500100"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "PAN: XXXXXXXXXXXX0050"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "AID: A0000000031010"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "CARD TYPE: V"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "EMV CHIP"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "         TOKEN REQUEST"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "REFERENCE: 803"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "AMOUNT: EUR 0,00"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "AUTHORISATION CODE: 000000"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "              (00)"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "            APPROVED"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": "          OFFLINE PIN"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": " PLEASE RETAIN FOR YOUR RECORDS"

                            },

                            {

                                "EndOfLineFlag": true,

                                "Text": ""

                            }

                        ]

                    },

                    "RequiredSignatureFlag": false

                }

            ],

            "PaymentResult": {

                "AmountsResp": {

                    "AuthorizedAmount": 0,

                    "Currency": "EUR"

                },

                "PaymentAcquirerData": {

                    "AcquirerID": "1",

                    "AcquirerPOIID": "54017810",

                    "ApprovalCode": "000000",

                    "MerchantID": "640500100"

                },

                "PaymentInstrumentData": {

                    "CardData": {

                        "EntryMode": "ICC",

                        "MaskedPAN": "XXXXXXXXXXXX0050",

                        "PaymentBrand": "V",

                        "PaymentToken": {

                            "TokenRequestedType": "Customer",

                            "TokenValue": "2125534309170050"

                        },

                        "SensitiveCardData": {

                            "ExpiryDate": "1222"

                        }

                    },

                    "PaymentInstrumentType": "Card"

                },

                "PaymentType": "TokenOnly"

            },

            "Response": {

                "Result": "Success"

            },

            "SaleData": {

                "SaleTransactionID": {

                    "TimeStamp": "2020-10-13T10:30:29+02:00",

                    "TransactionID": ""

                }

            }

        }

    }

}

 

 

 

TOKEN CARD NOT PRESENT

 

Type Endpoint
POST /payment/v1/interface/terminalprovider/payment

 

PARAMETERS

Request on Card Not Present mode does not follow NEXO protocol:

Name

Type

Description

CP mandatory

CNP mandatory

Example

resaId

string

Identification of the booking

 

Y

 

hotelCode

string

hotel code

 

Y

0449

folderNumber

string

file number of the booking

 

Y

 

mainCro

string

main origin code

 

Y

INT

subCro

string

sub origin code

 

Y

INT

arrivalDate

date

date of arrival of the guest

 

Y

 

departureDate

date

departure date of the guest

 

Y

 

firstName

string

beneficiary firstname

 

N

johh

lastName

string

beneficiary lastname

 

Y

do

email

string

beneficiary email

 

N

john.do@test.com

address

string

beneficiary postal address

 

N

2 test street

state

string

beneficiary state

 

N

 

zipcode

string

beneficiary zip code

 

N

75000

city

string

beneficiary city

 

N

paris

phoneNumber

string

beneficiary phone number

 

N

 

cardNumber

string

credit card number

 

Y

4111111111111111

cardType

string

credit card type

 

Y

VI

expirationDate

string

expiration date of the card

Format: MM/YY

 

Y

12/22

holderName

string

holder name of the card

 

Y

 

amount string amount value   Y  
currency string amount currency   Y  
partnerCode string partner code   Y  
remoteIPAddr string IP address of the partner   N  
eci string channel used for the transaction   N  

 

RESPONSE

 

Name

Type

Description

CP mandatory

CNP mandatory

Example

PAYID

string

identifier of the token transaction

 

Y

 

CardNumber

string

masked card number

 

Y

411111xxxxxxxx11

ExpMonth

Date

expiration date : month

 

Y

12

ExpYear

Date

expiration date : year

 

Y

22

Alias string token number   Y 0463708868771111

 

EXAMPLE 2

This example show request/response for a card not present transaction.

Example of request :

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <ns2:IPGApiActionRequest xmlns="http://ipg-online.com/ipgapi/schemas/v1" xmlns:ns2="http://ipg-online.com/ipgapi/schemas/ipgapi" xmlns:ns3="http://ipg-online.com/ipgapi/schemas/a1">

      <ns3:Action>

        <ns3:StoreHostedData>

          <ns3:StoreId>640500100</ns3:StoreId>

          <ns3:DataStorageItem>

            <ns3:CreditCardData>

              <CardNumber>XXXXXXXXXXXX1111</CardNumber>

              <ExpMonth>04</ExpMonth>

              <ExpYear>20</ExpYear>

            </ns3:CreditCardData>

            <ns3:TokenType>MULTIPAY</ns3:TokenType>

            <ns3:AssignToken>true</ns3:AssignToken>

          </ns3:DataStorageItem>

        </ns3:StoreHostedData>

      </ns3:Action>

    </ns2:IPGApiActionRequest>

  </soap:Body>

</soap:Envelope>

 

Example of response :

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">

  <SOAP-ENV:Header/>

  <SOAP-ENV:Body>

    <ipgapi:IPGApiActionResponse xmlns:ipgapi="http://ipg-online.com/ipgapi/schemas/ipgapi" xmlns:a1="http://ipg-online.com/ipgapi/schemas/a1" xmlns:v1="http://ipg-online.com/ipgapi/sche

mas/v1">

      <ipgapi:successfully>true</ipgapi:successfully>

      <ipgapi:DataStorageItem>

        <a1:CreditCardData>

          <v1:CardNumber>411111...1111</v1:CardNumber>

          <v1:ExpMonth>04</v1:ExpMonth>

          <v1:ExpYear>20</v1:ExpYear>

        </a1:CreditCardData>

        <a1:HostedDataID>0463708868771111</a1:HostedDataID>

      </ipgapi:DataStorageItem>

    </ipgapi:IPGApiActionResponse>

  </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

About us

We are far more than a worldwide leader. We are 300,000 hospitality experts placing people at the heart of what we do, and nurturing real passion for service and achievement beyond limits. We take care of millions of guests in our 5,000 addresses.