2 puntos por arcoding 4 시간 전 | 6 comentarios | Compartir por WhatsApp

Publiqué como proyecto personal un sistema de procesamiento de pagos de código abierto llamado LOSLES.

La idea central de este proyecto es: "detección de transferencias bancarias + usar el monto mismo como si fuera un ID de pedido".
Un pago típico por transferencia bancaria normalmente sigue un proceso como este.

  • Registro en una empresa PG
  • Registro como negocio
  • Revisión/aprobación
  • Integración de API
  • Generación de comisiones por pago
  • Espera de liquidación

Para desarrolladores individuales o proyectos pequeños, muchas veces esto resulta bastante pesado.
Por eso lo hice pensando: "¿No se podría identificar un pedido solo con el monto?"

Por ejemplo, si el precio del producto es de 10,000 won,

Primer pedido:
10,000 won

Segundo pedido del mismo producto dentro de 30 minutos:
9,999 won

Tercer pedido:
9,998 won

Cuarto pedido:
9,997 won
...

De esta manera, se asigna un monto único a cada pedido.
(En la implementación real, se empieza desde 99 won y luego se van descontando 98, 97, 96... como monto de descuento).
Así, el servidor puede identificar qué pedido es solo viendo el monto, sin necesidad de ingresar un número de orden por separado.

La app de Android de LOSLES se encarga de detectar notificaciones de recarga de KakaoPay y enviarlas automáticamente a un servidor externo.
Usando el permiso de acceso a notificaciones de Android (Notification Listener), monitorea en tiempo real las notificaciones de las apps de KakaoTalk y KakaoPay,
y cuando llega una notificación que incluye el monto de recarga, extrae ese monto y envía una solicitud POST a la URL del servidor configurada.
Si se usa junto con el servidor web de LOSLES, se puede automatizar todo el proceso desde el depósito del usuario hasta el marcado de pago completado.

Flujo completo

  1. El usuario crea un pedido
  2. El servidor asigna un monto único
  3. El usuario hace una transferencia bancaria por ese monto (por ahora solo se soporta KakaoPay)
  4. La app de Android detecta la notificación de recarga
  5. Envía el monto al servidor
  6. El servidor hace el match entre el monto y el pedido
  7. Se procesa automáticamente la finalización del pago

Es decir,

no se identifica el pago por
"quién lo envió", sino por
"cuánto envió".

Puntos a tener en cuenta

Lo importante es que LOSLES no es un proyecto que busque reemplazar a un PG oficial.
En servicios a gran escala, siguen siendo importantes las funciones que ofrecen las empresas PG, como reembolsos, liquidaciones, recibos, gestión de disputas y seguridad.
Sin embargo, en el caso de proyectos personales o ventas pequeñas de contenido digital,
sentí que era excesivo tener que pasar por una situación como
"tener que registrar un negocio y hasta pasar la revisión de un PG solo para poder recibir pagos",

y este proyecto fue un experimento para probar una forma de implementar pagos automáticos sin pasar por ese proceso.
Actualmente está en versión beta y estoy recibiendo feedback.
En particular, me gustaría escuchar opiniones sobre los siguientes puntos.

  • Problemas del método de identificación basado en montos
  • Cómo manejar pedidos duplicados
  • Ideas para mejorar la seguridad
  • Opiniones de personas con experiencia real en operación

Gracias.

6 comentarios

 
cichol 43 분 전

Por ejemplo, si en un restaurante el kimchi jjigae también cuesta 10,000 wones y el doenjang jjigae también cuesta 10,000 wones, cuando entra un pedido de 10,000 wones, ¿no se puede distinguir qué menú fue el que se pidió?

 
arcoding 37 분 전

Incluso para productos distintos con el mismo precio, hay que aplicar descuentos diferentes de 1 won cada uno. En el uso real, no se registran los productos en el servidor de LosLes; en su lugar, el sistema toma el precio regular del artículo y ajusta automáticamente el descuento de forma distinta.

 
regentag 58 분 전

Entonces, ¿tendrían que seguir vendiendo el mismo producto a precios diferentes?

 
arcoding 35 분 전

Está medio bien y medio mal: el precio base sigue siendo de 10,000 wones,
pero la primera solicitud de pago dentro de los 30 minutos tiene un descuento de 99 wones,
y la segunda solicitud de pago dentro de los 30 minutos tiene un descuento de 98 wones, y así sucesivamente. Creo que eso no se transmitió bien en el texto.

 
zihado 2 시간 전

Si el cliente lo envía mal por error, parece que la coincidencia se rompería.

 
arcoding 1 시간 전

Ese es justamente el mayor inconveniente.
Para proyectos pequeños, donde incluso se puede consultar por DM manualmente, está bien, pero para empresas grandes parece mejor usarlo después de contratar con una empresa de PG.