무통장 입금으로 참가비를 받는 운영에서 가장 지겨운 일은 입금 확인입니다. 참가자가 계좌로 돈을 보내면, 운영자는 은행 앱을 열어 통장 거래내역을 보고 예약자 명단과 한 줄씩 대조해 누가 냈는지 표시해야 합니다. 소셜 파티 운영사에서는 회차가 겹치는 주말이면 이 대조만으로 저녁이 통째로 사라졌습니다. 이 글은 그 대조를 은행 계좌조회 API로 자동화하면서 부딪힌 현실적인 문제들을 다룹니다.
입금자명으로 예약을 찾는다
자동 대조의 출발점은 은행 계좌조회 API입니다. 이 API로 지정한 계좌의 거래내역을 주기적으로 가져오면, 각 입금 건에 입금자명과 금액, 시간이 담겨 옵니다. 시스템은 이 입금자명을 아직 입금이 확인되지 않은 예약자들의 이름과 맞춰 봅니다. 이름과 금액이 맞아떨어지면 그 예약을 입금 완료로 자동 처리합니다.
대조는 10분 간격으로 돕니다. 참가자가 돈을 보내면 늦어도 10분 안에 명단에 입금 완료로 반영되므로, 운영자가 통장을 들여다볼 이유가 사라집니다. 자동으로 확인된 건은 운영자의 손을 전혀 거치지 않고 사람은 자동으로 처리되지 못한 예외만 확인하면 됩니다.
문제는 사람 이름이 생각보다 지저분한 데이터라는 점입니다. 예약할 때 적은 이름과 실제 송금할 때 찍히는 입금자명이 다른 경우가 흔합니다. 가족 명의로 보내기도 하고 별명이나 앞뒤가 잘린 이름이 찍히기도 합니다. 금액도 정확히 맞지 않을 수 있습니다. 그래서 이름과 금액을 무조건 완벽히 일치시키는 대신, 일치하지 않는 건은 틀렸다고 버리지 않고 수동 확인 대상으로 따로 모읍니다.
자동과 수동의 경계를 분명히
자동화에서 중요한 것은 어디까지 기계에 맡기고 어디부터 사람이 볼지를 명확히 나누는 일입니다. 이 시스템은 이름과 금액이 분명하게 맞는 건만 자동으로 확인 처리하고 조금이라도 애매한 건은 수동 확인 목록으로 넘깁니다. 매칭 대상이 아예 없거나 금액이 예약가와 어긋나는 입금은 자동으로 처리하지 않고 운영자에게 알립니다.
이 경계 덕분에 자동화를 믿을 수 있게 됩니다. 만약 애매한 건까지 억지로 자동 처리했다면 엉뚱한 사람이 입금 완료로 찍히는 사고가 났을 것입니다. 확실한 것만 자동으로 넘기고 나머지는 사람에게 남기는 원칙이, 운영자가 결과를 신뢰하고 손을 떼게 만든 이유였습니다. 자동으로 걸러진 뒤 남는 수동 확인 건은 전체 입금 중 일부에 그쳤습니다.
같은 입금이 두 번 처리되는 사고도 막아야 했습니다. 대조는 10분마다 반복되므로, 방금 처리한 입금 건이 다음 주기에 또 잡혀 중복 처리될 위험이 있습니다. 그래서 각 거래에 붙는 고유한 거래 식별자를 기준으로 멱등 처리를 걸었습니다. 이미 반영한 거래 식별자는 다시 처리하지 않으므로, 대조가 몇 번을 돌아도 한 입금은 한 번만 확인됩니다.
미납 알림이 잘못 나가지 않게
입금 대조의 짝은 미납 관리입니다. 아직 입금하지 않은 참가자에게는 30분 간격으로 알림 문자가 자동 발송됩니다. 참가자 입장에서는 잊지 않게 챙겨 주는 알림이지만 시스템 입장에서는 이 자동 발송이 가장 사고가 나기 쉬운 지점이기도 했습니다.
특히 위험한 순간은 운영자가 입금 데이터를 손으로 정리한 직후입니다. 정리 중에는 데이터가 잠깐 어중간한 상태가 되는데, 하필 그때 미납 알림 주기가 돌면 이미 입금한 사람에게 미납 문자가 나갈 수 있습니다. 실제로 이런 오발송은 참가자에게 사과해야 하는 민감한 사고입니다. 그래서 입금 정리 작업 직후 일정 시간 동안은 자동 미납 알림을 눌러 두는 안전 구간을 뒀습니다. 정리가 끝나고 데이터가 안정될 때까지 자동 문자를 잠시 멈춥니다.
이렇게 자동 대조와 미납 알림을 함께 설계하면, 운영자는 입금 확인이라는 반복 노동에서 벗어나면서도 참가자에게 잘못된 문자가 나가는 위험을 지지 않습니다. 상황별 문자를 어떻게 설계했는지는 상황별 SMS 자동 발송 설계에서, 이 입금 데이터가 얹히는 통합 명단은 예약 채널 3종을 한 명단으로 통합에서 이어집니다. 시스템 전체는 소셜 파티 운영 자동화 시스템 사례에서 볼 수 있습니다.
자주 묻는 질문
입금자명이 예약자 이름과 다르면 어떻게 되나요?
이름이나 금액이 분명히 맞는 건만 자동으로 입금 완료 처리하고 어긋나는 건은 틀렸다고 버리지 않고 수동 확인 대상으로 모읍니다. 가족 명의 송금이나 잘린 이름처럼 애매한 경우는 운영자가 목록에서 직접 확인해 처리하므로, 자동화가 잘못된 판단을 내리지 않습니다.
같은 입금이 중복으로 처리되지 않나요?
각 거래에 붙는 고유한 거래 식별자를 기준으로 멱등 처리를 합니다. 대조 작업은 10분마다 반복되지만 이미 반영한 거래 식별자는 다시 처리하지 않기 때문에 한 입금은 정확히 한 번만 확인됩니다.
이미 낸 사람에게 미납 문자가 갈 위험은 없나요?
가장 신경 쓴 지점이 그것입니다. 운영자가 입금 데이터를 손으로 정리하는 동안에는 데이터가 잠깐 불안정해질 수 있어서 정리 직후 일정 시간 동안 자동 미납 알림을 멈추는 안전 구간을 뒀습니다. 데이터가 안정된 뒤에 알림이 재개되므로 오발송 위험을 크게 낮췄습니다.