더치페이를 목적으로 만들어진 안드로이드 어플리케이션으로 한 사람이 결제를 한 경우 NFC방식을 통 해 시간 지체 없이 바로 Paypal로 송금할 수 있는 방식을 채택하여 편리함을 제공한다. 또한 계모임 기 능을 추가해 여러 명이 공금 진행 상황을 보고 관리 할 수 있다. 본 논문은 아마존 웹서비스 EC2를 이용해서 리눅스 개발 환경을 만들어 MYSQL과 nodejs를 사용해 서버를 구축하고 안드로이드를 통해 더치 페이어플리케이션을 구현하는 과정을 나타낸 논문이다.
1. 더치페이 어플리케이션
염규선
O1
여서현 1
이예진 2
권희겸 3
유현수 4
명지대학교 컴퓨터공학과
rbtjs0110@hanmail.net, dutjgus0923@naver.com, yejin8966@naver.com,
heek_0807@naver.com, hyunsoo0721@naver.com
Splitting Bills Application
KyuSeon Yum
O1
YeoSuh Hyun1
LeeYe Jin2
HeeKyum Kwon3
YuHyun Su4
Department of Computer Engineering, Myongji University
요 약
더치페이를 목적으로 만들어진 안드로이드 어플리케이션으로 한 사람이 결제를 한 경우 NFC방식을 통
해 시간 지체 없이 바로 Paypal로 송금할 수 있는 방식을 채택하여 편리함을 제공한다. 또한 계모임 기
능을 추가해 여러 명이 공금 진행 상황을 보고 관리 할 수 있다. 본 논문은 아마존 웹서비스 EC2를 이
용해서 리눅스 개발 환경을 만들어 MYSQL과 nodejs를 사용해 서버를 구축하고 안드로이드를 통해 더치
페이어플리케이션을 구현하는 과정을 나타낸 논문이다.
1. 서 론
요즘 사람들 사이에 더치페이가 많이 이루어 지고
있다. 하지만 한 사람이 결제를 하고 나머지
사람들이 돈을 갚는 경우가 많다. 또한 공금을
이용하는 모임의 경우 돈의 출처를 알기가
어려우며 남은 돈을 배분할 때 정확한 금액을
추정하기 어렵다. 때문에 더치페이
어플리케이션으로 더치페이도 가능하고, 계
모임기능으로 서로 돈을 모아서 공금을 사용한
내역을 보여주는 기능을 추가한 어플리케이션을
개발 하게 되었다. 더치페이가 다양한 나라에서
하나의 문화로 자리잡았기 때문에 소비자들에게
좋은 반응을 얻을 수 있을 것이라고 예상되며,
더치페이로 발생하는 다양한 문제들을 해소 할 수
있다.
본 어플리케이션은 안드로이드 시스템이 내장된
제품의 구매를 통해 서비스를 이용할 수 있다. 본
논문은 선행 연구와 제안 프로젝트의 차별성을
설명하고 조사를 바탕으로 설계에 대한 진행
상황을 서버와 클라이언트, 각 기능별로 세부적으로
설명한다.
2. 본 론
2.1 서버와 클라이언트 연결
그림 1 client와 서버간의 관계도
더치페이 혹은 계모임을 편리하게 제공해주는 서비
스로 각 사용자의 정보와 모임 정보 등의 대량의
정보를 저장할 수 있는 서버와 데이터 저장소가 필
요합니다. AWS를 이용하여 IP주소와 Port번호를 생
성하고 Node.js와 Mysql를 사용합니다.
http://localhost:3000/function_name의 형식으로
Node.js 와 client가 데이터를 주고 받습니다.
Node.js 에서 Express, Mysql, Body-parser 모듈을
사용해 json형식으로 client의 volley와 데이터를 주
고받았습니다.
2.2 NFC 기술
2. 그림 2 [NFC echo system]
NFC란Near Field Communication의 줄임말로 비
접촉식 통신기술 입니다. 접촉을 하지 않아도 근
거리에 있는 NFC 기능을 탑재한 스마트폰을 포
함한 전자기기들이 근거리 무선통신을 할 수 있
게 하는 기술입니다. 상대적으로 보안이 우수하고
가격이 저렴하다는 장점이 있습니다. 이 NFC를
이용해서 Google사는 안드로이드 운영체제에 안
드로이드 빔(Android Beam)이라는 기술을 출시
했습니다. 안드로이드 빔은 NFC를 이용하여 스마
트폰과 스마트폰 간의 정보 공유를 가능케 하는
기능이며 저희 프로젝트에서는 전자지불 서비스
에 필요한 사용자의 계정정보와 금액에 관한 정
보를 교환하는데 사용될 예정입니다. 팀원들 모두
NFC기술에 대해서는 전무 하기 때문에 NFC기능
에 대해 차근차근히 알아가야 할 필요성이 있습
니다. NFC의 기능을 구현하려면 NDEF(NFC Data
Exchange Format)의 구조를 익혀야 합니다. 또
한 NDEF 레코드의 각기 다른 타입이 어떻게 사
용되는지 알아야 합니다. 그리고 NFC 태그 처리
시스템에 대해 알아야 합니다.
NFC기술은 RF를 이용한 근거리 통신의 특성과
스마트폰의 하드웨어적인 특징과 결합된 상태
이며, 수동적 통신과 능동적통신을 기반으로 <
표1>과 같이 카드 에뮬레이터모드, 정보가 표
시된 태그의 Read/Write모드, Peer to Peer 모
드를 지원하며, 이를 바탕으로 하여 매우 다양
한 비지니스 모델을 창출할 수 있는 기술입니
다. 저희는 Peer to Peer모드를 사용한 안드로
이드 빔을 이용하여 사용자간의 결제 모듈을
전송할 때 필요한 정보 등을 공유하는데 사용
하여 높은 보안성과 편리함을 강조하려 합니다.
2.3 전체 기능
2.3.1 회원가입, 로그인 기능
회원가입 시 회원 ID, 비밀번호, Paypal ID, 전
화번호를 입력합니다. 회원가입 후, 로그인 시
아이디와 비밀번호를 이용해 로그인시에는 회
원 ID와 비밀번호를 통해 가능합니다.
2.3.2 그룹 만들기
해당 핸드폰의 연락처에서 그룹원들을 선택하
거나 NFC를 이용해 그룹을 생성합니다. 연락
처를 연동하여 사용할 때는 사용자의 연락처를
연동하여 연락처에서 정보를 불러와 새로운 그
룹을 생성하는데 사용합니다. NFC를 이용할때
는 안드로이드 빔을 사용하여 정보를 수신하는
사람과 발신하는 사람으로 나누어집니다. 그룹
을 새로 만드는 사람은 정보를 수신받으며, 그
룹에 추가되는 사람은 정보를 발신합니다. 휴대
폰의 뒷면을 대고 화면을 터치하는 것으로 그
룹을 생성하는데 필요한 정보를 전송합니다.
2.3.3 결제 기능
3. 그룹을 만들고 난 후, Paypal과의 연동을 통해
결제를 진행합니다. 이 때, Paypal 비밀번호를
입력해야 결제가 이루어집니다. 이 때 Paypal
에는 보낼 상대와 금액이 정해져 있습니다. 그
래서 보낼 상대의 데이터가 자동으로 입력되어
보내집니다
2.3.4 가계부 열람 기능
회원이 해당하는 모든 그룹에서의 결제 내역을
볼 수 있습니다.
2.4 더치페이 결제 Logic
그림 3 더치페이 순서도
새 그룹을 만드는 버튼을 클릭을 하게 되면 금액
과 인원을 입력합니다. 그 후 금액이 균등하게 배
분되지만 금액이 수정되어야 한다고 한단 되면
개인에 해당되는 금액을 변동 후 더치페이 방을
생성합니다. 만약 변동 사항이 없다면 더치페이를
할 수 있는 방이 생성됩니다.
3. 결론
기존의 더치페이 시, 시중은행 어플리케이션에 들어가
공인인증서 암호와 보안카드 암호를 입력해 계주의
계좌에 돈을 입금하는 불편한 과정을 줄이기 위해
개발한 CO-PAY 어플리케이션입니다. 그룹을
연락처에서 선택하는 방법과 NFC방법을 이용해
그룹을 생성하는 간편한 과정으로 그룹이
만들어집니다. 그룹 방이 만들어진 후, 계주의
계좌정보와 금액이 보이면 Paypal과의 직접적인
연동을 이용해 결제가 간편하게 이루어진다. CO-
PAY은 기존의 더치 페이 방식에서 IT 기술을 결합해
과정의 단계를 줄인 어플리케이션입니다.
4. 참고문헌
(1) 류성태 「Node.js 프로그래밍 = Node.js
programming 」프리렉 -2013.03.12-
(2) 유윤선 「프로페셔널 Node js」프리렉 -
2013.03.28-
(3) 유현수 정민수 「 NFC전자 결제 시스템을 위한
Android NFC Library 실시간 실행 처리 연구」
디지털 정책연구 제 11권 제 2호 - 2013.02-