Search

Are you looking for test card numbers?

Would you like to contact support?

Plugin icon

Oracle Opera

Use Oracle Opera to process payments for your hospitality business.

Oracle Opera is a property management platform, providing enterprise point-of-sale (POS) and back-office functionality to support a wide range of hospitality and property management operations.

Adyen payment terminals use Oracle Payment Interface (OPI) 6.2 to integrate to Oracle Opera. With Opera, you can tokenize your guest's payment information and store the tokens in your Oracle database.

You can also create OPI tokens for ecommerce transactions. See get an OPI token for online payments for more information.

Supported versions

You can use our plugin to integrate with all Opera workstations that are compatible with OPI. With our plugin, we can support on-premise, hosted, and cloud setups.

Get started

Before you integrate Oracle Opera with Adyen payment terminals, do the following:

How it works

OPI sends all transaction messages directly from your Opera workstation to Adyen's payment terminal.

Diagram

Features

With Adyen's plugin, you can use the following transaction types provided by Oracle:

  • Pre-Authorization: Performed when a guest checks-in. An amount is held temporarily for authorization, but it is not a transaction charge.
  • Top-up Authorization: At the end of each day, the pre-authorized amount can be increased with a top-up transaction.
  • Authorization Release: Returns the pre-authorized amount to the guest's account.
  • Sales Completion: Performed when a guest checks out. The transaction is completed by charging the final amount.
  • Sale/Purchase: Charges the guest's card directly without a pre-authorization.
  • Refund: Returns the authorized amount to the guest's account.
  • Void: Reverses the original Sale/Purchase or Sales Completion transaction. This transaction type is only supported within the same settlement day.
  • Reversal: If the connection between the Oracle Hospitality POS system and the OPI terminates before the financial transaction is complete, or the transaction times out, then the OPI reverses the transaction made.
  • Get Token: Requests the cardholder data entered into the terminal. It's then sent to Adyen and exchanged for a token. The token can then be used for further top-ups or final settlement.
  • Get Token Bulk: Exchanges a single token or swaps the entire OPERA database of card data for a token. This transaction type is used for:
    • Migration of payment data when you move to Adyen's services.
    • Reservations from third parties.
    • Manual card entry in Opera for phone reservations.

Get an OPI token for online payments

Aside from POS payments, you can also create OPI tokens for online payments that your guests make. This way, you can fully benefit from unified commerce and tokenize guest payment information from multiple channels.

To be able to retrieve OPI tokens for ecommerce payments, contact our Support Team. They can activate the correct settings for your merchant account.

Once the settings in your account are active, you can request an OPI token in your /payments request. The response will return an OPI token that you can use in your Oracle Opera integration. Store the OPI token in your Oracle database.

To return the recurringDetailReference in the /payments response, follow the steps in tokenization.

To get an OPI token, in your /payments request, specify the following:

Parameter Setting
additionalData.opi.includeTransToken true
shopperInteraction Ecommerce
shopperReference not_provided
recurringProcessingModel CardOnFile
storePaymentMethod true

For example:

/payments request
  {
  "amount":{
        "value":"1000",
        "currency":"EUR"
        },
  "reference":"YOUR_ORDER_NUMBER",
  "merchantAccount":"YOUR_MERCHANT_ACOUNT",
  "paymentMethod": {
        "type": "scheme",
        "encryptedCardNumber": "test_4111111111111111",
        "encryptedExpiryMonth": "test_03",
        "encryptedExpiryYear": "test_2030",
        "encryptedSecurityCode": "test_737"
        },
  "shopperInteraction":"Ecommerce",
  "shopperReference":"not_provided",
  "recurringProcessingModel": "CardOnFile",
  "storePaymentMethod": true,
  "additionalData":{
        "opi.includeTransToken": true
        }
  }
/payments response
  {
    "additionalData":{
        "opi.transToken":"GENERATED_OPI_TOKEN",
        "recurring.recurringDetailReference":"8415698462516992",
        "recurring.shopperReference":"GENERATED_UNIQUE_SHOPPER_ID",
        ...
    },
    "pspReference":"8515815919501547",
    "resultCode":"Authorised",
    "amount": {
        "currency": "EUR",
        "value": 1000
    },
    "merchantReference": "YOUR_ORDER_NUMBER"
  }