このセクションには、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 になります。 }'
Payment APIキー
はnowStudioの資格情報セクションにあります。 詳細はこちら.purchaseToken
は、購入が成功した後に返されます。詳細については、以下のリファレンスドキュメントを参照してください:以下は、verifyPurchase
APIのサンプルレスポンスです。
{ "success": true, "code": 0, "codeMsg": "success", "data": { "purchaseTimeMillis": "1630529397125", // このフィールドは廃止されました。代わりに "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 | エポック時間からのミリ秒単位で、製品が購入された時間を返します。このフィールドは廃止されました。代わりに 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の認証/資格情報生成中に発生したエラーを示します。 |
ドキュメント改訂版 1.0