verifyPurchase

이 섹션은 Verify Purchase API에 대한 참조 및 샘플 요청 코드 조각을 포함하고 있습니다.

설명

verifyPurchase API는 사용자에게 IAP 제품을 할당하기 전에 인앱 구매를 확인하는 데 사용됩니다.

중요 정보

  • 이 API는 앱 백엔드 서버에서 호출되어야 합니다.

기본 URL

 https://payments-api.now.gg/

요청 경로

 v2/seller/order/verifyPurchase

요청 메서드

 POST

요청 헤더

 'Authorization': '<payment_api_key_here>',
  'Content-Type': 'application/x-www-form-urlencoded'

요청 본문

verifyPurchase API와 함께 요청 본문에 다음 매개변수를 포함해야 합니다:

 "purchaseToken": "<purchase_token_here>",
  "productId": "<product_id_here>", // 멀티 스토어에만 필요
  "currency": "<currency>", // 멀티 스토어에만 필요
  "type": "<store>"  // xiaomi | onestore | amazon | huawei 존재하지 않을 경우 기본값은 nowgg로 설정됩니다.

참고: type이 없는 경우 기본값은 nowgg로 설정됩니다.


샘플 요청

다음 샘플 코드는 verifyPurchase API를 사용한 요청 예시를 보여줍니다.

import requests

 url = "https://payments-api.now.gg/v2/sellers/order/verifyPurchase"

 headers = {
     "Authorization": "<payment_api_key_here>",
     "Content-Type": "application/x-www-form-urlencoded"
 }

 data = {
     "purchaseToken": "<purchase_token_here>", 
     "productId": "<product_id_here>", // 멀티 스토어에만 필요
     "currency": "<currency>", // 멀티 스토어에만 필요
     "type": "<store>"  // 选项: xiaomi, onestore, amazon, huawei. 존재하지 않을 경우 기본값은 nowgg로 설정됩니다.
 }

 response = requests.post(url, headers=headers, data=data)

 print("响应状态码:", response.status_code)
 print("响应正文:", response.text)
curl --location --request POST 'https://payments-api.now.gg/v2/sellers/order/verifyPurchase' \
 --header 'Authorization: <payment_api_key_here>' \
 --header 'Content-Type': 'application/x-www-form-urlencoded' \
 --data '{
     "purchaseToken": "<purchase_token_here>",
     "productId": "<product_id_here>", // 멀티 스토어에만 필요
     "currency": "<currency>", // 멀티 스토어에만 필요
     "type": "<store>"  // xiaomi | onestore | amazon | huawei 존재하지 않을 경우 기본값은 nowgg로 설정됩니다.
 }'

중요 정보


예상 응답

다음은 verifyPurchase API의 샘플 응답입니다.

{
    "success": true,
    "code": 0,
    "codeMsg": "success",
    "data": {
      "purchaseTimeMillis": "1630529397125", // 이 필드는 더 이상 사용되지 않으므로, purchaseTime을 사용하세요.
      "purchaseTime": "1630529397125",
      "purchaseState": 0,
      "consumptionState": 0,
      "developerPayload": "<developer_payload>",
      "orderId": "<orderId_here>",
      "appId": "3", 
      "kind": "nowgg#productPurchase",
      "regionCode": "US",
      "currency": "USD",
      "packageName": "<package_name>",
      "payStatusTxt": "Paid",
      "orderAmount": "25.15",
      "isTestOrder": false,
      "payTimeTxt": "2024 - 10 - 3006: 08: 01",
      "sellerGoodsId": "11223343",
      "purchaseToken": "241028222221SGP61717", 
      "productId": "11223343" 
    }
 }

중요 정보

  • 일부 응답 값은 멀티 스토어 환경의 설정에 따라 null로 반환되거나 선택한 스토어에 특정될 수 있습니다.

응답 매개변수

매개변수 유형 설명
success boolean 성공 여부를 true 또는 false로 반환합니다.
code int 성공 시 0을 반환하고, 실패 시 0이 아닌 값을 반환합니다.
codeMsg string 에러 코드와 관련된 메시지를 반환합니다. (여기에서 제공)
purchaseTimeMillis (사용 중단 ) string 제품이 구매된 시간(밀리초 단위의 epoch 시간)을 반환합니다. 이 필드는 더 이상 사용되지 않으므로, purchaseTime을 사용하세요.
purchaseTime string 제품이 구매된 시간, 에포크 이후의 초 단위 시간입니다.
purchaseState int 주문의 구매 상태를 반환합니다. 가능한 값은 다음과 같습니다:
0: 미지급, 1: 지급됨, 2: 실패
consumptionState int 인앱 제품의 소비 상태를 반환합니다. 가능한 값은 다음과 같습니다:
0: 아직 소비되지 않음, 1: 소비됨
developerPayload string 주문에 대한 보충 정보를 포함하는 개발자가 지정한 문자열입니다.
orderId string 각 인앱 구매 제품에 연결된 주문 ID(고유 거래 식별자)입니다.
appId string 앱의 고유 식별자입니다. 결제 ID와 동일합니다.
kind string 하드코딩된 유형인 nowgg#productPurchase로 구매된 인앱 제품 유형을 나타냅니다.
regionCode string 제품이 할당된 시점의 사용자의 ISO 3166-1 alpha-2 청구 지역 코드입니다.
currency string 구매 통화입니다. 예: USD, KRW
packageName string 앱과 연결된 packageName입니다.
payStatusTxt string 결제 상태로 결제 완료 또는 미결제입니다.
orderAmount string 구매 관련 orderAmount입니다.
isTestOrder boolean 테스트 중 주문이 생성될 시 결과를 true 또는 false로 반환합니다.
payTimeTxt string 구매 결제 날짜 및 시간입니다.
sellerGoodsId string 구매한 제품의 고유 식별자이며, `productId`와 동일합니다. 이는 이전 버전과의 호환성을 위해 제공됩니다.
productId string 구매된 제품의 고유 식별자입니다.
purchaseToken string 구매와 관련된 purchaseToken입니다.

에러 코드 매핑

에러 코드 메시지 설명
3900 INVALID_AUTHORIZATION_KEY 인증에 제공된 API 키가 유효하지 않습니다.
3901 INVALID_PURCHASE_TOKEN 제공된 구매 토큰이 유효하지 않습니다.
5014 MULTISTORE_UNKNOWN_ERROR Multistore API에서 발생한 일반적인 오류를 나타냅니다.
5015 MULTISTORE_AUTH_ERROR Multistore API의 인증/자격 증명 생성 중 발생한 오류를 나타냅니다.
×
클립보드에 복사된 텍스트
copyLinkText
질문이 있으신가요? 다음 주소로 문의하세요. dev-support@now.gg