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:
- the sale amount is sent automatically to the Revolut terminal
- the customer completes the payment on the terminal
- 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
- Click on Reversal
- Follow the instructions displayed on the terminal
#Refunding a payment
- Enter the refund amount in cents
- Click on Refund
- 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.