목록인앱결제 (4)
Leo
인앱결제에서 가장 중요하다고 생각하는 영수증 검증입니다.우선, 영수증을 검증하는 방법에는 두 가지가 있습니다.로컬(App) - 디바이스에서 영수증 검증을 하는 방법Server - 서버가 AppStore를 통해 영수증 검증을 하는 방법Service에 적합한 영수증 검증 방식을 선택하시면 됩니다.저희는 서버 사이드를 통한 검증 방식을 사용하기 때문에 로컬 검증 방식에 대한 설명은 생략하겠습니다. 3. Validating receipt a. 결제 완료 후, 서버에게 영수증에 대한 검증 요청을 보낸다. (Frontend) PurchaseStatus.purchased를 통해 수신받은 영수증 정보를 서버에게 전달합니다.(상황에 따라 영수증 전체를 보낼 수도 있고, 아래 코드처럼 id만 전달 할 수 있습니다.)b. ..
2. Requesting purchase - 사용자 가 구입할 상품을 선택했을 때(구매 버튼 클릭), 결제 요청 보내기a. Store에 결제 요청유저가 결제하기 버튼을 누르면, 클라이언트는 `buyConsumable()` 함수를 통해 Store에 결제 요청을 보냅니다.유저를 조금 더 명확하게 식별하기 위해 `applicationUserName` 데이터를 지정해줍니다.지정하지 않으면 나중에 서버에서 거래 내역을 찾거나 유저를 식별할 때, 조금 번거로울 수 있습니다.`parameter` 타입은 `PurchaseParam` 입니다.b. 결제 상태에 대한 알림 수신App Store에서 transaction 업데이트를 수신하고, 이를 핸들링하기 위해 trandsaction listener를 등록합니다.해당 lis..
✔ Apple 기준으로 작성된 글입니다. 변경사항이 있을 수 있으니, 공식문서를 꼭 확인해주세요. 이번에는 조금 자세히 Client와 Server 그리고 Store가 어떻게 동작하는지 살펴보겠습니다. 현재 진행 중인 프로젝트 기준으로 설계되었지만, 서버를 통한 서비스를 제공하는 앱이라면 대부분 비슷하게 구현될 것이라고 생각합니다. Consumable 상품의 내부 프로세스는 아래와 같습니다. 보시다시피 인앱결제 이벤트가 발생하고 종료되는 시점까지 총 13번의 과정으로 이루어져 있습니다.결제 과정이 복잡해 보이지만, 클라이언트에서는 사실 크게 신경 쓸 부분이 없습니다. 결제 라이브러리가 워낙 잘 되어있기도 하고 인앱결제의 핵심인 영수증 검증은 백엔드에서 이루어집니다.(검증 단계에서 클라이언트는 응답 결과에..
Overview대부분 그렇겠지만, '결제'라는 단어가 들어가면 '어렵다'라는 생각이 가장 먼저 드는 것 같습니다.아무래도 돈과 관련되어 있다보니, 실수가 있어선 안된다는 생각 때문에 더욱 그런 것 같습니다.Flutter에서 인앱 결제 구현 내용을 아는 만큼, 이해한 만큼 적어보겠습니다. IAP(in-app-purchase)는 유저가 앱 내의 컨텐츠 및 기능을 구매할 수 있는 서비스입니다.구매 플로우는 크게 3단계로 나눌 수 있습니다. 1. 스토어에 등록된 상품 정보를 받아와 목록 UI를 유저에게 보여줍니다.2. 유저가 상품을 선택하면 스토어에 결제 요청을 보냅니다.3. 결제 후 상품을 유저에게 제공합니다. 크게 보면 3단계이지만, 과정을 자세히 들여다보면 신경써야 할 부분이 많습니다.제공하려는 상품을 각..