Revolut Terminal

This guide allows communication with Revolut payment terminals. You can automatically send the payment amount to the terminal and receive the payment status directly inside Hiboutik.

#Configuration and usage

#Retrieving Revolut API keys

First, retrieve your API keys from your Revolut administration interface:

https://developer.revolut.com/docs/guides/accept-payments/get-started/generate-the-api-key

In the Revolut by Hiboutik application, enter:

  • your secret key
  • your public key

Multiple API key pairs can be added. This is useful for multi-store environments using different legal entities and different Revolut accounts.

Each key pair generates a dedicated API token for the application.

#Terminal configuration

Once the keys are configured, locations and associated terminals will automatically appear.

If your terminal does not appear, make sure that Pay at counter mode is enabled on the Revolut terminal.

For each terminal, configure:

  • the Hiboutik user
  • the payment methods triggering communication with the terminal

#Sale payment

During a sale, when the configured payment method is selected:

  1. the sale amount is sent automatically to the Revolut terminal
  2. the customer completes the payment on the terminal
  3. the payment status is automatically sent back to Hiboutik

#API communication with the terminal

Without using the sales interface, it is possible to send payment requests directly to the Revolut terminal using the API.

The API authentication token is automatically generated when saving the Revolut API keys.

#PHP example

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://revolut.hiboutik.net/api/',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => '{
    "amount": 100,
    "currency": "GBP",
    "terminal_id": "c3b7ebf0-75f2-40fb-9ca9-344ec64948dd",
    "reference" => "12345"
  }',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer <yourApiKey>'
  ),
));

$response = curl_exec($curl);

curl_close($curl);

echo $response;

#Transaction status polling

GET https://revolut.hiboutik.net/api/status/{transaction_id}
Authorization: Bearer <yourApiKey>

#Possible statuses

Status Description
pending Payment sent to terminal
processing Payment in progress
completed Payment successful
failed Payment failed
cancelled Payment cancelled

#History, cancellations and refunds

From the History section of the application, you can view all payments processed through Revolut.

For each transaction, you can:

  • cancel a transaction
  • issue a partial or full refund

#Cancelling a payment

  1. Click on Reversal
  2. Follow the instructions displayed on the terminal

#Refunding a payment

  1. Enter the refund amount in cents
  2. Click on Refund
  3. Follow the instructions displayed on the terminal

Important information

  • Pay at counter mode only accepts payments sent from Hiboutik or through the application API.
  • To manually enter an amount directly on the terminal, Pay at counter mode must be disabled.
  • Transactions made outside the country associated with the Revolut account may be rejected.
  • Multiple users can share the same terminal.
  • The terminal can also support Revolut Pay by displaying a QR Code directly on the terminal screen.

Send us a message

Contact us
  • 🇫🇷 +33 (0)1 48 78 40 06
  • 🇨🇭 +41 (0)21 519 00 17
  • 🇧🇪 +32 (0)2 318 82 77
  • 🇪🇸 +34 (0)912 69 39 94