ÿÿ Server-Side API Objects in Adapty | Adapty Docs

API objects

Adapty API has JSON objects so you can understand a response structure and wrap it into your code.

All datetime values are ISO 8601, for example, “2020-01-15T15:10:36.517975+0000â€.

Access level

Info about customer’s access level.

Access levels let you control what your app’s users can do in your mobile app without hardcoding specific product IDs. Each product defines how long the user gets a certain access level. So, whenever a user makes a purchase, Adapty grants access to the app for a specific period (for subscriptions) or forever (for lifetime purchases). Alternatively, you can grant specific access for a specified time to a user via server-side API.

You can do the following action via Adapty server-side API:

パラメーター型必須Null 許容説明
access_level_idStringYesNoAdapty ダッシュボードã§è¨­å®šã•れãŸã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã® ID。
storeStringYesNoプロダクトãŒè³¼å…¥ã•れãŸã‚¹ãƒˆã‚¢ã€‚é¸æŠžè‚¢: app_storeã€play_storeã€stripeã€ã¾ãŸã¯ã‚«ã‚¹ã‚¿ãƒ ã‚¹ãƒˆã‚¢ã®åå‰ã€‚
store_product_idStringYesNoã“ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’解放ã—ãŸã€ã‚¢ãƒ—リストア(App Storeã€Google Playã€Stripe ãªã©ï¼‰å†…ã®ãƒ—ロダクト ID。
store_base_plan_idStringYesYesGoogle Play ã®ãƒ™ãƒ¼ã‚¹ãƒ—ラン IDã€ã¾ãŸã¯ Stripe ã®ä¾¡æ ¼ ID。
store_transaction_idStringYesNoアプリストア(App Storeã€Google Playã€Stripe ãªã©ï¼‰ã§ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ ID。
store_original_transaction_idStringYesNo

サブスクリプションã®å ´åˆã€ã“ã®IDã¯æ›´æ–°ãƒã‚§ãƒ¼ãƒ³å†…ã®æœ€åˆã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’ç´ä»˜ã‘ã¾ã™ã€‚ãれ以é™ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯æ›´æ–°ã¨ã—ã¦é–¢é€£ä»˜ã‘られã¾ã™ã€‚

æ›´æ–°ãŒãªã„å ´åˆã€store_original_transaction_id 㯠store_transaction_id ã¨ä¸€è‡´ã—ã¾ã™ã€‚

offerObjectYesNoオファーオブジェクト。顧客ãŒã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’æŒã£ã¦ã„ãªã„å ´åˆã¯ null ã«ãªã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚
environmentStringNoNoアクセスを付与ã—ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ç’°å¢ƒã€‚é¸æŠžè‚¢: Sandboxã€Production。
starts_atISO 8601 dateYesYesã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ãŒæœ‰åйã«ãªã‚‹æ—¥æ™‚。将æ¥ã®æ—¥æ™‚ã«ãªã‚‹å ´åˆãŒã‚りã¾ã™ã€‚
purchased_atISO 8601 dateYesNoアクセスレベルã«å¯¾ã™ã‚‹æœ€æ–°ã®è³¼å…¥æ—¥æ™‚。
originally_purchased_atISO 8601 dateYesNoサブスクリプションã®å ´åˆã€ãƒã‚§ãƒ¼ãƒ³å†…ã®æœ€åˆï¼ˆã‚ªãƒªã‚¸ãƒŠãƒ«ï¼‰ã®è³¼å…¥æ—¥æ™‚。store_original_transaction_id ã«ç´ä»˜ãã¾ã™ã€‚
expires_atISO 8601 dateYesYesã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ãŒæœŸé™åˆ‡ã‚Œã«ãªã‚‹æ—¥æ™‚。éŽåŽ»ã®æ—¥æ™‚ã«ãªã‚‹å ´åˆã‚„ã€æ°¸ç¶šã‚¢ã‚¯ã‚»ã‚¹ã®å ´åˆã¯ null ã«ãªã‚Šã¾ã™ã€‚
renewal_cancelled_atISO 8601 dateYesYesサブスクリプションã®è‡ªå‹•æ›´æ–°ãŒã‚ªãƒ•ã«ã•ã‚ŒãŸæ—¥æ™‚。サブスクリプション自体ã¯ã¾ã æœ‰åйãªå ´åˆãŒã‚りã€è‡ªå‹•æ›´æ–°ã•れãªã„ã ã‘ã§ã™ã€‚ユーザーãŒã‚µãƒ–ã‚¹ã‚¯ãƒªãƒ—ã‚·ãƒ§ãƒ³ã‚’å†æœ‰åŠ¹åŒ–ã—ãŸå ´åˆã¯ null ã«è¨­å®šã•れã¾ã™ã€‚
billing_issue_detected_atISO 8601 dateYesYes請求ã®å•題(カードã¸ã®èª²é‡‘失敗ãªã©ï¼‰ãŒæ¤œå‡ºã•ã‚ŒãŸæ—¥æ™‚。サブスクリプションã¯ã¾ã æœ‰åйãªå ´åˆãŒã‚りã¾ã™ã€‚ãã®å¾Œã®æ”¯æ‰•ã„ãŒæˆåŠŸã—ãŸå ´åˆã¯ã‚¯ãƒªã‚¢ã•れã¾ã™ã€‚
is_in_grace_periodBooleanYesNoサブスクリプションãŒã‚°ãƒ¬ãƒ¼ã‚¹æœŸé–“中ã‹ã©ã†ã‹ã‚’示ã—ã¾ã™ï¼ˆè‡ªå‹•更新サブスクリプションã®ã¿ï¼‰ã€‚
cancellation_reasonStringYesYesキャンセルã®ç†ç”±ã€‚é¸æŠžè‚¢: voluntarily_cancelledã€billing_errorã€price_increaseã€product_was_not_availableã€refundã€upgradedã€unknown。

Although the SDK includes the is_active parameter to check if a subscription is active, the server-side API does not provide this parameter. However, you can determine subscription status at any time by checking whether the current date falls between the starts_at and expires_at parameters.


Installation Meta

Information about installation of the app on a specific device.

You can do the following action via Adapty server-side API:

ParameterTypeRequiredNullableDescription
device_idStringYesNoThe device identifier is generated on the client side.
deviceStringNoYesThe end-user-visible device model name.
localeStringNoYesThe locale used by the end user.
osStringNoYesThe operating system used by the end user.
platformStringNoYesThe device platform used by the end user.
timezoneStringNoYesThe timezone of the end user.
user_agentStringNoYesDetails about the end user environment: device, operating system, and browser information of the end user interacting with your application.
idfaStringNoYesThe Identifier for Advertisers, assigned by Apple to a user’s device.
idfvStringNoYesThe Identifier for Vendors (IDFV) is a code assigned to all apps by one developer and is shared across all apps by that developer on your device.
advertising_idStringNoYesThe Advertising ID is a unique identifier offered by the Android Operating System that advertisers might use to uniquely identify you.
android_idStringNoYesOn Android 8.0 (API level 26) and higher versions of the platform, a 64-bit number (expressed as a hexadecimal string), unique to each combination of app-signing key, user, and device. For more details, see Android developer documentation.
android_app_set_idStringNoYesAn AppSetId - unique, per-device, per developer-account user-resettable ID for non-monetizing advertising use cases.

Non Subscription

Info about non-subscription purchases. These can be one-time (consumable) products, unlocks (like new map unlock in the game), etc.

You can do the following action via Adapty server-side API:

ParameterTypeRequiredNullableDescription
purchase_idStringYesNoIdentifier of the purchase in Adapty. You can use it to ensure that you’ve already processed this purchase, for example tracking one-time products.
storeStringYesNoStore where the product was purchased. Possible values are: app_store, play_store, stripe, name of your custom store.
store_product_idStringYesNoIdentifier of the product in the app store (App Store/Google Play/Stripe, etc.) that unlocked this access level.
store_base_plan_idStringYesYesBase plan ID in the Google Play Store or price ID in Stripe.
store_transaction_idStringYesNoThe ID of the transaction in the app store (App Store/Google Play/Stripe, etc.).
store_original_transaction_idStringYesNo

In case of prolonged subscriptions, a chain of subscriptions is generated. The original transaction i the very first transaction in this chain and the chain is linked by it. Other transactions in the chain are prolongations.

If no prolongation, store_original_transaction_id will coincide with store_transaction_id.

purchased_atISO 8601 dateYesNoThe datetime when the access level was purchased the latest time.
environmentStringNoNoEnvironment of the transaction that provided the access level. Possible values: Sandbox, Production.
is_refundBooleanYesNoIndicates if the product has been refunded.
is_consumableBooleanYesNoIndicates whether the product is consumable.

One-Time Purchase

パラメーター型必須Null許容説明
purchase_typeStringYesNo購入ã—ãŸãƒ—ロダクトã®ç¨®é¡žã€‚使用å¯èƒ½ãªå€¤: one_time_purchase。
storeStringYesNoプロダクトãŒè³¼å…¥ã•れãŸã‚¹ãƒˆã‚¢ã€‚使用å¯èƒ½ãªå€¤: app_storeã€play_storeã€stripeã€ã¾ãŸã¯ã‚«ã‚¹ã‚¿ãƒ ã‚¹ãƒˆã‚¢ã®ã‚¹ãƒˆã‚¢ID。
environmentStringNoNoアクセスレベルを付与ã—ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ç’°å¢ƒã€‚オプション: Sandboxã€Production。デフォルト㯠Production。
store_product_idStringYesNoã“ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’アンロックã—ãŸã‚¢ãƒ—リストア(App Storeã€Google Playã€Stripeãªã©ï¼‰å†…ã®ãƒ—ロダクトID。
store_transaction_idStringYesNoアプリストア(App Storeã€Google Playã€Stripeãªã©ï¼‰å†…ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ID。
store_original_transaction_idStringYesNo

自動更新サブスクリプションã®å ´åˆã€æ›´æ–°ãƒã‚§ãƒ¼ãƒ³ã‚’ç´ä»˜ã‘ã‚‹å…ƒã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ID。元ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒãƒã‚§ãƒ¼ãƒ³ã®æœ€åˆã§ã‚りã€ä»¥é™ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯æ›´æ–°åˆ†ã§ã™ã€‚

æ›´æ–°ãŒãªã„å ´åˆã€store_original_transaction_id 㯠store_transaction_id ã¨ä¸€è‡´ã—ã¾ã™ã€‚

offerObjectNoYes購入ã«ä½¿ç”¨ã•れãŸã‚ªãƒ•ァー(Offer オブジェクト)。
is_family_sharedBooleanNoNoApp Store Connect ã§ãƒ—ロダクトãŒãƒ•ァミリー共有をサãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’示ã™ãƒ–ール値。iOS ã®ã¿ã€‚iOS 14.0 未満ãŠã‚ˆã³ macOS 11.0 未満ã§ã¯å¸¸ã« false。デフォルト㯠false。
priceObjectYesNoè²·ã„切り購入ã®ä¾¡æ ¼ï¼ˆPrice オブジェクト)。コストãŒã‚¼ãƒ­ã®åˆå›žã‚µãƒ–スクリプション購入ã¯ç„¡æ–™ãƒˆãƒ©ã‚¤ã‚¢ãƒ«ã€ã‚³ã‚¹ãƒˆãŒã‚¼ãƒ­ã®æ›´æ–°ã¯ç„¡æ–™æ›´æ–°ã§ã™ã€‚
purchased_atISO 8601 dateYesNoã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ãŒæœ€å¾Œã«è³¼å…¥ã•ã‚ŒãŸæ—¥æ™‚。
refunded_atISO 8601 dateNoNo返金ã•れãŸå ´åˆã€è¿”金日時を表示ã—ã¾ã™ã€‚
cancellation_reasonStringNoNoキャンセルã®ç†ç”±ã¨ã—ã¦ä½¿ç”¨å¯èƒ½ãªå€¤: voluntarily_cancelledã€billing_errorã€price_increaseã€product_was_not_availableã€refundã€cancelled_by_developerã€new_subscriptionã€unknown。
variation_idStringNoNo購入ãŒã©ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‹ã‚‰è¡Œã‚れãŸã‹ã‚’追跡ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ãƒãƒªã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ID。

Offer

Information on the applied offer. The Offer object is a part of the Subscription, and Access level objects.

You can do the following actions with offers via Adapty server-side API:

ParameterTypeRequiredNullableDescription
categoryStringYesNoThe category of the applied offer. Options are: introductory, promotional, offer_code, win_back.
typeStringYesNoThe type of active offer. Options are: free_trial, pay_as_you_go, pay_up_front, and unknown. If this isn’t null, it means the offer was applied in the current subscription period.
idStringNoYesThe ID of the applied offer.

Price

Information about the cost of your product in local currency. The Price object is a part of the Subscription and Purchase objects.

You can do the following actions with product price via Adapty server-side API:

ParameterTypeRequiredNullableDescription
countryStringYesNoThe country where the price applies.
currencyStringYesNoThe currency used for the price.
valueFloatYesNoThe product’s cost in the local currency.

Profile

Info about the customer and their subscription

You can do the following actions with user profiles via Adapty server-side API:

パラメータ型Null許容説明
app_idString:heavy_minus_sign:アプリã®å†…部IDã§ã™ã€‚Adapty ダッシュボード㮠App Settings -> General tab ã§ç¢ºèªã§ãã¾ã™ã€‚
profile_idUUID:heavy_minus_sign:Adapty プロファイルID。Adapty ダッシュボード㮠Adapty ID フィールド -> Profiles -> å„プロファイルページã§ç¢ºèªã§ãã¾ã™ã€‚
customer_user_idString:heavy_plus_sign:ãŠä½¿ã„ã®ã‚·ã‚¹ãƒ†ãƒ ã«ãŠã‘るユーザーIDã§ã™ã€‚Adapty ダッシュボード㮠Customer user ID フィールド -> Profiles -> å„プロファイルページã§ç¢ºèªã§ãã¾ã™ã€‚モãƒã‚¤ãƒ«ã‚¢ãƒ—リã®ã‚³ãƒ¼ãƒ‰ã§ Adapty SDK を使ã£ã¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’識別ã—ã¦ã„ã‚‹å ´åˆã«ã®ã¿æ©Ÿèƒ½ã—ã¾ã™ã€‚
total_revenue_usdFloat:heavy_minus_sign:ãã®ãƒ—ロファイルã§ç²å¾—ã—㟠USD 建ã¦ç·åŽç›Šã‚’è¡¨ã™æµ®å‹•å°æ•°ç‚¹æ•°ã®å€¤ã§ã™ã€‚
segment_hashString:heavy_minus_sign:内部パラメータã§ã™ã€‚
timestampInteger:heavy_minus_sign:レスãƒãƒ³ã‚¹æ™‚間(ミリ秒)。競åˆçŠ¶æ…‹ã®è§£æ±ºã«ä½¿ç”¨ã—ã¾ã™ã€‚
custom_attributesArray:heavy_minus_sign:

プロファイルã«è¨­å®šã§ãã‚‹ã‚«ã‚¹ã‚¿ãƒ å±žæ€§ã¯æœ€å¤§30ä»¶ã§ã™ã€‚custom_attributes é…列を指定ã™ã‚‹å ´åˆã¯ã€å°‘ãªãã¨ã‚‚1ã¤ã®å±žæ€§ã‚­ãƒ¼ã‚’å«ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

キー: 30æ–‡å­—ä»¥å†…ã®æ–‡å­—列ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚使用ã§ãã‚‹ã®ã¯è‹±å­—ã€æ•°å­—ã€ãƒ€ãƒƒã‚·ãƒ¥ã€ãƒ”リオドã€ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ã®ã¿ã§ã™ã€‚

値: 属性値ã¯30文字以内ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚値ã¨ã—ã¦ä½¿ç”¨ã§ãã‚‹ã®ã¯æ–‡å­—åˆ—ã¨æµ®å‹•å°æ•°ç‚¹æ•°ã®ã¿ã§ã™ã€‚ãƒ–ãƒ¼ãƒ«å€¤ã¯æµ®å‹•å°æ•°ç‚¹æ•°ã«å¤‰æ›ã•れã¾ã™ã€‚属性を削除ã™ã‚‹ã«ã¯ç©ºã®å€¤ã¾ãŸã¯ null ã‚’é€ä¿¡ã—ã¦ãã ã•ã„。

access_levelsArray:heavy_plus_sign:アクセスレベル オブジェクトã®é…列ã§ã™ã€‚ユーザーãŒã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’æŒãŸãªã„å ´åˆã¯ null ã«ãªã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚
subscriptionsArray:heavy_plus_sign:サブスクリプション オブジェクトã®é…列ã§ã™ã€‚ユーザーãŒã‚µãƒ–スクリプションをæŒãŸãªã„å ´åˆã¯ null ã«ãªã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚
non_subscriptionsArray:heavy_plus_sign:Non-Subscription オブジェクトã®é…列ã§ã™ã€‚ユーザーãŒè³¼å…¥å±¥æ­´ã‚’æŒãŸãªã„å ´åˆã¯ null ã«ãªã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚

Product

This object contains details about a product in Adapty.

NameTypeRequiredDescription
titleStringNoProduct name from the Products section in the Adapty Dashboard.
is_consumableBooleanYesIndicates whether the product is consumable.
adapty_product_idUUIDNoInternal product ID as used in Adapty.
vendor_product_idStringYes

The product ID in app stores.

If access was granted without a real store transaction, vendor_product_id will be one of:

  • adapty_server_side_product — granted via the server-side API.
  • adapty_dashboard_product — granted manually in the Adapty Dashboard.
  • adapty_promotion — legacy.
introductory_offer_eligibilityBooleanNoSpecifies if the user is eligible for an iOS introductory offer.
promotional_offer_eligibilityBooleanNoSpecifies if the user is eligible for a promotional offer.
base_plan_idStringNoBase plan ID for Google Play or price ID for Stripe.
offerJSONNoAn Offer object as a JSON.
{
  "title": "Monthly Subscription w/o Trial",
  "is_consumable": true,
  "adapty_product_id": "InternalProductId",
  "vendor_product_id": "onemonth_no_trial",
  "introductory_offer_eligibility": false,
  "promotional_offer_eligibility": true,
  "base_plan_id": "B1",
  "offer": {
    "category": "promotional",
    "type": "pay_up_front",
    "id": "StoreOfferId"
  }
}

RemoteConfig

This object contains information about a remote config for a paywall.

{
  "lang": "en",
  "data": "{\"bodyItems\":[{\"spacerValue\":{\"height\":20,\"style\":{\"type\":\"emptySpace\"}},\"type\":\"spacer\"},{\"mediaValue\":{\"ratio\":\"1:1\",\"source\":{\"fileType\":\"image\",\"reference\":{\"en\":\"bundle/images/new1.png\"}},\"widthStyle\":\"full\"},\"type\":\"media\"},{\"titleValue\":{\"alignment\":\"center\",\"subtitleConfig\":{\"fontSize\":17,\"text\":\"\",\"color\":\"#FFFFFF\"},\"titleConfig\":{\"fontSize\":22,\"text\":\"\"}},\"type\":\"title\"},{\"productListValue\":{\"items\":[{\"productId\":\"exampleapp.oneWeek\",\"promoText\":\"paywall.promo-1.title\",\"backgroundColor\":\"#0B867D\"},{\"discountRate\":80,\"productId\":\"exampleapp.oneYear\",\"promoText\":\"paywall.promo-2.title\",\"backgroundColor\":\"#0B867D\"}],\"layout\":\"vertical\"},\"type\":\"productList\"}],\"defaultProductId\":\"exampleapp.oneWeek\",\"footer\":{\"singleProductValue\":{\"customTitles\":{\"exampleapp.oneWeek\":\"Subscribe\",\"exampleapp.oneYear\":\"Subscribe\"},\"productId\":\"exampleapp.oneWeek\"},\"type\":\"singleProduct\"},\"id\":\"exampleapp\",\"isFullScreen\":true,\"settings\":{\"backgroundColor\":\"#000000\",\"closeButtonAlignment\":\"left\",\"closeButtonIconStyle\":\"light\",\"colorScheme\":{\"accent\":\"#007566\",\"background\":\"#001B0D\",\"label\":\"#FFFFFF\",\"primary\":\"#10C6B6\",\"secondaryLabel\":\"#FFFFFF\",\"seperator\":\"#FFFFFF\"},\"isFullScreen\":true,\"shouldShowAlertOnClose\":false,\"showCloseButtonAfter\":1,\"triggerPurchaseWithAlert\":false,\"triggerPurchaseWithProductChange\":false}}"
}
NameTypeRequiredDescription
langStringYes

Locale code for the paywall localization. It uses language and region subtags separated by a hyphen (-).

Examples: en for English, pt-br for Brazilian Portuguese.

Refer to Localizations and locale codes for more details.

dataStringYesSerialized JSON string representing the remote config of your paywall. You can find it in the Remote Config tab of a specific paywall in the Adapty Dashboard.

Subscription

Info about your end user subscription. You can do the following action via Adapty server-side API:

パラメータ型必須Null許容説明
purchase_typeStringYesNo購入ã—ãŸãƒ—ロダクトã®ç¨®åˆ¥ã€‚指定å¯èƒ½ãªå€¤: subscription。
storeStringYesNoプロダクトを購入ã—ãŸã‚¹ãƒˆã‚¢ã€‚app_storeã€play_storeã€stripeã€ã¾ãŸã¯ã‚«ã‚¹ã‚¿ãƒ ã‚¹ãƒˆã‚¢ã®ã‚¹ãƒˆã‚¢IDを指定ã—ã¾ã™ã€‚
environmentStringNoNoトランザクションãŒç™ºç”Ÿã—ãŸç’°å¢ƒã€‚Sandbox ã¾ãŸã¯ Production を指定ã—ã¾ã™ã€‚デフォルト㯠Production ã§ã™ã€‚
store_product_idStringYesNoã“ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã‚’アンロックã—ãŸã‚¢ãƒ—リストア(App Storeã€Google Playã€Stripeãªã©ï¼‰ä¸Šã®ãƒ—ロダクトID。
store_transaction_idStringYesNoアプリストア(App Storeã€Google Playã€Stripeãªã©ï¼‰ä¸Šã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ID。
store_original_transaction_idStringYesNo

サブスクリプションã®å ´åˆã€ã“ã®IDã¯æ›´æ–°ãƒã‚§ãƒ¼ãƒ³å†…ã®æœ€åˆã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«ç´ã¥ãã¾ã™ã€‚儿›´æ–°ã¯ã“ã®ã‚ªãƒªã‚¸ãƒŠãƒ«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¨é€£çµã•れã¾ã™ã€‚

æ›´æ–°ãŒãªã„å ´åˆã€store_original_transaction_id 㯠store_transaction_id ã¨åŒã˜å€¤ã«ãªã‚Šã¾ã™ã€‚

offerObjectNoYes購入ã«ä½¿ç”¨ã•れãŸã‚ªãƒ•ァー。Offer オブジェクトã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚
is_family_sharedBooleanNoNoApp Store Connectã§ãƒ—ロダクトãŒãƒ•ァミリー共有をサãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’示ã™Boolean値。iOSã®ã¿å¯¾å¿œã€‚iOS 14.0未満ãŠã‚ˆã³macOS 11.0未満ã§ã¯å¸¸ã« false。デフォルト㯠false ã§ã™ã€‚
priceObjectYesNoサブスクリプションã¾ãŸã¯è³¼å…¥ã®ä¾¡æ ¼ã€‚Price オブジェクトã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚コストãŒã‚¼ãƒ­ã®åˆå›žã‚µãƒ–スクリプション購入ã¯ç„¡æ–™ãƒˆãƒ©ã‚¤ã‚¢ãƒ«ã€ã‚³ã‚¹ãƒˆãŒã‚¼ãƒ­ã®æ›´æ–°ã¯ç„¡æ–™æ›´æ–°ã¨ãªã‚Šã¾ã™ã€‚
purchased_atISO 8601 dateYesNoç›´è¿‘ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«è³¼å…¥æ—¥æ™‚。
refunded_atISO 8601 dateNoNoサブスクリプションãŒè¿”金ã•ã‚ŒãŸæ—¥æ™‚(該当ã™ã‚‹å ´åˆï¼‰ã€‚
cancellation_reasonStringNoNoキャンセルç†ç”±ã¨ã—ã¦æŒ‡å®šå¯èƒ½ãªå€¤: voluntarily_cancelledã€billing_errorã€price_increaseã€product_was_not_availableã€refundã€upgradedã€ã¾ãŸã¯ unknown。
variation_idStringNoNo購入ãŒã©ã®ãƒšã‚¤ã‚¦ã‚©ãƒ¼ãƒ«ã‹ã‚‰è¡Œã‚れãŸã‹ã‚’追跡ã™ã‚‹ãŸã‚ã®ãƒãƒªã‚¨ãƒ¼ã‚·ãƒ§ãƒ³ID。
originally_purchased_atISO 8601 dateYesNoサブスクリプションãƒã‚§ãƒ¼ãƒ³ã®å ´åˆã€store_original_transaction_id ã«ç´ã¥ãオリジナルトランザクションã®è³¼å…¥æ—¥æ™‚。
expires_atISO 8601 dateYesNoã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã®æœ‰åŠ¹æœŸé™æ—¥æ™‚。éŽåŽ»ã®æ—¥æ™‚ã«ãªã‚‹ã“ã¨ã‚‚ã‚ã‚Šã€æ°¸ç¶šã‚¢ã‚¯ã‚»ã‚¹ã®å ´åˆã¯ null ã«ãªã‚Šã¾ã™ã€‚
renew_statusBooleanYesNoサブスクリプションã®è‡ªå‹•æ›´æ–°ãŒæœ‰åйã‹ã©ã†ã‹ã‚’示ã—ã¾ã™ã€‚
renew_status_changed_atISO 8601 dateNoNoè‡ªå‹•æ›´æ–°ãŒæœ‰åŠ¹åŒ–ã¾ãŸã¯ç„¡åŠ¹åŒ–ã•ã‚ŒãŸæ—¥æ™‚。
billing_issue_detected_atISO 8601 dateNoNo請求上ã®å•題(カード決済ã®å¤±æ•—ãªã©ï¼‰ãŒæ¤œå‡ºã•ã‚ŒãŸæ—¥æ™‚。サブスクリプション自体ã¯ã¾ã æœ‰åйãªå ´åˆãŒã‚りã¾ã™ã€‚決済ãŒå®Œäº†ã™ã‚‹ã¨ã‚¯ãƒªã‚¢ã•れã¾ã™ã€‚
grace_period_expires_atISO 8601 dateNoNoサブスクリプションãŒç¾åœ¨ã‚°ãƒ¬ãƒ¼ã‚¹æœŸé–“中ã®å ´åˆã€ãã®çµ‚了日時。

Although the SDK includes the is_active parameter to check if a subscription is active, the server-side API does not provide this parameter. However, you can determine subscription status at any time by checking whether the current date falls between the starts_at and expires_at parameters of the Access Level object.

ÿÿÿÿ