Skip to main content

Payment Interface (POS)

  • Payment

Connect your POS to our Payment connector.

Version
1.0.0
Status
Live
Incident
No incident

This service can be used by the POS Partner (Merchant) to initiate a Payment via a Payment Terminal or via an online channel.

 

COMPATIBILITY

 

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

 

REQUEST

 

Type Endpoint
POST /payment/v1/interface/pos/payment

 

PARAMETERS

 

Name

Type

Description

CP mandatory

CNP mandatory

Example

ServerName

string

Name of the calling server.
This is a mandatory field but can contain a default value, this is the server name from which the workstation will send the request

Y

Y

S-RF-H9732-FS1

WorkStationName

String

Name of the calling station.

The workstation must be linked to the payment terminal to awake it in case of card present message. The value of this field must be communicated upstream to our support team to give the permissions to the requests coming from this station and to be able to configure the possible associated terminals in the case of CP.

Y

Y

L-EU-H2323-FO

MerchantCode

String

Name of the calling origin (Merchant code).
This is the hotel code (if hotel), restaurant code (if restaurant) ... this value is useful for the generation of the unique identifier for traceability purposes in our system.

Y

Y

0449

PartnerCode String

Name of the calling partner (Partner code).

This code will allow to retreive transactions in the payment provider extranet. 
This is the partner code (consumer of our API). The value is communicated upstream for each partner by our support team, for example for the PMS FOLS the value is "FOLS".

Y Y FOLS
PosCode String Name of calling point of sale (Hotel, Restaurant, Bar, Spa…).
Les valeurs possibles:
"H" for Hotels
"R" for Restaurants
"S" for Spa
...

 
Y Y H

Token

string

Card token which allow Accor to know if client is present or not.
It is the value recovered upstream by another channel (online) after the tokenization of the card by our tokenization partner.

N

Y

8766778345690119

ExpirationDate

string

Card expiration date

Format="YYMM"

N

Y

2206

Amount

String

Transaction amount

Y

Y

120.00

Currency

String (200)

Transaction currency

Y

Y

EUR

Device

Integer

Type of device.
This is the value to specify whether the transaction is for the CP or CNP case.

Y

Y

CNP : 0

CP : 1

TransactionId String (50)

Transaction reference for our Payment Partner regarding the previous payment transaction.

Should be present but null in this use case. This is the identifier of the payment transaction already made, this value is generated by our Payment Partner and is useful for other purposes than payment (or traceability).
For the payment use case, the input value is a null value and the output value will be not null.

Y Y null

 

RESPONSE

 

Name

Type

Description

CP mandatory

CNP mandatory

Example

responseCode

String

-> 0 : if response is OK for CNP

-> 99 : if response is KO for CNP 

-> 10 : if response is OK for CP 

 

Note: for CP, a polling message will follow to validate definitively the transaction.

Y

Y

0

responseMessage

String

-> OPERATION_OK for CNP

-> DeviceOut / OPERATION_KO for CNP 

-> OPERATION_IN_PROGRESS  for CP 

 

Note: this response message can contain the description of the error.

Y

Y

OPERATION_OK

responseIdentifier

String

Response identifier is the payment transaction Id generated by Accor Payment Interface (POS) API. It is useful for traceability purposes.
This value is useful to do the polling too to recover the final payment status in the case CP when calling Check service (by replacing {transactionId}) in GET URL
/payment/v1/interface/pos/transactions/{transactionId}

Y

N

H9732FO20092518073C

responseObject

String

It represents response object  (see details below).

This object if it exists and if it is not-null (CP), it contains the details of the payment transaction.

N

Y

 

nextPollingTime

String

Timer reference for the next transaction in case of CP.

Time is in second. It is a useful value as a proposal (to avoid unnecessary calls) for the duration before the next possible polling but it is not a constraint/obligation. Our API remains accessible and available at all times to retrieve the final payment status.

Y

N

20

Detail of the object "responseObject"

Name

Type

Description

CP mandatory

CNP mandatory

Example

Token

string

This is the value recovered after tokenization of the card inserted in the terminal by the client for the CP use case.

N

Y

8766778345690119

ExpirationDate

string

Card expiration date

Format: “YYMM”

N

Y

2406

 

Amount

String

Transaction amount

N

Y

120.00

Currency

String (200)

Transaction currency

Format “XXX”

N

Y

EUR

CardType

String (200)

Card type : VI, CA, AX

Other card : JC, DC, CU, PF, BC, RU

A mapping could be done depending partner.

N

Y

VI

ClientTicket

String (1000)

Customer receipt if payment is OK (CNP)

N

Y

 

MerchantTicket

String (1000)

Merchant receipt if payment is OK (CNP)

N

Y

 

ApprovalCode

String (8)

Acquirer approval code for the transaction.

N

Y

041016

TransactionId

String (50)

