사전 준비

  • AWS Marketplace 판매자 계정
  • 세금 및 은행 정보 설정
  • 테스트용 Limited Listing 준비

Fulfillment URL 구현

개요

Fulfillment URL은 계정/구독 생성 및 갱신 시에만 호출됩니다. AWS가 고객을 이 URL로 리다이렉트하며 x-amzn-marketplace-token을 전달합니다.

방법 1: Quickstart (권장)

AWS가 제공하는 기본 구현으로(Lambda + CloudFront), 대략 다음과 같이 동작합니다.

  1. Lambda가 토큰을 포함한 POST 요청 수신
  2. 토큰을 query param으로 담은 CloudFront 등록 페이지 반환
  3. 고객이 등록 폼 작성 및 제출
  4. DynamoDB에 정보 저장

장점: 적은 공수, 대부분의 경우 충분. CloudFront HTML만 수정하면 커스터마이징 가능.

방법 2: 커스텀 Fulfillment URL

직접 POST 엔드포인트 구현:

  1. 토큰 수신: AWS가 x-amzn-marketplace-token을 body에 담아 POST 요청
  2. 고객 정보 확인: ResolveCustomer API 호출
    • 반환값: CustomerIdentifier, CustomerAWSAccountId, ProductCode
  3. 리다이렉트: 고객 정보를 담아 커스텀 랜딩 페이지로 전달
  4. 계정 생성: 실제 서비스 유저 등록 처리
  5. 인프라 구현: DB, 알림 설정 등

과금 API 연동

2개의 과금 모델을 둘 다 사용할 수 있습니다. 당연히 각각 연동이 필요합니다.

  1. Subscription 모델: BatchMeterUsage API
    • 시간당 사용량 전송에 사용합니다.
    • UnprocessedRecords 처리: 재전송 로직 필수
  2. Contract 모델: GetEntitlements API
    • 계약 유효성 및 권한 정보 확인에 사용합니다.
    • 고객 정보 + ProductCode를 입력하면 요금제 정보, 만료일, 계약 건수를 반환합니다.

기타

  • 연동한다고 끝나는 것은 아니고, MCO 리뷰를 받는 것이 필요합니다.
    • 기술적 리뷰
    • 제품 설명 리뷰
  • 공식 통합 가이드