Categories
콰징

중국 직구 서비스 개발 삽질기

그동안 중국 서비스 개발 경험을 기반으로 하여 2019년 하반기에 대략 3개월 정도의 시간을 투입하여 중국 국내 거주 중국인을 대상으로 한국내 생산 또는 판매되는 제품을 직구하는 서비스를 개발하였습니다. 이 서비스 개발에 사용된 주요 구성 및 개발 시 부딪혔던 어려움을 공유해 보려고 합니다. 대략 다음과 같은 선택지나 어려움이 있었습니다.

  • 제한된 개발 인력, 개발 기간내에 iOS, 파편화된 안드로이드 앱을 개발에 하느냐? 다른 대안은?
  • 중국 회사 설립 해야 하나?
  • 인터넷 서비스(도메인) 등록
  • 위챗 지불 및 미니 프로그램 개발
  • 중국 내 통관 시스템과의 연계

중국어의 어려움이나 문화의 차이, 화면 구성의 차이 등과 같은 문제점은 당연한 것이라 제외 했습니다.

수출 서비스 뿐만 아니라 한국 기업이 중국 진출 시 앱/웹 서비스 개발 시 경험할 수 있는 문제들이기 때문에 중국에 서비스를 출시하는 회사라면 한번쯤 생각해 봐야 할 사항입니다.

서비스 개요

다이고우(代购)라고 부르는 중국의 대리상은 중국 내에서 한국 제품(주로 화장품)을 구매하고 싶어하는 중국인으로부터 주문을 받고 한국으로 와서 물건을 구매한 후 다시 중국으로 돌아가서 이 물건을 판매합니다. 이것이 가능한 것은 중국내 공항에서 통관을 느슨하게 하기 때문에 한명이 수천만원어치의 면세 물건을 구입, 입국해도 대부분은 그냥 통과되기 때문입니다. 하지만 중국 정부에서도 통관을 점점 강화한다고 합니다. 그리고 이런 방식은 대리상이 직접 한국을 방문해야 하는 문제가 있고, 한번에 구매해서 가지고 갈 수 있는 수량도 한정적입니다.

이번에 개발한 서비스는 이런 대리상을 위한 서비스입니다. 직접 한국을 방문하지 않고 필요한 상품을 요청하면 한국에서 구매하여 중국 보세 창고로 보내고, 대리상은 자신이 판매하는 상품 정보와 가격을 정하고, 이 정보를 기존에 주문을 하던 고객에게 위챗으로 공유합니다. 소비자는 대리상이 공유된 상품 정보를 클릭하면, 위챗 미니 프로그램이 실행되고 구매하는 방식입니다.

즉, 한국의 제품을 중국의 소비자에게 직접 판매하는 서비스로 제품 소개, 공유, 통관, 배송 등 일련의 과정을 지원하는 서비스입니다.

개인 통관이기 때문에 정식 판매가 허가 안된 제품이라도 특별한 성분 검사나 전파 인증 등이 필요 없으며 보세구를 이용하기 때문에 관세 없이 소비자가 구매할 수 있습니다.

정식 통관이 안된 제품을 개인 구매 방식으로 구매, 통관, 배송까지 일련의 처리를 지원하는 서비스

입니다.

이런 서비스 개발 시 부딪혔던 큰 문제는 ICP 등록, 위챗 지불, 위챗 개발 플랫폼에 대한 이해, 통관 시스템과의 인터페이스 등이 있습니다. 하나씩 어떤 문제가 발생하고 어떻게 해결했는지 살펴보겠습니다.

서비스 플랫폼의 선택