Transaction reference for our Payment Partner regarding the payment transaction.

Should be present in CNP use case. This is the identifier of the payment transaction already made, this value is generated by our Payment Partner and is useful for other purposes than payment (or traceability).
For the payment use case, the input value is a null value and the output value will be not null.

N

Y

84547193121

 

ResponseCode

String

-> 0 : if response is OK for CNP

-> 99 : if response is KO for CNP 

-> 10 : if response is OPERATION_IN_PROGRESS for CP 

 

Note: for CP, a polling message will follow to validate definitely the transaction.

N

Y

0

ResponseMessage

String

-> OPERATION_OK for CNP

-> DeviceOut / OPERATION_KO for CNP/CP

-> OPERATION_IN_PROGRESS for CP

 

Note: this response message can contain the description of the error.

N

Y

OPERATION_OK

 

POLLING MESSAGE

 

This service can be used by the POS Partner (Merchant) to retrieve a transaction status. (only for CP model)

Request

Type Endpoint
GET /payment/v1/interface/pos/transactions/{transactionId}

Response

Name Description
status

OK : the transaction has been correctly processed.

KO : the transaction has not been correctly processed.

In progress : the transaction has not a definitive status yet.

 

EXAMPLE 1

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

Example of request :

{

   "Token":"",

   "ExpirationDate":"",

   "Amount":"80.00",

   "Currency":"EUR",

   "Device":"1",

   "TransactionId" : "",

   "ServerName":"S-RF-H9732-F1",

   "WorkStationName":"L-5C046FG", 

   "MerchantCode":"9732",

   "PartnerCode":"FOLS", 

   "PosCode":"H"

}

Example of response :

    "responseCode": "10", 

    "responseMessage": "OPERATION_IN_PROGRESS",

    "responseIdentifier": "H9732FO20092518073C", 

    "responseObject": "null", 

    "nextPollingTime": "20" 

}

 

Example of response after polling message

3 possibilities:

  • same response as response OK for Card not present.
  • same response as response KO for Card not present.
  • Same response as in progress response but with different nextPollingTime value. 

 

EXAMPLE 2

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

Example of request :

{

   "Token":"8766778345690119",

   "ExpirationDate":"2212",

   "Amount":"80.00",

   "Currency":"EUR",

   "Device":"0",

   "TransactionId" : "",

   "ServerName":"S-RF-H9732-FS1",

   "WorkStationName":"L-5C046FG", 

   "MerchantCode":"9732",

   "PartnerCode":"FOLS", 

   "PosCode":"H"

}

Example of response OK :

    "responseCode": "0",

    "responseMessage": "OPERATION_OK",

    "responseIdentifier": "null",

    "responseObject": {

        "responseCode": "0",

        "responseMessage": "OPERATION_OK",

        "currency": "EUR",

        "cardType": "5",

        "clientTicket": "APOL MERCURE VALENCIENNES CENTRE

       Musterstr. 01          

       Musterstadt 90111        

      GERMANY            

--------------------------------

24.09.20                   17:16

          KUNDENBELEG          

--------------------------------

TERMINAL: 54055584              

HÃNDLER: 147777778              

PAN: XXXXXXXXXXXX0119           

KARTENTYP: Visa                 

MANUELLES STORNO                

MANUELLER EINTRAG               

BETRAG:               190,00 EUR

REFERENZ: 770233171212          

GENEHMIGUNGS-NR.: SM5845        

              (00)              

     AUTORISIERUNG ERFOLGT      

 KEINE KARTENINH. VERIFIZIERUNG 

BITTE FUR IHRE UNTERLAG. AUFBEW.",

        "merchantTicket": "APOL MERCURE VALENCIENNES CENTRE

         Musterstr. 01          

      Musterstadt 90111        

            GERMANY             

--------------------------------

24.09.20                   17:16

          HÃNDLERBELEG          

--------------------------------

TERMINAL: 54055584              

HÃNDLER: 147777778             

PAN: XXXXXXXXXXXX0119           

KARTENTYP: Visa                 

MANUELLES STORNO                

MANUELLER EINTRAG               

BETRAG:               190,00 EUR

REFERENZ: 770233171212          

GENEHMIGUNGS-NR.: SM5845       

             (00)              

     AUTORISIERUNG ERFOLGT      

 KEINE KARTENINH. VERIFIZIERUNG 

BITTE FUR IHRE UNTERLAG. AUFBEW.",

        "approvalCode": "041016",

        "token": "8766778345690119",

        "expirationDate": "2212",

        "amount": "80.00",

        "transactionId": "84547193121"

    },

    "nextPollingTime": "null"

}

 

Example of response KO :

    "responseCode": "99",

    "responseMessage": "DeviceOut",

    "responseIdentifier": "null",

    "responseObject": "null",

    "nextPollingTime": "null"

}

 

 

    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.