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>", // マルチストアにのみ必要
  "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": "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 エポック時間からのミリ秒単位で、製品が購入された時間を返します。このフィールドは廃止されました。代わりに 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の認証/資格情報生成中に発生したエラーを示します。
×
テキストがクリップボードにコピーされました。
copyLinkText
ご不明な点がございましたら、お気軽にお問い合わせください。 dev-support@now.gg