Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
관리 메뉴

Leo

In App Purchase (1) 본문

개발 정리/Flutter

In App Purchase (1)

dohyxx 2024. 11. 13. 20:47

Overview

대부분 그렇겠지만, '결제'라는 단어가 들어가면 '어렵다'라는 생각이 가장 먼저 드는 것 같습니다.
아무래도 돈과 관련되어 있다보니, 실수가 있어선 안된다는 생각 때문에 더욱 그런 것 같습니다.
Flutter에서 인앱 결제 구현 내용을 아는 만큼, 이해한 만큼 적어보겠습니다.

 

IAP(in-app-purchase)는 유저가 앱 내의 컨텐츠 및 기능을 구매할 수 있는 서비스입니다.
구매 플로우는 크게 3단계로 나눌 수 있습니다.

 

1. 스토어에 등록된 상품 정보를 받아와 목록 UI를 유저에게 보여줍니다.
2. 유저가 상품을 선택하면 스토어에 결제 요청을 보냅니다.
3. 결제 후 상품을 유저에게 제공합니다.

 

크게 보면 3단계이지만, 과정을 자세히 들여다보면 신경써야 할 부분이 많습니다.

  1. 제공하려는 상품을 각 Store에 등록하고, App과 Store를 연결해서 결제가 가능하도록 해야합니다.
  2. 사용자가 구매하는 시점에 등록된 상품이 정상적으로 구매 가능한 상품인지 확인이 필요합니다.
  3. 사용자가 실제로 상품을 구매했는지 확인하는 Validation 과정이 필요합니다. Validation은 server에 전달받은 영수증을 보내 검증을 요청합니다. (검증 방법은 여러가지가 있습니다. 각 서비스 환경에 맞는 방법으로 사용하시면 됩니다.)
  4. 결제와 검증까지 모두 완료했다면 Store에 정상적으로 완료되었다는 알림를 보내야합니다.

이외에도 결제 취소와 유저의 환불 요청에 대한 처리 방법까지 고려해야 합니다.
(각 단계별 프로세스는 다음 포스팅에서 조금 더 자세히 설명할 예정)

 

종류

IAP(in-app-purchase)의 상품 타입은 4가지가 있으며, 아래와 같습니다.

 

1. Consumable ✔ 

  • 이번 신규 프로젝트에 적용한 상품 타입입니다.
  • 게임에서 화폐같은 종류(100캐시, 10쿠키 등 ..)
  • 일회성으로 소모되고, 다시 구매될 수 있는 상품을 Consumable 상품이라고 합니다.

2. Non-Consumable

  • 한 번 구매하면 만료되거나 사용에 따라 줄어들지 않는 제품입니다. 예시: 게임 앱에서의 경주 트랙.

3. Auto-Renewable Subscriptions

  • 약 6개월 전 진행했던 프로젝트에 적용되어 있는 상품이기도 합니다.
  • 스트리밍 서비스를 제공하는 앱의 월간 구독.
  • 사용자가 일정 기간 동안 콘텐츠를 구매할 수 있는 제품입니다. 이 유형의 구독은 사용자가 취소하지 않는 한 자동으로 갱신됩니다.

4. Non-Renewing Subscriptions

  • 라이브 게임 콘텐츠를 시청할 수 있는 1년 구독
  • 자동으로 갱신되지 않으며, 사용자가 제한된 기간 동안 콘텐츠에 접근할 수 있는 제품입니다.

참고
https://developer.apple.com/in-app-purchase/
https://developer.apple.com/help/app-store-connect/configure-in-app-purchase-settings/overview-for-configuring-in-app-purchases

'개발 정리 > Flutter' 카테고리의 다른 글

[Branch] App Link (2)  (2) 2024.11.21
[Branch] App Link (1)  (0) 2024.11.16
In App Purchase (4)  (1) 2024.11.15
In App Purchase (3)  (2) 2024.11.14
In App Purchase (2)  (1) 2024.11.13