Contrôles : géolocalisation, session et expiration des liens
REDA Pay dispose d’un petit ensemble de contrôles qui décident si une tentative de paiement peut aboutir, par opposition aux paramètres qui décident de ce que l’écran affiche. Ils se trouvent sur le Processing Account, sur l’enregistrement utilisateur et, pour les liens, sur le Pay Order. Cet article explique chaque contrôle, le message que voit le payeur lorsqu’il le bloque et la façon de l’ajuster.
Récapitulatif
| Contrôle | Où | Ce qu’il empêche | Message que voit le payeur |
|---|---|---|---|
| Expiration de la session de paiement | Processing Account → Payment Session Duration (Minutes) | Terminer un écran de paiement ouvert depuis trop longtemps, ou en réutiliser un mis en favori | « Invalid request. Payment session is expired. » |
| Expiration de la session invité | Pay Profile → Guest Session Duration (Minutes) | Terminer un écran d’enregistrement de moyen ouvert depuis trop longtemps | « Invalid request. New method session is expired. » |
| Expiration du lien | Processing Account → Link Expiration (Minutes) ; par lien, sur le Pay Order | Payer un lien après son expiration | « Invalid request: Order link has expired. » |
| Géolocalisation | Processing Account → Enforce Geolocation et Enforce Geolocation For | Payer sans partager la position de l’appareil | « You must share geo-location access on browser or device to process the payment. » |
| Demande en double | Intégré | Appuyer deux fois sur le bouton de paiement dans la même session | « Our systems have detected a duplicate payment request. We will only consider the first payment request. » |
| Sens par utilisateur | Utilisateur → REDA Pay - Disable Receipts, REDA Pay - Enable Disbursements | Un utilisateur qui encaisse ou effectue des versements sans y être autorisé | « No transfers are allowed. [Transfer Type] » à l’écran ; « You are not authorized to process disbursements. » si un ordre est enregistré par un autre moyen |
Expiration de la session de paiement
Chaque écran de paiement s’exécute dans une session chiffrée créée à son ouverture. La session indique qui paie, avec quel profil et quel compte, et expire après le Payment Session Duration (Minutes) du compte (15 minutes si le champ est vide). Un payeur qui met plus de temps, ou qui rouvre l’adresse d’un écran mise en favori ou copiée, voit « Invalid request. Payment session is expired. » et doit recommencer depuis l’enregistrement, la page du portail ou le lien.
Allongez la durée pour les canaux où les payeurs sont plus lents (des résidents sur mobile qui saisissent un nouveau compte bancaire) et gardez-la courte pour les écrans du personnel. Trente minutes est un choix courant pour les portails.
L’équivalent pour l’écran d’enregistrement d’un moyen de paiement est le Guest Session Duration (Minutes) du Pay Profile, lui aussi de 15 minutes s’il est vide. Il s’applique aux liens « demander vos coordonnées bancaires » envoyés aux fournisseurs ; consultez Demander ses coordonnées bancaires à un fournisseur.
Expiration du lien
Un lien de paiement est valable à partir de la création de l’ordre Link et jusqu’à l’écoulement du Link Expiration (Minutes) du Processing Account ; l’échéance est enregistrée sur l’ordre dans Link Expiration Date Time, et le Has Active Link de l’ordre se désactive à l’expiration, au paiement ou à la révocation. Un lien créé alors que les minutes sont vides n’est jamais actif : le client voit « Invalid request » et rien ne peut être payé. Définissez les minutes avant que quiconque ne crée de liens. Les valeurs habituelles vont de 1440 (un jour) à 10080 (une semaine).
Pour clore un lien avant l’échéance, ouvrez le Pay Order et utilisez Revoke Order ; consultez Révoquer un lien de paiement.
Géolocalisation
REDA Pay peut enregistrer d’où un paiement a été effectué. Lorsque le payeur confirme, le navigateur demande l’autorisation de partager la position de l’appareil, et les coordonnées sont enregistrées sur le Pay Order dans Geo Latitude et Geo Longitude (pour les utilisateurs connectés, l’IP Address est aussi enregistrée). Vous décidez si le partage est facultatif ou obligatoire :
- Enforce Geolocation : les types d’ordre pour lesquels la position est obligatoire : Immediate, Schedule, Link.
- Enforce Geolocation For : les types d’utilisateur concernés : Internal, Community, Guest.
L’exigence ne s’applique que là où les deux listes se recoupent : par exemple, Link et Guest rendent la position obligatoire pour quiconque paie un lien sans se connecter, et facultative partout ailleurs. Un payeur qui refuse la demande du navigateur voit « You must share geo-location access on browser or device to process the payment. » et ne peut pas continuer tant qu’il ne l’a pas autorisée.
Où se définissent la géolocalisation et la durée de session. Les deux listes doivent se recouper pour que la position soit obligatoire.
La capture peut être désactivée pour une page avec le paramètre de composant Skip Geo-Location Capture, ou pour une URL avec rpay__geoskip=1. Désactiver la capture sur une page où la position est exigée bloque tous les paiements de cette page : utilisez l’un ou l’autre.
Protection contre les doublons
Dans une même session de paiement, le bouton de paiement ne fonctionne qu’une fois. Un second clic (un double-clic, ou un nouveau clic pendant que la première demande est en cours) est refusé avec « Our systems have detected a duplicate payment request. We will only consider the first payment request. » La première demande se poursuit normalement. Payload applique aussi ses propres règles de détection des doublons ; les questions à leur sujet sont à adresser à Payload.
Commutateurs de sens par utilisateur
Deux cases à cocher de l’enregistrement utilisateur décident du sens des paiements qu’une personne peut effectuer :
| Champ | Par défaut | Signification |
|---|---|---|
| REDA Pay - Enable Disbursements | décochée | Cochez-la pour permettre à cet utilisateur d’effectuer des décaissements. Personne ne peut effectuer de versement tant qu’elle n’est pas cochée |
| REDA Pay - Disable Receipts | décochée | Cochez-la pour empêcher cet utilisateur d’encaisser |
Lorsqu’un utilisateur ouvre un écran de paiement et qu’aucun sens ne lui est permis, REDA Pay affiche « No transfers are allowed. [Transfer Type] ». Lorsque les deux sont permis et que le compte accepte les deux, l’utilisateur voit d’abord « Select Transfer Type ». Consultez Qui peut faire quoi pour le chemin dans la Configuration.
Autres limites à connaître
| Limite | Où |
|---|---|
| Quels moyens de paiement et quels sens un compte accepte | Processing Account → Allowed Pay Methods, Allowed Transfer Type |
| Quels moyens, sens et comptes un client peut utiliser | Pay Customer → Allowed Payment Methods, Allowed Transfer Type, Applicable Processing Accounts ; consultez Règles par client |
| Quels moyens un lien accepte | Choisis à la création du lien : Do Not Accept Card, Do Not Accept ACH |
| Quels boutons et moyens une page propose | Paramètres du composant et paramètres d’URL ; consultez la Référence des paramètres des composants |
Erreurs à éviter
| Erreur | Ce qui se passe | Correction |
|---|---|---|
| Link Expiration (Minutes) vide | Tous les liens sont inutilisables dès leur création | Définissez les minutes sur chaque compte qui crée des liens |
| Exiger la géolocalisation pour les utilisateurs Internal sur des postes partagés | Le personnel doit autoriser la position dans chaque navigateur | Exigez-la uniquement pour Guest ou Community, sauf si votre politique en demande davantage |
| Skip Geo-Location Capture sur une page où elle est exigée | Aucun paiement ne peut aboutir sur cette page | Retirez l’un des deux |
| Session trop courte pour le portail | Plaintes « Payment session is expired. » | Augmentez le Payment Session Duration sur le compte |
| Activer les décaissements pour tout le monde | N’importe quel membre du personnel peut verser de l’argent | Activez-les uniquement pour les utilisateurs dont c’est le rôle |
Questions fréquentes
Non. Elle est enregistrée sur l’ordre pour vos archives et vos rapports ; REDA Pay ne bloque pas de paiement en fonction de la position.
Le délai commence à l’ouverture de l’écran. Si un payeur ouvre l’écran et s’absente, la session expire ; il lui suffit de le rouvrir.
Non. Un lien a toujours une expiration, calculée à partir des minutes du compte au moment de sa création. Choisissez une valeur longue.