중국에 앱을 개발하여 배포하기 위해서는 아이폰의 경우 애플 앱스토어를 이용하지만 안드로이드의 경우 구글 플레이 스 토어가 아닌 바이두나 화웨이, 샤오미 등과 같은 폰 제조사의 앱스토어를 이용하여 배포해야 합니다. 의사 결정 단계에서 이런 일반적인 앱 개발 및 배포 방식이 아닌 위챗 미니 프로그램을 이용하여 앱을 개발하고 배포하는 방식을 선택하였습니다. 위챗 미니 프로그램을 선택한 이유는 다음과 같습니다.

  • 서비스 개발 인력의 부족으로 아이폰, 안드로이드 모두 대응하기 어려움
    • 하나의 소스로 안드로이드, 아이폰 모두 배포 가능
  • 개발 기술도 상대적으로 용이
    • 웹 앱 개발 기술만 있으면 쉽게 개발 가능
  • 앱 심사가 단순하고 심사 기간이 짦음
    • 몇가지 사용자를 어뷰즈 할 수 있는 기능에 대한 검사만 진행
    • 1 ~ 2일 이내에 심사 완료
  • 서비스의 중요 기능이 SNS 기반의 전파가 중요
    • 위챗 공유 기능을 쉽게 제공
  • 타겟 사용자 층은 이미 위챗 미니프로그램에 쉽게 적응
    • 위챗 사용자는 10억, 미니 프로그램 사용자는 이미 6억명이 넘었기 때문에 굳이 아이폰, 안드로이드 네이티브 앱 개발이 필요 없었음
  • 위챗 관련 기능
    • 위챗 지불
    • QRCode 생성
    • 공유 등회사를 중국에 설립해야 할까? 인터넷 기반의 서비스인 경우 회사가 어디에 위치하는지는 중요하지 않을 수 있습니다. 한국의 많은 소비자들도 미국의 아마존이나 중국의 알리바바 쇼핑몰에서 구매를 하고 있죠. 중국 거주 중국인들에게 한국 제품을 판매하는 서비스의 경우도 이미 여러 쇼핑몰에서 서비스하고 있으며 회사는 한국에 위치한 경우가 많습니다. 서비스를 처음 기획할 때에는 한국에 회사를 두고 하는 것으로 기획했지만 다음 두가지를 고려하여 중국에 별도 회사를 설립하는 것으로 결정하였습니다.
    • 위챗 지불
      • 중국 회사 이외의 회사인 경우 영국 등 일부 국가를 제외하고 직접 위챗 지불을 사용할 수 없음
      • 각 국가의 위챗 지불 대행사를 이용해야 함 (한국 지불 대행사)
      • 지불 대행사를 사용할 경우
        • 대행사별로 수수료가 있고, 위챗 지불을 직접 사용한 것에 비해 수수료가 높을 것으로 예상됨(실제 확인은 하지 않았음)
        • 위챗 지불을 직접 사용하는 경우 0.6% 수수료
      • 일반적인 위챗 지불을 이용하는 방식의 개발 및 프로세스를 경험할 수 없음(이후 다른 서비스 개발시 지속적으로 다른 문제가 발생할 가능성이 있음)
    • 중국 내 지속적인 비즈니스 수행
      • 필자가 속한 회사는 중국내에서 IT 기반의 서비스를 지속적으로 확대하려는 계획을 가지고 있음
      • 이를 위해 중국 내 회사 설립 및 비즈니스 수행 역량을 확보할 필요가 있음이런 이유 때문에 중국 내 회사를 설립하기로 했습니다. 중국 회사 설립시 중국 직원의 도움을 받아 설립하였습니다. 한국은 법인 설립시 온라인에서 신청이 가능한데 직접 방문해야 하며, 한국 회사 투자인 경우 투자하는 회사의 한국 사업자 증명에 대한 공증 및 중국 대사관 확인 후 제출하는 절차가 별도로 있었습니다. ICP비안(备案) 등록 위챗 지불을 등록하는 과정에서 또 다른 문제에 부딪혔는데 ICP(Internet Contents Provider) 비안 등록 입니다. ICP는 크게 두 종류가 있다고 합니다. 마켓플레이스 형태의 쇼핑몰 운영을 하려면 ICP许可证(허가증)을 받아야 하는데, 내자법인만 가능합니다. 흔히들 중국에서 플랫폼 사업은 중국 내자법인만 된다고 하는데 이 허가증을 받는 것을 말합니다. 반면에 자기가 생산했거나 수입해서 파는 것은 외자법인 제한이 없습니다. 그 경우 받을 수 있는 ICP 자격이 ICP备案 이라고 합니다. 필자의 경우 이 ICP备案에 해당하기 때문에 이 자격을 받아야 합니다. 이 자격을 필요한 시점은 알리 클라우드나 위챗 페이, 세관 연동 등 공식적으로 도메인 기반의 업무를 처리할 때 ICP 등록 여부를 확인하고 진행하게 됩니다. ICP 등록을 위해 준비해야할 사항은 도메인, 서버입니다. 도메인의 소유자는 반드시 신청하는 회사 명의로 되어 있어야 합니다. ICP를 신청하는 가장 쉬운 방법은 도메인, 서버를 모두 알리바바 클라우드에서 구매하고, ICP 신청도 알리바바 클라우드에서 제공하는 대행 서비스를 사용하는 것입니다. 물론 도메인, 서버를 각각 구매하고 DNS 설정하고 이 정보로 신청하는 방법도 있지만 이런 수고를 하는 것 보다는 알리바바 클라우드를 사용하는 것을 권장합니다. 도메인의 경우 .com이나 .cn이 있으면 좋겠지만 .com, .cn은 대부분 없어서 최근에는 .io, .ai 등의 도메인의 사용하는 경우도 있는데 이런 도메인은 ICP 등록이 되지 않는 도메인입니다. 따라서 도메인 구매 전에 반드시 여기에서 ICP 등록이 가능한 도메인인지 확인하고 구매를 해야 합니다. 필자가 만든 서비스의 경우 .co 도메인을 구매하였습니다. ICP 등록이 의외로 시간이 많이 소요되는데 대략 3주 정도 소요됩니다. 알리바바 클라우드 대행 서비스를 이용하면 서류상의 문제나 보완 등을 가이드 해주고, 이를 보완하고 나면 신청이 되었고, 다른 문제 없이 3주 뒤에 바로 승인이 되었습니다. 위챗 지불 ICP 승인이 되면 위챗 지불은 특별하게 문제되는 것이 없이 신청이 가능하고 일주일 이내 승인이 되었습니다. 위챗 지불 관련해서는 개발 시 다음과 같은 어려움이 있었습니다.
    • 테스트 환경 미 제공
      • 테스트 환경 없기 때문에 실제 지불을 발생시켜야만 기능에 대한 테스트를 수행할 수 있었습니다. 필자의 경우 테스트를 할 경우 1元 또는 그 이하 아주 작은 금액으로 테스트를 하고, 위챗 지불 관리 화면에서 환불하는 방식으로 진행했습니다.
    • Callback 시 ICP 인증 받은 도메인만 허용
      • 개발 PC에서는 테스트 할 수 없고 스테이징 환경에서 테스트를 해야 하는데 이 경우도 staging.<domain> 과 같은 형태로 callback을 등록하고 테스트를 진행해야 함계정 신청 시 300元 을 지불해야 합니다. 위챗 개발 플랫폼에 대한 이해 부족 위챗 지불, 위챗 미니프로그램 등을 사용하여 개발 및 배포, 지불 등을 할 경우 위챗 개발 플랫폼에 대한 이해가 필요합니다. 하지만 위챗 개발 플랫폼도 빠르게 진화하고 변화가 많기 때문에 가이드 문서 등이 맞지 않는 경우도 있고, 대부분 중국어로 되어 있는 문서라서 이해하는데 어려움이 있었습니다. 그중 가장 크게 어려움을 겪었던 부분은 다음과 같습니다.
    • 통합 개발 계정이 아닌 각각 별도로 신청해야 함
      • 하나의 계정으로 지불, 미니프로그램, 웹앱 등을 관리하는 것이 아니라 매번 신청 시 별도의 계정을 생성하여 신청
      • 신청을 위해 메일 계정이 필요한데 이미 사용한 메일 계정으로 다시 신청할 수 없음
      • 예를 들어 A 미니 프로그램에서 test@bettercode.kr 을 사용할 경우 웹앱 개발 또는 다른 미니 프로그램 신청시 다른 메일 계정을 사용해야 함
    • 신청서 작성
      • 신청서 작성시 여러가지 정보를 원함
        • 법인에 대한 정보, 관리자에 대한 정보, 신청서 작성 및 직인 필요 후 스캔 등등
      • 신청 후 심사 과정에서 잘못된 서류는 친철하게 가이드를 해줌
      • 심사 업체가 별도로 있어 이 업체의 담당자가 전화로 가이드를 해줌위챗 개발 플랫폼에 대한 자세한 소개는 필자가 쓴 다음 글을 참고하세요.
    • 위챗 개발 플랫폼의 이해미니 프로그램이나 웹 앱 등 신청 시 각각 300元 비용이 필요합니다. 통관을 위한 세관 시스템 인터페이스 연동 통관을 위해서는 기본적으로 중국 통관 프로세스에 대한 이해 및 시스템간 인테페이스에 대한 이해가 필요한데 각 부분에 대한 API 문서 등은 나와 있지만 전체 흐름에 대한 프로세스나 가이드에 대한 설명이 부족하여 초반에 많은 어려움이 있었습니다.
    • 통관을 위해서는 다음 세가지 시스템과의 인터페이스가 필요합니다.
    1. 지방 보세 창고의 시스템(지방 세관)
    2. 중앙 세관 시스템
    3. 지불 시스템(위챗 페이 또는 알리 페이)의 세관 관련 API이 세가지 시스템에 대해 각각 별도의 계정 신청을 해야 하는데 필자가 만든 서비스의 경우 1번 지방 보세 창고와 긴밀하게 협업하는 상황이라 여기 직원의 도움으로 여러 문제를 해결할 수 있었습니다. 다만 2번 중앙 세관 시스템 계정 신청 시 아무런 이유 없이 2주 정도 시간이 걸렸습니다. 통관 시스템 계정 신청 시 회사 도메인의 홈페이지가 필요한데 이때 온라인 커머스 형태의 홈페이지가 필요합니다. 필자가 만든 서비스의 경우 웹 상에서는 판매를 하지 않았지만 심사 신청을 위해 간단하게 워드프레스 온라인 상점 테마를 사용하여 간단하게 구성한 다음에 신청을 하였습니다. 신청 이후 개발 시 대략 다음과 같은 문제를 겪었으며 직접 부딪히면서 한가지씩 해결했습니다. 가장 어려웠던 부분이 마지막에 있는 sign 값 생성 부분이었습니다.
    • 지방(위해, 威海) 세관 및 중앙 세관 시스템에 대한 이해
      • 기본적으로 지방 세관에서 제공하는 API를 사용하여 통관 처리
      • 중앙 세관 시스템의 경우 세관에서 랜덤하게 요청 시(시스템으로) 해당 주문(통관)에 대한 정보를 제공해야 함
    • 인증방식에서 PC의 USB 및 프로그램 설치 필요
      • 세관 시스템과 인터페이스를 위한 인증을 Windows 장비(PC)에 USB에 저장된 키 정보를 이용하여 인증
      • 이를 위해 PC에 세관에서 제공하는 프로그램 설치 후 사용
      • 사무실에 장비를 두고 처리하기 때문에 신뢰성이 부족하지만 역직구라는 비즈니스 특성상 하루 정도 늦게 처리해도 문제 되지 않음
    • 테스트 환경 구성의 어려움
      • 테스트 환경은 제공하지만 통관을 위해서는 지불과 연결되어 있기 때문에 운영환경에서 테스트 수행
      • 실제 운영 환경에서 테스트를 하기 때문에 세관의 도움이 필요한데 하루 2 ~ 3회 정도만 테스트 가능
    • API 스펙 문서 상에 애매모호한 표현이 많아 실제 테스트하면서 인터페이스 데이터 포맷 재구성
      • Java, PHP, C 등은 클라이언트 라이브러리 제공
      • 필자가 만든 시스템의 경우 golang으로 개발되어 직접 스펙 문서를 보고 개발해야 함
      • 가장 혼란스러웠던 부분이 json으로 만든 정보를 다시 x-www-form-urlencoded으로 재 구성하여 전송
    • 중앙 세관 API 연동 시 sign 값 생성 방법에 대한 설명이 없음
      • 어떤 개발자가 동작하지 않는 프로그램을 올려 놓고 문의를 하면 비용 요구
      • PC에 설치된 프로그램에서 오픈되어 있는 웹소켓 포트를 이용하여 sign 값 생성
      • 세관 API 인터페이스는 다음 문서를 참고: http://wyb.qdhuaxun.cn/179/실제 프로그램 개발 시간보다 세관 인터페이스 테스트를 하는데 시간이 많이 걸렸는데 3개월 중 대략 1개월 정도를 테스트 하였습니다. 1개월 내에는 계정 신청, 발급 받는 시간까지 포함되어 있습니다. 미리 신청하기는 어렵고 프로그램이 어느 정도 준비가 되어야 신청할 수 있기 때문이었습니다. 미니 프로그램 개발 미니 프로그램 개발 시에는 처음 접하는 플랫폼이라 처음에는 어려움이 있었지만 개발 관련 문서는 영어로 잘 되어 있어 크게 문제가 되지 않았습니다. 개발 중에는 여러가지 문제에 부딪혔는데 문제를 구분해보면 대략 다음과 같은 유형이었습니다.
    • 이전에는 지원했지만 지금은 지원하지 않는 경우
      • 문서를 처음부터 끝까지 다 읽고 개발한 것이 아니라 필요한 부분은 검색을 통해서 확인했는데 개발자 블로그에서 얻은 정보중 어떤 정보는 현재는 지원하지 않는 경우가 있음
    • 개발 도구 상에서는 클라이언트에서 동작하지만 실제 운영 환경에서는 지원하지 않음
      • API 문서에도 나와 있고, 예제도 클라이언트 측 코드에서 처리 가능하는 것 처럼 되어 있음
      • 실제 위챗 개발 도구 상에서 미리 보기 기능에서는 문제 없이 동작
      • 실제 위챗 상에서 실행하는 경우 보안 등의 이슈로동작하지 않는 경우가 있음
    • 외부 호출하는 경우 반드시 등록된 도메인으로만 가능
      • 미니 프로그램에서 호출하는 API 서버, WebView의 링크 등에는 반드시 미니프로그램 관리 웹 화면에서 등록된 도메인만 가능
      • 이 도메인 역시 ICP 등록된 도메인이라야 하며 https 라야 함
      • 월 5회만 변경가능
    • 사용자 인증 체계 구성
      • 위챗에서는 OpenID라고 하는 하나의 앱에 특정 사용자에게 Uniq한 값을 부여함
      • 이 값을 이용하여 서버 측에 별도로 사용자 관리 체계 구성
      • 앱이 여러개이고 이 앱들간에 동일한 사용자로 구성하기 위해서는 OpenID가 아닌 UnionID 사용해야 함
      • 이를 위해 위챗 개발 플랫폼 계정을 만들어야 하고, 다시 이를 사용하여 UnionID를 가져오는 과정을 거쳐야 함
    • 맥북 환경에서 개발 도구가 CPU를 많이 사용
      • 위챗 미니 프로그램 개발 도구를 상시로 실행시켜 놓으면 실제 사용하지 않더라도 지속적으로 CPU를 사용하여 배터리가 빨리 소진됨미니 프로그램 심사 처음 미니 프로그램 배포 심사 요청 시 몇번 거절 당했는데 사유는 다음과 같았습니다.
    • 사용자에게 미니 프로그램 오픈 시 사용자 정보 제공을 요청
      • 사용자 정보는 민감한 정보가 아니고 위챗 상에서 사용하는 이름, 지역, 이미지 등의 정보임에도 불구하고 프로그램 실행 시 사용자에게 요청하는 것은 허용하지 않음
      • 사용자가 이 미니 프로그램이 어떤 정보 또는 기능을 제공하는지 확인 후 필요하면 가입하라는 취지
      • 이전에는 이런 방식을 허용했지만 현재에는 허용하지 않음
      • 따라서 제품 구매 또는 좋아요 버튼 클릭 등 사용자의 행위를 저장할 필요가 있는 액션에 사용자 정보 사용 동의 처리
    • 식품 판매 사업자 권한
      • 판매 제품 중 커피 믹스 등과 같이 가공된 식품이 있는 경우 반드시 식품 판매 사업자 허가를 받아야 함
      • 미니 프로그램 심사 시 판매 제품에 식품이 있는 경우 식품 판매 사업자 허가증을 등록하지 않은 경우 프로그램이 승인되지 않음
      • 식품 판매 사업자 허가 받는 것은 직원 2명의 건강증이 필요하다고 하는데 아직 필요가 없어서 과정만 확인하고 신청하지 않음마치며 지난 2년 동안은 북경에 있으면서 서비스 개발에 참여 하였지만 당시에는 계정 신청, API 인터페이스 등과 같은 부분은 중국 개발자가 대부분 처리를 했었는데 이번 서비스 개발하면서 계정 신청부터 개발까지 모두 직접 수행하면서 중국에서 서비스를 개발하고 배포하는 과정 전체 사이클을 경험해보았습니다. 중국내 서비스를 위해서는 제약이 많은 것으로 생각하는데 실제로는 ICP 등록 과정만 거치면 이후에는 큰 문제없이 진행할 수 있었습니다. 물론 처음 접하는 업무가 많고 인터페이스 대상 시스템이 많아 계정 신청 및 심사 통과 등에서 어려움이 있었지만 이런 부분은 제약 조건이라기 보다는 미숙함에서 발생하는 부분이라고 생각합니다. 중국은 한국과 인접한 15억 인구의 거대 시장으로 기업에게는 매력적인 시장임에는 분명합니다. 중국내 서비스 개발 및 운영 경험을 계속해서 쌓고, 이를 잘 지원하는 전문 업체들이 있어야만 한국 기업이 쉽게 진출하지 않을까 생각합니다. 더 많은 한국 회사가 중국에 IT 서비스를 오픈하기를 바라며 이글이 조금이나마 도움이 되었으면 합니다. (이 글을 쓴 목적 중의 하나는 한국 내에 이런 과정이 필요한 회사가 있으면 같이 협업을 하고 싶어 이런 서비스도 이미 개발되어 있다라는 것을 알리기 위해서입니다. 혹시 주변에 이런 서비스가 필요한 회사가 있으면 소개 좀 해주세요.)