Skip to main content

Hotels Channel Managers

Before you begin

This document outlines the process of payment card tokenization, where card information is received, tokenized, and the tokens are returned for secure payment processing. The integration involves making a request to MONEI's endpoint, specifying the channel manager for retrieving this information.

Payment card tokenization is a secure process where card information is replaced with tokens for enhanced security during payment transactions. This document details the tokenization process, supported channel managers, and provides integration guidelines.

Tokenization Process Overview

The payment card tokenization for our side involves the following key steps:

  1. Request Channel Manager Information: Make a request to our endpoint, specifying the desired channel manager to retrieve the cards information.
  2. Receive Card Information: As a PCI-compliant company, the system receives card information securely.
  3. Tokenization: The received card information is tokenized, and a response containing the tokens is generated.
  4. Return Tokens: The generated tokens are returned to the requesting entity for secure payment processing.

Integration

important

You will have to add your MONEI API Key on your request header in order to authenticate the request.

You can enable test mode and we will use Siteminder and Channex preprod URLs, you can enable it on your dashboard.

Siteminder

Siteminder is a widely used channel management system. We support payment card tokenization through the following API endpoint:

Endpoint: https://api.monei.com/v1/partner/tokens

Method: POST

Request:

{
"accountId": "<monei_account_id>",
"hotelCode": "<hotel_code>",
"sessionId": "<uuid4>",
"channelManagerType": "SITEMINDER",
"siteminderName": "<siteminder_name>",
"username": "<username>",
"password": "<password>",
"echoToken": "<uuid4>"
}
  • accountId string - Unique identifier representing the account ID from MONEI which the payment will be transfered. It is a UUID (Universal Unique Identifier).
  • hotelCode string - Code that uniquely identifies the hotel. This is provided from Siteminder
  • sessionId string - A universally unique identifier (UUID) representing the session.
  • channelManagerType string - Indicates the name of channel manager. It is a String with two possible values: SITEMINDER or CHANNEX. In this case we're going to use SITEMINDER.
  • siteminderName string - The name of your account with Siteminder.
  • username string - The username used for authentication. This is provided from Siteminder.
  • password string - The password associated with the provided username, for authentication purposes. This is provided from Siteminder.
  • echoToken string - Globally unique identifier for the request, value will be returned as an EchoToken in the response.
note

When acting as a proxy for Siteminder, the same response is returned as if directly interacting with them, with the addition of the <MoneiResponse> field containing the payment token information.

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header />
<SOAP-ENV:Body>
<OTA_ResRetrieveRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0"
TimeStamp="2024-01-17T11:38:03+00:00" EchoToken="uuid4">
<Success />
<ReservationsList>
<HotelReservation CreateDateTime="2024-01-16T16:47:07+00:00" ResStatus="Book">
<!--
All the siteminder response
<POS>
<RoomStays>
<ResGuests>
... -->
<MoneiResponse>
<payment_token>298b7c3bc2951ca0513e0e07d495b33ddf29d7ae</payment_token>
<expiration>1843430400</expiration>
<type>credit</type>
<last4>4414</last4>
<brand>MC</brand>
<cardHolderName>Joan Sanfeliu</cardHolderName>
</MoneiResponse>
</ResGlobalInfo>
</HotelReservation>
</ReservationsList>
</OTA_ResRetrieveRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
  • <MoneiResponse>: This is a container element that encapsulates the Monei response information.
  • <payment_token>: MONEI's created token of booking card information. This token is typically used in subsequent transactions instead of the actual card details for security reasons.
  • <expiration>: Indicates the expiration date of the payment token.
  • <type>: Specifies the type of the payment method, in this case, "credit." It indicates that the tokenized information is related to a credit card.
  • <last4>: Represents the last four digits of the card number.
  • <brand>: Denotes the brand or card network associated with the card. In this example, "MC" likely stands for MasterCard.
  • <cardHolderName>: Provides the name of the cardholder associated with the card, this field contains the name of the person to whom the card belongs.

These elements collectively provide details about a tokenized payment method, allowing for secure and privacy-enhanced transactions without exposing sensitive card information.

Channex

Channex is another channel management system that seamlessly integrates with the tokenization process. We expose the same endpoint, but changing the channelManagerType parameter to CHANNEX:

Endpoint: https://api.monei.com/v1/partner/tokens

Method: POST

Request:

{
"accountId": "<monei_account_id>",
"sessionId": "<uuid4>",
"channelManagerType": "CHANNEX",
"channexId": "<your_channex_api_key>",
"propertyId": "<property_id>"
}
  • accountId string - Unique identifier representing the account ID from MONEI which the payment will be transfered. It is a UUID (Universal Unique Identifier).
  • sessionId string - A universally unique identifier (UUID) representing the session.
  • channelManagerType string - Indicates the name of channel manager. It is a String with two possible values: SITEMINDER or CHANNEX. In this case we're going to use CHANNEX.
  • channexId string - Channex API key.
  • propertyId string - Optional. The ID of the property you want to filter by, if not provided will return all the Booking Revision Feed.

Response:

[
{
"paymentToken": "b27b97a729ab9cefa8765eccf25d636b13f887cc",
"expireAt": 2678401,
"paymentMethod": {
"method": "card",
"card": {
"country": "US",
"last4": "8164",
"bank": "Wex Bank",
"bin": "53463306",
"cardholderName": "Joan Sanfeliu",
"expiration": 1767225600,
"type": "credit",
"brand": "mastercard"
}
},
"attributes": {
"id": "cbc57822-912c-4663-a9e5-3930b7539958",
"meta": {
"ruid": "Ykc2RlIyh9YUA66gHNu0pFCmOkmrTcr9qWngFe1gY4xjUlSmD+RVGXDjWrLMNL75u7DwI7i7eM9Vu047Nzj/TuNw+WkXmHOFc="
},
"status": "new",
"currency": "GBP",
"amount": "615.00",
All the rest of the channex response without card number exposed ...
}
}
]
  • payment_token: MONEI's created token of booking card information. This token is typically used in subsequent transactions instead of the actual card details for security reasons.
  • expireAt: Indicates the expiration date of the payment token.
  • paymentMethod: Indicates more information about the payment method that the user used on his booking.