Skip to main content

앱 내 구매

Mac App Store의 앱 내 구매 기능.

프로세스: Main

이벤트

inAppPurchase 모듈은 다음과 같은 이벤트를 발생시킨다:

이벤트: 'transactions-updated'

하나 이상의 트랜잭션이 업데이트되었을 때 발생한다.

반환값:

  • event Event
  • transactions Transaction[] - Transaction 객체의 배열

메서드

inAppPurchase 모듈은 다음과 같은 메서드를 제공한다:

inAppPurchase.purchaseProduct(productID[, opts])

  • productID string - 구매할 제품의 ID
  • opts Integer | Object (선택 사항) - 정수로 지정할 경우, 구매 수량을 정의한다.
    • quantity Integer (선택 사항) - 사용자가 구매하려는 아이템의 수량
    • username string (선택 사항) - 서비스(애플리케이션) 내 사용자 계정과 트랜잭션을 연결하는 문자열

반환값: Promise<boolean> - 제품이 유효하고 결제 대기열에 추가되면 true를 반환한다.

transactions-updated 이벤트를 가능한 한 빨리, 그리고 purchaseProduct를 호출하기 전에 반드시 수신 대기해야 한다.

inAppPurchase.getProducts(productIDs)

  • productIDs string[] - 가져올 제품의 식별자 배열

Returns Promise<Product[]> - Product 객체 배열로 이행되는 Promise

제품 설명 정보를 가져온다.

inAppPurchase.canMakePayments()

boolean 값을 반환한다. 사용자가 결제를 진행할 수 있는지 여부를 나타낸다.

inAppPurchase.restoreCompletedTransactions()

완료된 트랜잭션을 복원한다. 이 메서드는 추가 기기에 구매 내역을 설치하거나, 사용자가 삭제 후 재설치한 애플리케이션의 구매 내역을 복원할 때 호출할 수 있다.

결제 큐는 복원 가능한 이전에 완료된 각 트랜잭션에 대해 새로운 트랜잭션을 전달한다. 각 트랜잭션에는 원본 트랜잭션의 복사본이 포함된다.

inAppPurchase.getReceiptURL()는 영수증 경로를 나타내는 문자열을 반환한다.

inAppPurchase.finishAllTransactions()

보류 중인 모든 트랜잭션을 완료한다.

inAppPurchase.finishTransactionByDate(date)

  • date string - 완료할 트랜잭션의 ISO 형식 날짜

지정한 날짜에 해당하는 보류 중인 트랜잭션을 완료한다.