Terminal de paiement Revolut

Ce guide permet de communiquer avec les terminaux bancaires Revolut. Vous pourrez envoyer automatiquement le montant à encaisser sur le terminal et recevoir en retour le statut du paiement directement dans Hiboutik.


Configuration et utilisation

Récupération des clés API Revolut

Avant toute chose, vous devez récupérer vos clés API depuis votre interface d’administration Revolut :

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

Dans l’application Revolut by Hiboutik, renseignez :

  • votre clé secrète
  • votre clé publique

Il est possible d’ajouter plusieurs paires de clés API. Cela permet notamment de gérer les cas de multi-boutiques avec plusieurs entités juridiques et donc plusieurs comptes Revolut distincts.

À chaque ajout d’une paire de clés, une clé API spécifique à l’application est générée. Cette clé vous permettra d’interagir avec l’API de l’application.


Configuration des terminaux

Une fois les clés renseignées, les emplacements ainsi que les terminaux associés à ces emplacements apparaîtront automatiquement.

Si votre terminal n’apparaît pas, vérifiez que le mode Pay at counter est bien activé sur le terminal Revolut.

Pour chaque terminal, vous devez renseigner :

  • l’utilisateur Hiboutik concerné
  • le ou les modes de paiement qui déclencheront la communication avec le terminal

Possibilités de configuration

  • plusieurs terminaux associés à des utilisateurs différents
  • plusieurs lignes pour un même terminal si celui-ci est partagé entre plusieurs utilisateurs
  • activation de l’envoi vers le terminal pour plusieurs modes de paiement

Encaissement d’une vente

Lors d’une vente, lorsque vous cliquez sur le mode de paiement configuré :

  1. le montant de la vente est automatiquement envoyé au terminal Revolut
  2. le client réalise le paiement sur le terminal
  3. le statut du paiement est automatiquement remonté dans Hiboutik

Les informations relatives au paiement sont alors enregistrées directement dans la vente.


Dialogue avec le TPE via API

Sans passer par l’interface de vente, il est possible d’envoyer directement au terminal Revolut les informations relatives au montant à encaisser via API.

Le token d’authentification à l’API est généré automatiquement lors de l’enregistrement de vos clés API Revolut. Il apparaît à côté de chaque paire de clés enregistrée dans l’application.

Cette fonctionnalité permet notamment de gérer des bornes de commande ou des systèmes externes connectés à Hiboutik.

Des exemples de codes sources de bornes sont disponibles en téléchargement depuis votre compte Hiboutik.


Utilisation en PHP

Envoi du montant au TPE

<?php

$curl = curl_init();

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

$response = curl_exec($curl);

curl_close($curl);

echo $response;

Consultation du statut d’une transaction

Après l’envoi du montant au TPE, l’API retourne un identifiant de transaction. Cet identifiant permet de consulter l’évolution du paiement jusqu’à son état final.

Requête

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

Exemple de réponse en attente

{
  "transaction_id": "12345",
  "status": "processing"
}

Exemple de réponse en succès

{
  "transaction_id": "12345",
  "status": "completed",
  "payment_id": "pay_xxxxxxxxx"
}

Exemple de réponse en échec

{
  "transaction_id": "12345",
  "status": "failed",
  "reason": "payment_declined"
}

Statuts possibles

Statut Description
pending Le paiement a été envoyé au terminal
processing Le paiement est en cours sur le terminal
completed Le paiement a été validé
failed Le paiement a échoué
cancelled Le paiement a été annulé

Consultation de l’historique, annulations et remboursements

Depuis la rubrique Historique de l’application, vous pouvez consulter l’ensemble des encaissements effectués via Revolut.

Pour chaque transaction, vous pouvez :

  • annuler une opération
  • effectuer un remboursement partiel ou total

Annulation d’un paiement

  1. Cliquez sur Reversal
  2. Suivez ensuite la procédure affichée sur le terminal

Remboursement d’un paiement

  1. Indiquez le montant à rembourser en centimes
  2. Cliquez sur Refund
  3. Suivez ensuite la procédure affichée sur le terminal

Informations importantes

  • Le mode Pay at counter permet uniquement d’accepter les paiements envoyés depuis Hiboutik ou via l’API de l’application.
  • Pour saisir un montant manuellement sur le terminal, le mode Pay at counter doit être désactivé.
  • Les transactions effectuées hors du pays associé au compte Revolut peuvent être refusées.
  • Plusieurs utilisateurs peuvent partager le même terminal.
  • Le terminal peut également proposer le paiement via Revolut Pay avec affichage d’un QR Code directement sur l’écran du terminal.
Envoyez nous un message

Cliquez ici

  • FR +33 (0)1 48 78 40 06
  • CH +41 (0)21 519 00 17
  • BE +32 (0)2 318 82 77
  • ES +34 (0)912 69 39 94