이 섹션은 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>", // 더 이상 사용되지 않음 "type": "<store>" // 더 이상 사용되지 않음
productId와 type 필드는 더 이상 사용되지 않습니다.다음 샘플 코드는 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>"
}
response = requests.post(url, headers=headers, data=data)
print("响应状态码:", response.status_code)
print("响应正文:", response.text)
curl -X \ POST "https://payments-api.now.gg/v2/sellers/order/verifyPurchase" \ -H \ "Authorization: <payment_api_key_here>" \ -H \ "Content-Type: application/x-www-form-urlencoded" \ -d "purchaseToken=<purchase_token_here>"
결제 API 키는 nowStudio의 자격 증명 섹션에서 찾을 수 있습니다. 자세한 정보.purchaseToken은 성공적인 구매 후 반환됩니다. 자세한 정보는 다음 참조 문서를 참조하십시오:다음은 verifyPurchase API의 샘플 응답입니다.
{
"success": true,
"code": 0,
"codeMsg": "success",
"data": {
"purchaseTimeMillis": "1630529397125", // 이 필드는 더 이상 사용되지 않으므로, purchaseTime을 사용하세요.
"purchaseTime": "1630529397",
"purchaseState": 0,
"consumptionState": 0,
"developerPayload": "<developer_payload>",
"orderId": "<orderId_here>",
"appId": "3",
"kind": "nowgg#productPurchase",
"regionCode": "US",
"currency": "USD",
"packageName": "<package_name>",
"payStatusTxt": "Unpaid",
"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, INR 등. |
| 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