이 섹션은 Verify Purchase API에 대한 참조 및 샘플 요청 코드 조각을 포함하고 있습니다.
verifyPurchase API는 사용자에게 IAP 제품을 할당하기 전에 인앱 구매를 확인하는 데 사용됩니다.
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로 설정됩니다. }'
결제 API 키
는 nowStudio의 자격 증명 섹션에서 찾을 수 있습니다. 자세한 정보.purchaseToken
은 성공적인 구매 후 반환됩니다. 자세한 정보는 다음 참조 문서를 참조하십시오:다음은 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" } }
매개변수 | 유형 | 설명 |
---|---|---|
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의 인증/자격 증명 생성 중 발생한 오류를 나타냅니다. |
문서 Rev. 1.0