-
Notifications
You must be signed in to change notification settings - Fork 5
2020.12.08(화) 회의록
Hyeonu Yun edited this page Dec 11, 2020
·
1 revision
- SMS/MMS에서 온 거래내역은
미분류
로 묶는게 현실적
-
결제수단 : SMS/MMS 내에 기재된 특정 카드사를 활용
- 대부분 처음에 나오는 것 같다.
- 특정 단어가 여러 개 나온다면 첫 번째 나온 것을 파싱
- 예를 들어
롯데카드
로 롯데마트에서 결제한 내역일 경우
- 예를 들어
-
금액 : 뒤에
원
이 붙은 가장 처음 나온 단어를 기준으로 파싱- 카드사에 동의한 조건에 따라 문자 내역에 누적액 혹은 잔액이 나올 수도 있어서, 가장 처음 나온 단어를 기준으로 파싱하자.
-
날짜 : mm/dd 형식으로 되어있는 내용을 파싱
- 아쉽게도 문자 내역 안에 년도는 적혀있지 않으므로, 년도는 거래내역을 작성하는 해당 년도로 임의 지정하자.
-
시간 : hh:mm 형식으로 되어있는 내용을 파싱
- 몇몇 카드사는 mm:dd:ss:msms 까지 기재되어 있는데
ss:msms
는 임의로 떼어낼 수 있도록 설정하자.
- 몇몇 카드사는 mm:dd:ss:msms 까지 기재되어 있는데
-
입금/출금 여부 정보 추출
-
입금
이라는 키워드가 내역에 존재하는 경우에만 입금인 것으로 판단. 현재까지 확인된 모든 카드사 결제 내역 메세지에서는 그렇게 되어 있다. - 그 이외는 모두 출금으로 처리하자.
-
-
취소
,거절
같은 예외 케이스를 분류- 취소가 올 경우 입금으로 판별
- 거절이 올 경우 API 실패로 분류
const parseContent = (string) => {
return string
.replace(/\[web발신\]/i, '')
.trim()
.split(/[\s\n\r]/g);
};
-
파라미터에 들어갈 string 예시
[Web발신] KB국민체크 윤*우님 06/08 08:57 28,440원 11PAY 인증 승인취소
-
replace(/\[web발신\]/i, '')
문자 내역에서
[WEB발신]
,[Web발신]
이라는 텍스트를 제거 -
trim()
이후 개행을 제거하기 위해
trim()
함수 실행 -
split(/[\s\n\r]/g)
문자열에서 정규식 조건에 들어가는
\s
,\n
,\r
이 등장할 때마다 나눈다. 이후 나누어진 토큰들은 배열로 반환 -
결과값
[ 'KB국민체크', '윤*우님', '06/08', '08:57', '28,440원', '11PAY', '인증', '승인취소' ]
KB 국민카드
[WEB발신]
KB국민카드 김영근님 06/07
09:22 5000원
결제 승인
국민체크
[Web발신]
KB국민체크
윤*우님
06/08 08:57
28,440원
11PAY 인증
승인취소
농협카드
[Web발신]
NH카드7*9*승인
박*용
12,350원 체크
12/06 20:37
세븐일레븐 고대안암고
잔액222,210원
현대카드
현대 ZERO 승인
2,500원 일시불
04/10 13:15
코레일유통서울지사
누적 560,852원
0.7%할인
롯데카드
롯데1234 승인
5,200원 일시불
09/15 18:31
월드크리닝 롯데마트
신한체크
[Web발신]
[신한체크승인] 최*희(1234)
02/10 13:10
(금액)1,000원 PAYCO
우리카드
[Web발신]
우리(1234)승인
임*봉님
4562원 일시불
12/07 20:29
네이버페이
누적123,456원
우리체크
[Web발신]
우리(1234) 체크승인
윤*우님
10,000원
11/03 10:03
스타벅스코리아
신한은행 출금
[Web발신]
[신한은행] 09/26
21:31:30.27
[110-***-123456]
지급 20,000원
(최창희)
농협 입금
[Web발신]
농협 입금 200원
06/11 22:29 123-1234-4567-12
잔액 200000원
농협 출금
농협 출금 5000원
08/31 19:01 123-1234-1234-12
잔액 200000원