verifyPurchase

このセクションには、Verify Purchase APIのリファレンスおよびサンプルリクエストコードが含まれています。

説明

verifyPurchase APIは、IAP製品をユーザーに割り当てる前にアプリ内製品の購入を確認するために使用されます。

重要な情報

  • このAPIはアプリのバックエンドサーバーから呼び出す必要があります。

Base 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>", // 非推奨
 "type": "<store>" // 非推奨

重要な情報

  • productIdtype フィールドは非推奨です。

サンプルリクエスト

以下のサンプルコードは、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>"

重要な情報


想定されるレスポンス

以下は、now.ggONEStoreXiaomi 各ストアにおける verifyPurchase API のサンプルレスポンスです。

{
    "success": true,
    "code": 0,
    "codeMsg": "success",
    "data": {
        "appId": "11001",
        "consumptionState": 0,
        "currency": "USD",
        "developerPayload": "<developer_payload>",
        "isTestOrder": false,
        "kind": "nowgg#productPurchase",
        "orderAmount": "25.15",
        "orderId": "<orderId>",
        "packageName": "<package_name>",
        "payStatusTxt": "Unpaid",
        "payTimeTxt": "2024 - 10 - 3006: 08: 01",
        "productId": "11223343",
        "purchaseState": 0,
        "purchaseTime": "1630529397",
        "purchaseTimeMillis": "1630529397125",
        "purchaseToken": "241028222221SGP61717",
        "regionCode": "US",
        "sellerGoodsId": "11223343"
    }
}
{
    "success": true,
    "code": 0,
    "codeMsg": "success",
    "data": {
        "appId": "11001",
        "consumptionState": 0,
        "countryCode": null,
        "currency": null,
        "developerPayload": "<developer_payload>",
        "environment": "release",
        "isTestOrder": false,
        "kind": null,
        "orderAmount": null,
        "orderId": "<orderId>",
        "packageName": "<package_name>",
        "payStatusTxt": "Paid",
        "payTimeTxt": null,
        "productId": "11223343",
        "productName": "<product_name>",
        "purchaseState": 1,
        "purchaseTime": "1763642919000",
        "purchaseTimeMillis": "1763642919000",
        "purchaseToken": "241028222221SGP61717",
        "regionCode": null,
        "sellerGoodsId": "11223343"
     }
}
{
     "success": true,
     "code": 0,
     "codeMsg": "success",
     "data": {
         "appId": "10362",
         "consumptionState": 0,
         "countryCode": "FR",
         "currency": null,
         "developerPayload": null,
         "environment": "release",
         "isTestOrder": false,
         "kind": null,
         "orderAmount": null,
         "orderId": "<orderId>",
         "packageName": "<package_name>",
         "payStatusTxt": null,
         "payTimeTxt": null,
         "productId": "11223343",
         "productName": "<product_name>",
         "purchaseState": 1,
         "purchaseTime": "1763643382000",
         "purchaseTimeMillis": "1763643382000",
         "purchaseToken": "PFR251120205611111111395373223875",
         "regionCode": "FR",
         "sellerGoodsId": "11223343"
     }
}

重要な情報

  • レスポンス値は購入を処理するストアによって異なり、情報が利用できないまたはサポートされていない場合、いくつかのフィールドは null を返すことがあります。
  • ストアごとのフィールドの違いや値の変動を把握するために、上記のサンプルレスポンスをご参照ください。

応答パラメータ

パラメータ タイプ 説明
success boolean 成功の場合はtrue、失敗の場合はfalseを返します。
code int 成功の場合は0、失敗の場合は0以外を返します。
codeMsg string エラーコードに関連するメッセージを返します。 (こちらで提供)
appId string アプリの一意の識別子です。決済IDと同じです。
consumptionState int アプリ内製品の消費状態を返します。可能な値は次の通りです:
0: 未消費, 1: 消費済み
countryCode string 購入時点のユーザーの国コードです。ストアやユーザーの請求地域によって異なる場合があり、一部のストアでは null が返されることがあります。
currency string 購入に使用された通貨。 – USD、INR など。
developerPayload string 注文に関する補足情報を含む開発者指定の文字列です。
environment string 購入が処理された環境を示します。
release: 本番環境での実際の購入
sandbox: テストまたは開発環境での購入(ストアによって異なる)
isTestOrder boolean テスト中にオーダーが生成された場合、結果をtrueまたはfalseで返します。
kind string ハードコーディングされたnowgg#productPurchaseというタイプで購入されたアプリ内製品の種類です。
orderAmount string 自身の購入のorderAmount
orderId string 各アプリ内購入製品に関連付けられている注文ID(ユニークな取引識別子)です。
packageName string アプリに関連付けられたpackageName
payStatusTxt string 決済状況(「決済済み」または「未決済」)
payTimeTxt string 購入に関連付けられた決済日時
productId string 購入した商品の一意の識別子です。
productName string 購入した商品の製品名です。
purchaseState int 注文の購入状態を返します。可能な値は次の通りです:
0: 未払い, 1: 支払済み, 2: 失敗
purchaseTime string 製品が購入された時間(エポックからの秒数)。
purchaseTimeMillis (廃止) string エポック時間からのミリ秒単位で、製品が購入された時間を返します。このフィールドは廃止されました。代わりに purchaseTime を使用してください。
purchaseToken string 購入に関連付けられたpurchaseTokenです。
regionCode string 製品が付与された時点でのユーザーのISO 3166-1 alpha-2請求地域コードです。
sellerGoodsId string 購入した商品の一意の識別子で、productId と同じです。これは後方互換性のために提供されています。

エラーコードマッピング

エラーコード メッセージ 説明
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