2 points par arcoding 4 시간 전 | 6 commentaires | Partager sur WhatsApp

J’ai créé et publié en tant que projet personnel un système open source de traitement des paiements appelé LOSLES.

L’idée centrale de ce projet est la suivante : « détection des virements bancaires + utilisation du montant lui-même comme ID de commande ».
Un paiement classique par virement bancaire passe généralement par les étapes suivantes :

  • inscription auprès d’un prestataire de paiement
  • immatriculation de l’entreprise
  • examen du dossier
  • intégration de l’API
  • frais de paiement
  • attente du règlement

Pour les développeurs indépendants ou les petits projets, cela représente souvent une charge assez lourde.
Je me suis donc demandé : « ne pourrait-on pas identifier une commande uniquement à partir du montant ? » C’est de là qu’est né ce projet.

Par exemple, si le prix d’un produit est de 10 000 wons :

Première commande :
10 000 wons

Deuxième commande du même produit dans les 30 minutes :
9 999 wons

Troisième commande :
9 998 wons

Quatrième commande :
9 997 wons
...

On attribue ainsi un montant unique à chaque commande.
(Dans l’implémentation réelle, on commence à 99 wons, puis on déduit 98, 97, 96 wons, etc. sous forme de remise.)
Le serveur peut donc identifier de quelle commande il s’agit simplement à partir du montant, sans qu’il soit nécessaire de saisir un numéro de commande distinct.

L’application Android LOSLES a pour rôle de détecter les notifications de rechargement KakaoPay et de les transmettre automatiquement à un serveur externe.
En utilisant l’autorisation d’accès aux notifications d’Android (Notification Listener), elle surveille en temps réel les notifications des applications KakaoTalk et KakaoPay,
et lorsqu’une notification contenant un montant de rechargement est reçue, elle extrait ce montant et envoie une requête POST à l’URL du serveur configuré.
Utilisé avec le serveur web LOSLES, cela permet d’automatiser tout le processus, depuis le versement de l’utilisateur jusqu’au traitement de la validation du paiement.

Flux complet

  1. L’utilisateur crée une commande
  2. Le serveur attribue un montant unique
  3. L’utilisateur effectue un virement de ce montant (seul KakaoPay est actuellement pris en charge)
  4. L’application Android détecte la notification de rechargement
  5. Le montant est envoyé au serveur
  6. Le serveur fait la correspondance entre le montant et la commande
  7. Le paiement est automatiquement marqué comme terminé

Autrement dit,

le paiement est identifié non pas par « qui a envoyé »,
mais par « combien a été envoyé ».

Points d’attention

Il est important de noter que LOSLES n’est pas un projet destiné à remplacer un prestataire de paiement officiel.
Pour les services à grande échelle, les fonctions de remboursement, de règlement, de reçu, de gestion des litiges et de sécurité fournies par les prestataires de paiement restent essentielles.
En revanche, dans le cas d’un projet personnel ou de la vente à petite échelle de contenus numériques,
la situation consistant à « devoir commencer par immatriculer une entreprise puis passer l’examen d’un prestataire de paiement pour pouvoir encaisser un paiement »
m’a semblé excessive,

et ce projet est une expérimentation d’une manière d’implémenter un paiement automatisé sans passer par ce processus.
Le projet est actuellement en bêta et je recueille des retours.
J’aimerais en particulier avoir des avis sur les points suivants :

  • les problèmes potentiels de l’identification basée sur le montant
  • la manière de traiter les commandes en double
  • des idées d’amélioration de la sécurité
  • les retours de personnes ayant une expérience d’exploitation réelle

Merci.

6 commentaires

 
cichol 46 분 전

Par exemple, dans un restaurant où le kimchi jjigae coûte aussi 10 000 wons et le doenjang jjigae aussi 10 000 wons, si une commande de 10 000 wons arrive, cela veut-il dire qu’on ne peut pas distinguer quel plat a été commandé ?

 
arcoding 40 분 전

Même pour des produits différents au même prix, il faut appliquer des remises différentes d’1 won chacune. En usage réel, vous n’enregistrez pas les produits sur le serveur LosLes : le système regarde le prix catalogue des articles et applique automatiquement des remises différentes.

 
regentag 1 시간 전

Alors, il faudrait continuer à vendre le même produit à des prix différents ?

 
arcoding 38 분 전

C’est à moitié vrai et à moitié faux : le prix catalogue est bien de 10 000 wons, mais
pour la première demande de paiement dans les 30 minutes, il y a une remise de 99 wons,
pour la deuxième demande de paiement dans les 30 minutes, une remise de 98 wons, et ainsi de suite. Il semble que cela n’ait pas été correctement expliqué dans le texte.

 
zihado 2 시간 전

Si le client envoie le mauvais montant par erreur, l’appariement sera rompu.

 
arcoding 1 시간 전

C’est effectivement le principal inconvénient.
Pour des projets de petite taille où il est possible de répondre manuellement aux demandes en DM, ça va,
mais pour une grande entreprise, il semble préférable de l’utiliser après avoir signé un contrat avec un prestataire de paiement.