# Subscriptions

## Get subscriptions

> Retrieves all subscriptions for the specified store.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"subscriptions"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"SubscriptionStatus":{"enum":["invalid","created","active","canceled"],"type":"string","description":"Represents the current state of a subscription."},"SubscriptionDto":{"required":["coupon_ids","created_at","currency","customer","discount_amount","discount_amount_str","gift","id","initial_discount_amount","initial_discount_amount_str","initial_giftcard_usage_amount","initial_giftcard_usage_amount_str","initial_subtotal_amount","initial_subtotal_amount_str","initial_tax_amount","initial_tax_amount_str","initial_total_amount","initial_total_amount_str","interval_scale","interval_value","lines","next_billing_amount","next_billing_presentment_amount","pretty_id","price","status","store_id","subtotal_amount","subtotal_amount_str","tax_amount","tax_amount_str","tax_inclusive","tax_jurisdictions","total_amount","total_amount_str"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"pretty_id":{"type":"string","description":"Human-readable identifier for the subscription."},"store_id":{"$ref":"#/components/schemas/FlakeId"},"store":{"$ref":"#/components/schemas/StorefrontStoreDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"payment_method_id":{"$ref":"#/components/schemas/FlakeId"},"payment_method":{"$ref":"#/components/schemas/PaymentMethodDto"},"pending_change":{"$ref":"#/components/schemas/SubscriptionChangeDto"},"next_billing_amount":{"$ref":"#/components/schemas/SubscriptionBillingAmountDto"},"next_billing_presentment_amount":{"$ref":"#/components/schemas/SubscriptionBillingAmountDto"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"},"coupon_id":{"$ref":"#/components/schemas/FlakeId"},"coupon_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Identifiers of coupons applied to this subscription."},"coupon_repeating_ends_at":{"type":["null","string"],"description":"Date when a repeating coupon ends for this subscription.","format":"date-time","deprecated":true},"affiliate_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"billing_name":{"type":["null","string"],"description":"Name used for billing purposes."},"billing_email":{"type":["null","string"],"description":"Email used for billing purposes."},"billing_country":{"type":["null","string"],"description":"Country code used for billing purposes."},"tax_jurisdictions":{"type":"array","items":{"$ref":"#/components/schemas/SalesTaxJurisdictionDto"},"description":"List of tax jurisdictions applicable to this subscription."},"customer_ip":{"type":["null","string"],"description":"IP address of the customer at the time of subscription."},"gift":{"type":"boolean","description":"Indicates whether this subscription is a gift.","readOnly":true,"deprecated":true},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"gift_to_customer":{"$ref":"#/components/schemas/CustomerDto"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":["null","string"],"description":"Name of the product associated with this subscription.","readOnly":true,"deprecated":true},"product_image_url":{"type":["null","string"],"description":"URL for the product image.","readOnly":true,"deprecated":true},"interval_value":{"type":"integer","description":"Numeric value of the billing interval.","format":"int32"},"interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"currency":{"type":"string","description":"Currency code used for billing this subscription."},"tax_inclusive":{"type":"boolean","description":"Indicates whether tax is included in the base price itself.","readOnly":true,"deprecated":true},"price":{"type":"integer","description":"Base price of the subscription in smallest currency units (e.g., cents).","format":"int64","readOnly":true,"deprecated":true},"price_str":{"type":["null","string"],"description":"Formatted string representation of the price.","readOnly":true,"deprecated":true},"discount_amount":{"type":"integer","description":"Amount of discount applied in smallest currency units.","format":"int64"},"discount_amount_str":{"type":"string","description":"Formatted string representation of the discount amount.","readOnly":true},"subtotal_amount":{"type":"integer","description":"Subtotal amount in smallest currency units.","format":"int64"},"subtotal_amount_str":{"type":"string","description":"Formatted string representation of the subtotal amount.","readOnly":true},"tax_amount":{"type":"integer","description":"Tax amount in smallest currency units.","format":"int64"},"tax_amount_str":{"type":"string","description":"Formatted string representation of the tax amount.","readOnly":true},"total_amount":{"type":"integer","description":"Total amount in smallest currency units.","format":"int64"},"total_amount_str":{"type":"string","description":"Formatted string representation of the total amount.","readOnly":true},"initial_discount_amount":{"type":"integer","description":"Initial discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_discount_amount_str":{"type":"string","description":"Formatted string representation of the initial discount amount.","readOnly":true},"initial_subtotal_amount":{"type":"integer","description":"Initial subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_subtotal_amount_str":{"type":"string","description":"Formatted string representation of the initial subtotal amount.","readOnly":true},"initial_giftcard_usage_amount":{"type":"integer","description":"Initial gift card usage amount in smallest currency units.","format":"int64"},"initial_giftcard_usage_amount_str":{"type":"string","description":"Formatted string representation of the initial gift card usage amount.","readOnly":true},"initial_tax_amount":{"type":"integer","description":"Initial tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_tax_amount_str":{"type":"string","description":"Formatted string representation of the initial tax amount.","readOnly":true},"initial_total_amount":{"type":"integer","description":"Initial total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_total_amount_str":{"type":"string","description":"Formatted string representation of the initial total amount.","readOnly":true},"presentment_currency":{"type":["null","string"],"description":"Presentment currency code (currency shown to customer)."},"presentment_subtotal_amount":{"type":["null","integer"],"description":"Presentment subtotal amount in smallest currency units.","format":"int64"},"presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment subtotal amount.","readOnly":true},"presentment_discount_amount":{"type":["null","integer"],"description":"Presentment discount amount in smallest currency units.","format":"int64"},"presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment discount amount.","readOnly":true},"presentment_tax_amount":{"type":["null","integer"],"description":"Presentment tax amount in smallest currency units.","format":"int64"},"presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment tax amount.","readOnly":true},"presentment_total_amount":{"type":["null","integer"],"description":"Presentment total amount in smallest currency units.","format":"int64"},"presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment total amount.","readOnly":true},"initial_presentment_discount_amount":{"type":["null","integer"],"description":"Initial presentment discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment discount amount.","readOnly":true},"initial_presentment_subtotal_amount":{"type":["null","integer"],"description":"Initial presentment subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment subtotal amount.","readOnly":true},"initial_presentment_giftcard_usage_amount":{"type":["null","integer"],"description":"Initial presentment gift card usage amount in smallest currency units.","format":"int64"},"initial_presentment_giftcard_usage_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment gift card usage amount.","readOnly":true},"initial_presentment_tax_amount":{"type":["null","integer"],"description":"Initial presentment tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment tax amount.","readOnly":true},"initial_presentment_total_amount":{"type":["null","integer"],"description":"Initial presentment total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment total amount.","readOnly":true},"fx_rate":{"type":["null","string"],"description":"The foreign exchange rate applied (if presentment currency differs from settlement currency)."},"pricing_region_id":{"type":["null","string"],"description":"Identifier for the pricing region associated with this subscription.","readOnly":true,"deprecated":true},"current_period_start":{"type":["null","string"],"description":"Start date of the current billing period.","format":"date-time"},"current_period_end":{"type":["null","string"],"description":"End date of the current billing period.","format":"date-time"},"billing_cycle_sequence":{"type":["null","integer"],"description":"Sequence number of the current billing cycle.","format":"int32"},"next_attempt_at":{"type":["null","string"],"description":"Date and time when the next payment attempt will occur.","format":"date-time"},"attempt_count":{"type":["null","integer"],"description":"Number of payment attempts made for the current billing cycle.","format":"int32"},"created_at":{"type":"string","description":"Date and time when the subscription was created.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"Date and time when the subscription was last updated.","format":"date-time"},"active_at":{"type":["null","string"],"description":"Date and time when the subscription became active.","format":"date-time"},"canceled_at":{"type":["null","string"],"description":"Date and time when the subscription was canceled.","format":"date-time"},"cancel_reason":{"type":["null","string"],"description":"Reason provided for cancellation."},"lines":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionLineDto"},"description":"Line items associated with this subscription."}},"additionalProperties":false,"description":"Data transfer object representing a store subscription."},"StorefrontStoreDto":{"required":["creator_currency","currency","game","id","live_mode","name","platform","slug"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string","description":"The URL-friendly identifier for the store, used in store URLs."},"name":{"type":"string","description":"The display name of the store shown to customers."},"platform":{"type":"string","description":"The platform or the game of the store."},"game":{"type":"string","description":"The game of the store. Equivalent to the `platform` for backwards compatibility.","readOnly":true},"currency":{"type":"string","description":"The three-letter ISO currency code used for pricing in this store.\nIf using the Adaptive Currency feature, this will be updated to reflect customer's local currency\n(based on passed in IP / country headers)."},"creator_currency":{"type":"string","description":"The three-letter ISO currency code signifying the main currency of the store."},"description":{"type":["null","string"],"description":"A detailed description of the store. Only present for some platform types."},"website_url":{"type":["null","string"],"description":"The URL of the store's main website, if not using Hosted Webstores."},"support_email":{"type":["null","string"],"description":"The email address customers can use to contact store support."},"support_url":{"type":["null","string"],"description":"The URL of the store's support page."},"integration_type":{"type":["null","string"],"description":"The type of integration this store uses with external systems."},"live_mode":{"type":"boolean","description":"Indicates whether the store is in live mode (true) or test mode (false)."},"logo_url":{"type":["null","string"],"description":"The URL to the store's main logo image."},"logo_square_url":{"type":["null","string"],"description":"The URL to the store's square logo image."},"created_at":{"type":["null","string"],"description":"The date and time when the store was created.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"The date and time when the store was last updated.","format":"date-time"}},"additionalProperties":false,"description":"Represents a store entity within the storefront system."},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"store":{"$ref":"#/components/schemas/StoreDto"},"profile":{"$ref":"#/components/schemas/GenericProfileDto"},"steam_id":{"$ref":"#/components/schemas/SteamId"},"steam":{"$ref":"#/components/schemas/SteamProfileDto"},"minecraft_uuid":{"type":["null","string"],"description":"The customer's Minecraft UUID, if they have linked their Minecraft account.\nNot set for offline Minecraft stores. If the platform type is Minecraft - Geyser,\nand the profile is a bedrock account, this will be a UUID generated from the Xbox XUID."},"minecraft":{"$ref":"#/components/schemas/MinecraftProfileDto"},"xbox_xuid":{"type":["null","string"],"description":"The customer's Xbox XUID, if available."},"minecraft_platform":{"$ref":"#/components/schemas/CustomerMinecraftPlatform"},"name":{"type":["null","string"],"description":"The display name for the customer."},"created_at":{"type":"string","description":"The date and time when the customer was created in the system.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"The date and time when the customer was last updated, if applicable.","format":"date-time"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional custom data associated with the customer."}},"additionalProperties":false,"description":"Represents a customer in the PayNow system with their associated profiles and metadata."},"StoreDto":{"required":["currency","description","game","id","live_mode","name","owner_id","platform","slug"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"trust":{"$ref":"#/components/schemas/StoreTrustDto"},"owner_id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string","description":"The URL-safe slug used to identify the store (e.g. \"my-rust-server\")."},"name":{"type":"string","description":"The display name of the store."},"platform":{"type":"string","description":"The platform this store is associated with (e.g. \"rust\", \"minecraft\")."},"game":{"type":"string","description":"Alias for PayNow.Services.HttpGateway.DataTransferObjects.V1.Stores.StoreDto.Platform. Returns the platform identifier as a game name.","readOnly":true},"currency":{"type":"string","description":"The ISO 4217 currency code used by this store for pricing (e.g. \"usd\", \"eur\")"},"description":{"type":"string","description":"A human-readable description of the store shown to customers and PayNow."},"website_url":{"type":["null","string"],"description":"The store's public website URL."},"contact_email":{"type":["null","string"],"description":"General contact email address for the store."},"support_email":{"type":["null","string"],"description":"Dedicated support email address for customer inquiries."},"support_url":{"type":["null","string"],"description":"URL to the store's support portal or help page."},"integration_type":{"type":["null","string"],"description":"The integration type used by the store."},"live_mode":{"type":"boolean","description":"When set to true, the store is processing real transactions in live mode."},"logo_url":{"type":["null","string"],"description":"URL of the store's full-size logo image."},"logo_square_url":{"type":["null","string"],"description":"URL of the store's square/icon logo image."},"minecraft_bedrock_username_prefix":{"type":["null","string"],"description":"Username prefix used to identify Minecraft Bedrock players (e.g. \".\")."},"created_at":{"type":["null","string"],"description":"The UTC timestamp when the store was created.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"The UTC timestamp when the store was last updated.","format":"date-time"},"onboarding_completed_at":{"type":["null","string"],"description":"The UTC timestamp when the store completed onboarding.","format":"date-time"},"platform_store_type_association":{"$ref":"#/components/schemas/PlatformStoreTypeAssociationDetailsDto"},"members":{"type":["null","array"],"items":{"$ref":"#/components/schemas/StoreMemberDto"},"description":"The list of members who have access to manage this store."}},"additionalProperties":false,"description":"Represents a PayNow store and its associated configuration."},"StoreTrustDto":{"required":["created_at","events","pending_requirements","restrictions","status","store_id"],"type":"object","properties":{"store_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/StoreTrustStatusDto"},"status_reason":{"type":["null","string"]},"restrictions":{"$ref":"#/components/schemas/StoreRestrictionFlagDto"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":["null","string"],"format":"date-time"},"onboarding_steps":{"$ref":"#/components/schemas/StoreTrustOnboardingStepsDto"},"events":{"type":"array","items":{"$ref":"#/components/schemas/StoreTrustEventDto"}},"pending_requirements":{"type":"array","items":{"$ref":"#/components/schemas/TrustStoreRequirementDto"}}},"additionalProperties":false},"StoreTrustStatusDto":{"enum":["invalid","pending_review","requires_action","under_review","active","restricted","offboarded"],"type":"string"},"StoreRestrictionFlagDto":{"enum":["none","payments_disabled","payouts_disabled"],"type":"string"},"StoreTrustOnboardingStepsDto":{"required":["downloadable_files_added","gameserver_linked","kyc_completed","payout_onboarding_completed","products_created","store_id","store_owner_id","webhooks_active"],"type":"object","properties":{"store_id":{"$ref":"#/components/schemas/FlakeId"},"store_owner_id":{"$ref":"#/components/schemas/FlakeId"},"payout_onboarding_completed":{"type":"boolean"},"kyc_completed":{"type":"boolean"},"products_created":{"type":"boolean"},"gameserver_linked":{"type":"boolean"},"webhooks_active":{"type":"boolean"},"downloadable_files_added":{"type":"boolean"}},"additionalProperties":false},"StoreTrustEventDto":{"required":["actor","created_at","id","store_id","type"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/StoreTrustEventTypeDto"},"description":{"type":["null","string"]},"store_requirement_id":{"$ref":"#/components/schemas/FlakeId"},"store_review_id":{"$ref":"#/components/schemas/FlakeId"},"actor":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":"string","format":"date-time"}},"additionalProperties":false},"StoreTrustEventTypeDto":{"enum":["invalid","onboarded","escalated_to_review","action_required","restricted","offboarded","reactivated","requirement_added","requirement_submitted","requirement_verified","requirement_rejected","requirement_deadline_missed","requirement_waived","requirement_requires_revision","restriction_added","restriction_lifted","review_scheduled","review_completed"],"type":"string"},"ActorDto":{"required":["type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"TrustStoreRequirementDto":{"required":["category","code","created_at","id","metadata","name","requested_by","restricts_capabilities","status","store_id","submissions"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"template_id":{"type":["null","string"],"description":"Template ID if this requirement was created from a template. Null for ad-hoc requirements."},"originating_flag_id":{"$ref":"#/components/schemas/FlakeId"},"category":{"$ref":"#/components/schemas/StoreRequirementCategory"},"code":{"type":"string","description":"Unique code identifying the type of requirement. Copied from template or custom for ad-hoc requirements."},"name":{"type":"string","description":"Human-readable name of the requirement. Copied from template or custom for ad-hoc requirements."},"description":{"type":["null","string"],"description":"Detailed description explaining what the store needs to provide. Copied from template or custom for ad-hoc requirements."},"schema":{"type":"null","description":"JSON schema defining the form fields, validation rules, and document requirements"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional metadata for this requirement (stored as JSON)"},"status":{"$ref":"#/components/schemas/StoreRequirementStatus"},"requested_by":{"$ref":"#/components/schemas/StoreRequirementActionParty"},"requested_by_detail":{"type":["null","string"],"description":"Specifies the specific requester entity (e.g., \"stripe\", \"trolley\", or admin user ID)\nFree-form string for internal records"},"created_at":{"type":"string","description":"When this requirement was created","format":"date-time"},"updated_at":{"type":["null","string"],"description":"When this requirement was last updated","format":"date-time"},"deadline_at":{"type":["null","string"],"description":"When this requirement must be completed by (optional)","format":"date-time"},"submitted_at":{"type":["null","string"],"description":"When the store submitted their response to this requirement","format":"date-time"},"verified_at":{"type":["null","string"],"description":"When this requirement was verified and approved","format":"date-time"},"rejected_at":{"type":["null","string"],"description":"When this requirement was rejected for not meeting standards","format":"date-time"},"restricts_capabilities":{"type":"array","items":{"type":"string"},"description":"Store capabilities that are restricted until this requirement is satisfied"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/TrustStoreRequirementSubmissionDto"},"description":"Associated submissions for this requriement."}},"additionalProperties":false},"StoreRequirementCategory":{"enum":["invalid","business","kyc","compliance","risk","technical","financial","legal","other"],"type":"string","description":"Represents categories of requirements that must be fulfilled for store setup and compliance in the PayNow platform."},"StoreRequirementStatus":{"enum":["invalid","pending","under_review","requires_revision","approved","expired","waived","rejected_final"],"type":"string"},"StoreRequirementActionParty":{"enum":["invalid","store","paynow","payment_processor","payout_provider","kyc_provider","external"],"type":"string","description":"Determines the party that needs to perform or requests a verification"},"TrustStoreRequirementSubmissionDto":{"required":["id","store_id","store_requirement_field_id","store_requirement_id","submitted_at","submitted_by"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"store_requirement_id":{"$ref":"#/components/schemas/FlakeId"},"store_requirement_field_id":{"type":"string","description":"The identifier of the specific field within the store requirement."},"text_value":{"type":["null","string"],"description":"The text value submitted for this field, if applicable."},"file_id":{"type":["null","string"],"description":"The identifier of the uploaded file, if a file was submitted."},"file_name":{"type":["null","string"],"description":"The original name of the uploaded file."},"file_content_type":{"type":["null","string"],"description":"The MIME content type of the uploaded file."},"file_size_bytes":{"type":["null","integer"],"description":"The size of the uploaded file in bytes.","format":"int64"},"submitted_at":{"type":"string","description":"The timestamp when this submission was made.","format":"date-time"},"submitted_by":{"$ref":"#/components/schemas/ActorDto"},"submitted_by_ip_address":{"type":["null","string"],"description":"The IP address from which the submission was made."},"submitted_by_user_agent":{"type":["null","string"],"description":"The user agent string of the client that made the submission."}},"additionalProperties":false},"PlatformStoreTypeAssociationDetailsDto":{"required":["disable_billing_plans","display_disclaimers","full_external_management","platform_id","store_platform"],"type":"object","properties":{"platform_id":{"$ref":"#/components/schemas/FlakeId"},"associated_platform":{"$ref":"#/components/schemas/PublicPlatformDto"},"store_platform":{"type":"string","description":"The store platform identifier string (e.g. \"rust\", \"minecraft\")."},"paynow_platform_fee_percentage_override":{"type":["null","integer"],"description":"Overrides the default PayNow platform fee percentage for this association.\nExpressed in basis points (e.g. 250 = 2.50%).","format":"int64"},"connected_platform_fee_percentage":{"type":["null","integer"],"description":"The fee percentage charged by the connected platform.\nExpressed in basis points (e.g. 250 = 2.50%).","format":"int64"},"connected_platform_wallet_id":{"type":["null","integer"],"description":"The payout ID associated with the connected platform.","format":"int64"},"disable_billing_plans":{"type":"boolean","description":"When true, billing plans are disabled for this platform/store type combination."},"display_disclaimers":{"type":"boolean","description":"When true, legal or compliance disclaimers should be displayed to the end user."},"full_external_management":{"type":"boolean","description":"Whether the management hides some PayNow UI"}},"additionalProperties":false},"PublicPlatformDto":{"required":["accent_color","business_name","capabilities","country_code","created_at","description","id","logo_url","name","slug","type","updated_at","website_url"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string"},"type":{"$ref":"#/components/schemas/PlatformType"},"country_code":{"type":"string"},"business_name":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"website_url":{"type":"string"},"logo_url":{"type":"string"},"accent_color":{"type":"string"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCapability"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"disabled_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"PlatformType":{"enum":["invalid","marketplace","store_platform","other"],"type":"string"},"PlatformCapability":{"enum":["invalid","connected_users"],"type":"string"},"StoreMemberDto":{"required":["id","user","user_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"user_id":{"$ref":"#/components/schemas/FlakeId"},"user":{"$ref":"#/components/schemas/StoreMemberUserDto"},"added_at":{"type":["null","string"],"description":"The UTC timestamp when the member was added to the store.","format":"date-time"},"added_by":{"$ref":"#/components/schemas/ActorDto"},"role_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents a member of a PayNow store."},"StoreMemberUserDto":{"required":["id","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"},"email":{"type":["null","string"],"description":"The email address associated with the user.\nOnly visible if you are the store owner."},"first_name":{"type":["null","string"],"description":"The first name of the actor.\nHidden if the user has a set nickname, and you are not the store owner."},"last_name":{"type":["null","string"],"description":"The last name of the actor.\nHidden if the user has a set nickname, and you are not the store owner."},"nickname":{"type":["null","string"],"description":"The nickname of the user."}},"additionalProperties":false,"description":"Represents identity and profile information for a store member."},"GenericProfileDto":{"required":["id","name","platform"],"type":"object","properties":{"id":{"type":"string","description":"The platform-specific identifier for the profile."},"platform":{"type":"string","description":"The name of the platform this profile belongs to."},"name":{"type":"string","description":"The display name of the user on this platform."},"avatar_url":{"type":["null","string"],"description":"The URL to the user's avatar image on this platform."}},"additionalProperties":false,"description":"Represents a generic platform profile for a customer."},"SteamId":{"type":"string","additionalProperties":false,"description":"A 64-bit Steam account identifier. Accepts string or numeric format.","format":"steam-id"},"SteamProfileDto":{"required":["avatar_url","id","name"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/SteamId"},"name":{"type":"string","description":"The display name of the user on Steam."},"avatar_url":{"type":"string","description":"The URL to the user's Steam avatar image."}},"additionalProperties":false,"description":"Represents a Steam profile for a customer."},"MinecraftProfileDto":{"required":["avatar_url","id","name"],"type":"object","properties":{"id":{"type":"string","description":"The UUID of the Minecraft player.\nIf the platform is Minecraft Offline, this will be the name itself.\nIf the platform is Minecraft Geyser, and this is a Bedrock account, this ID will be an Xbox XUID."},"name":{"type":"string","description":"The username of the Minecraft player."},"avatar_url":{"type":"string","description":"The URL to the player's Minecraft skin rendered as an avatar."}},"additionalProperties":false,"description":"Represents a Minecraft profile for a customer."},"CustomerMinecraftPlatform":{"enum":["unknown","java","bedrock"],"type":"string"},"PaymentMethodDto":{"required":["created_at","customer_id","gateway","gateway_customer_id","gateway_entity_identifier","gateway_id","gateway_type","id","method_details","method_type"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"gateway":{"type":"string","description":"The payment gateway provider"},"gateway_id":{"type":"string","description":"The gateway's identifier for this payment method"},"gateway_customer_id":{"type":"string","description":"The gateway's customer identifier"},"gateway_type":{"type":"string","description":"The gateway-specific type identifier"},"method_type":{"type":"string","description":"The payment method type"},"method_details":{"$ref":"#/components/schemas/PaymentMethodDetailsDto"},"created_at":{"type":"string","description":"The date and time when this payment method was created","format":"date-time"},"gateway_entity_identifier":{"type":"string","description":"The gateway entity identifier"},"updated_at":{"type":["null","string"],"description":"The date and time when this payment method was last updated","format":"date-time"}},"additionalProperties":false,"description":"Represents a stored payment method"},"PaymentMethodDetailsDto":{"type":"object","properties":{"card":{"$ref":"#/components/schemas/CardDetailsDto"},"cashapp":{"$ref":"#/components/schemas/CashAppDetailsDto"},"paypal":{"$ref":"#/components/schemas/PayPalDetailsDto"},"link":{"$ref":"#/components/schemas/LinkDetailsDto"},"crypto":{"$ref":"#/components/schemas/CryptoDetailsDto"},"steamskins":{"$ref":"#/components/schemas/SteamSkinsDetailsDto"},"ideal":{"$ref":"#/components/schemas/IdealDetailsDto"},"p24":{"$ref":"#/components/schemas/P24DetailsDto"},"bancontact":{"$ref":"#/components/schemas/BancontactDetailsDto"},"klarna":{"$ref":"#/components/schemas/KlarnaDetailsDto"},"alipay":{"$ref":"#/components/schemas/AlipayDetailsDto"},"pay_by_bank":{"$ref":"#/components/schemas/PayByBankDetailsDto"},"pix":{"$ref":"#/components/schemas/PixDetailsDto"}},"additionalProperties":false,"description":"Contains detailed information about a payment method.\nDISCLAIMER: These fields are not guaranteed to be backwards compatible and may change or be removed without notice."},"CardDetailsDto":{"required":["brand","country","exp_month","exp_year","fingerprint","funding","last4"],"type":"object","properties":{"brand":{"type":"string","description":"The card brand"},"country":{"type":"string","description":"The country code where the card was issued"},"exp_month":{"type":"integer","description":"The card expiration month","format":"int32"},"exp_year":{"type":"integer","description":"The card expiration year","format":"int32"},"fingerprint":{"type":"string","description":"A unique fingerprint for this card"},"funding":{"type":"string","description":"The card funding type"},"last4":{"type":"string","description":"The last 4 digits of the card number"},"bin":{"type":["null","string"],"description":"The Bank Identification Number (first 6/8 digits of card).\nOnly available internally."},"issuer":{"type":["null","string"],"description":"The card issuer/bank name.\nOnly available internally."},"description":{"type":["null","string"],"description":"The card description.\nOnly available internally."},"wallet":{"$ref":"#/components/schemas/CardWalletDto"}},"additionalProperties":false,"description":"Card payment method details"},"CardWalletDto":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of digital wallet"}},"additionalProperties":false,"description":"Digital wallet details for a card"},"CashAppDetailsDto":{"required":["buyer_id","cashtag"],"type":"object","properties":{"buyer_id":{"type":"string","description":"The Cash App buyer identifier"},"cashtag":{"type":"string","description":"The Cash App cashtag"}},"additionalProperties":false,"description":"Cash App payment method details"},"PayPalDetailsDto":{"required":["country","payer_email","payer_id","payer_name","vault"],"type":"object","properties":{"payer_id":{"type":"string","description":"The PayPal payer identifier"},"payer_email":{"type":"string","description":"The PayPal account email"},"payer_name":{"type":"string","description":"The PayPal account holder name"},"country":{"type":"string","description":"The country code of the PayPal account"},"vault":{"type":"boolean","description":"Indicates if this PayPal account is vaulted"},"pending_vault_approval":{"type":["null","boolean"],"description":"Indicates if vault approval is pending"},"standalone_setup":{"type":["null","boolean"],"description":"Indicates if this is a standalone setup"}},"additionalProperties":false,"description":"PayPal payment method details"},"LinkDetailsDto":{"required":["email"],"type":"object","properties":{"email":{"type":"string","description":"The email associated with the Link account"}},"additionalProperties":false,"description":"Link payment method details"},"CryptoDetailsDto":{"required":["confirmations","crypto_amount","crypto_currency","total_paid"],"type":"object","properties":{"crypto_currency":{"type":"string","description":"The cryptocurrency used"},"crypto_amount":{"type":"string","description":"The amount in cryptocurrency"},"total_paid":{"type":"string","description":"The total amount paid in cryptocurrency"},"confirmations":{"type":"integer","description":"The number of blockchain confirmations","format":"int32"}},"additionalProperties":false,"description":"Cryptocurrency payment method details"},"SteamSkinsDetailsDto":{"required":["items"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SteamSkinsInventoryItemDetailsDto"},"description":"The list of Steam inventory items used for payment"}},"additionalProperties":false,"description":"Steam Skins payment method details"},"SteamSkinsInventoryItemDetailsDto":{"required":["app_id","id","name","price"],"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the Steam item"},"app_id":{"type":"integer","description":"The Steam app ID","format":"int32"},"name":{"type":"string","description":"The name of the item"},"price":{"type":"integer","description":"The price of the item in the smallest currency unit","format":"int32"}},"additionalProperties":false},"IdealDetailsDto":{"required":["bank","bic"],"type":"object","properties":{"bank":{"type":"string","description":"The bank identifier"},"bic":{"type":"string","description":"The Bank Identifier Code"},"iban_last4":{"type":["null","string"],"description":"The last 4 digits of the IBAN"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"iDEAL payment method details"},"P24DetailsDto":{"required":["bank"],"type":"object","properties":{"bank":{"type":"string","description":"The bank identifier"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Przelewy24 payment method details"},"BancontactDetailsDto":{"type":"object","properties":{"bank":{"type":["null","string"],"description":"The bank identifier"},"bank_name":{"type":["null","string"],"description":"The bank name"},"bic":{"type":["null","string"],"description":"The Bank Identifier Code"},"iban_last4":{"type":["null","string"],"description":"The last 4 digits of the IBAN"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Bancontact payment method details"},"KlarnaDetailsDto":{"type":"object","properties":{"country":{"type":["null","string"],"description":"The country code"},"method_category":{"type":["null","string"],"description":"The Klarna payment method category"}},"additionalProperties":false,"description":"Klarna payment method details"},"AlipayDetailsDto":{"type":"object","properties":{"buyer_id":{"type":["null","string"],"description":"The Alipay buyer identifier"},"fingerprint":{"type":["null","string"],"description":"A unique fingerprint for this Alipay account"}},"additionalProperties":false,"description":"Alipay payment method details"},"PayByBankDetailsDto":{"type":"object","properties":{"bank_name":{"type":["null","string"],"description":"The bank name"},"bic":{"type":["null","string"],"description":"The Bank Identifier Code"},"country":{"type":["null","string"],"description":"The country code"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Pay by Bank payment method details"},"PixDetailsDto":{"type":"object","properties":{"bank_name":{"type":["null","string"],"description":"The bank name"},"bank_account_number":{"type":["null","string"],"description":"The bank account number"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Pix payment method details"},"SubscriptionChangeDto":{"required":["created_at","id","lines","next_billing_amount","next_billing_presentment_amount","off_session","prorated_amount","proration_behavior","status","subscription_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"prorated_order_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/SubscriptionChangeStatusDto"},"proration_behavior":{"$ref":"#/components/schemas/ProrationBehaviorDto"},"off_session":{"type":"boolean","description":"Whether this change was initiated without active customer interaction."},"prorated_amount":{"$ref":"#/components/schemas/SubscriptionChangeProratedAmountDto"},"created_at":{"type":"string","format":"date-time"},"applied_at":{"type":["null","string"],"format":"date-time"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionChangeLineDto"}},"next_billing_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"},"next_billing_presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"}},"additionalProperties":false,"description":"A pending or applied change to a subscription."},"SubscriptionChangeStatusDto":{"enum":["invalid","pending_payment","pending_renewal","applied","canceled","pending_verification"],"type":"string","description":"Represents the status of a subscription change."},"ProrationBehaviorDto":{"enum":["invalid","immediate","next_billing_period","none"],"type":"string","description":"Describes how proration is handled when a subscription change is applied."},"SubscriptionChangeProratedAmountDto":{"required":["currency","presentment_currency","presentment_prorated_amount","prorated_amount"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 settlement currency code, in lowercase."},"prorated_amount":{"type":"integer","description":"Total prorated charge in smallest settlement currency units, including tax.","format":"int64"},"presentment_currency":{"type":"string","description":"ISO 4217 presentment currency code, in lowercase."},"presentment_prorated_amount":{"type":"integer","description":"Total prorated charge in smallest presentment currency units, including tax.","format":"int64"}},"additionalProperties":false,"description":"The total prorated charge for a subscription change, expressed in both settlement and presentment currencies."},"SubscriptionChangeLineDto":{"required":["amount","id","is_deleted","presentment_amount","price","product","prorated_amount","prorated_presentment_amount","remaining_minutes","tax_inclusive","total_minutes"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_line_id":{"$ref":"#/components/schemas/FlakeId"},"is_deleted":{"type":"boolean","description":"Whether this line is being removed by the change."},"tax_inclusive":{"type":"boolean","description":"Whether tax is included in the base price."},"price":{"type":"integer","description":"Base price in smallest settlement currency units.","format":"int64"},"product":{"$ref":"#/components/schemas/SubscriptionChangeLineProductDto"},"amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"prorated_amount":{"type":"integer","description":"Prorated charge for this line in smallest settlement currency units.","format":"int64"},"prorated_presentment_amount":{"type":"integer","description":"Prorated charge for this line in smallest presentment currency units.","format":"int64"},"remaining_minutes":{"type":"integer","description":"Minutes remaining in the billing period at the time of change - used to calculate proration.","format":"int64"},"total_minutes":{"type":"integer","description":"Total minutes in the billing period - used to calculate proration.","format":"int64"}},"additionalProperties":false,"description":"A single line item within a subscription change."},"SubscriptionChangeLineProductDto":{"required":["custom_variables","id","name","version_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"version_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name of the product."},"image_url":{"type":["null","string"],"description":"URL of the product image, if set."},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"pricing_region_id":{"type":["null","string"],"description":"The pricing region used to determine the price, if applicable."},"custom_variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CustomVariableLineItemDto"},"description":"Custom variables set on this line item, keyed by variable identifier."}},"additionalProperties":false,"description":"The product associated with a subscription change line."},"CustomVariableLineItemDto":{"required":["description","id","identifier","name","price","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"identifier":{"type":"string","description":"The identifier used to reference this custom variable (e.g., \"color\", \"size\")."},"name":{"type":"string","description":"The display name of the custom variable shown to users."},"description":{"type":"string","description":"A detailed description of what this custom variable represents."},"price":{"type":"integer","description":"The price associated with this custom variable in the smallest currency unit (e.g., cents).","format":"int64"},"value":{"type":"string","description":"The selected value for this custom variable."}},"additionalProperties":false},"SubscriptionChangeLineAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a single subscription change line, in the smallest units of the given currency (e.g. cents)."},"SubscriptionChangeAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code, in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a subscription change, in the smallest units of the given currency (e.g. cents)."},"SubscriptionBillingAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code, in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Represents a billing amount breakdown for a subscription."},"SalesTaxJurisdictionDto":{"required":["name","taxes"],"type":"object","properties":{"name":{"type":"string","description":"The name of the tax jurisdiction."},"taxes":{"type":"array","items":{"$ref":"#/components/schemas/SalesTaxJurisdictionTaxDto"},"description":"List of taxes applied within this jurisdiction."},"not_taxed_reason":{"type":["null","string"],"description":"Explanation for why taxes are not applied, if applicable.\nThis property is null when taxes are applied."}},"additionalProperties":false,"description":"Object representing a sales tax jurisdiction and its associated taxes."},"SalesTaxJurisdictionTaxDto":{"required":["tax_amount","tax_name","tax_rate","taxable_amount"],"type":"object","properties":{"tax_name":{"type":"string","description":"The name of the tax."},"taxable_amount":{"type":"string","description":"The amount subject to taxation, formatted as a string."},"tax_amount":{"type":"string","description":"The calculated tax amount, formatted as a string."},"tax_rate":{"type":"string","description":"The rate at which the tax is applied, formatted as a string."}},"additionalProperties":false,"description":"Object representing a specific tax within a sales tax jurisdiction."},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"SubscriptionLineDto":{"required":["currency","discount_amount","discount_amount_str","id","initial_discount_amount","initial_discount_amount_str","initial_giftcard_usage_amount","initial_giftcard_usage_amount_str","initial_subtotal_amount","initial_subtotal_amount_str","initial_tax_amount","initial_tax_amount_str","initial_total_amount","initial_total_amount_str","price","product_id","product_name","product_version_id","store_id","subscription_id","subtotal_amount","subtotal_amount_str","tax_amount","tax_amount_str","tax_inclusive","total_amount","total_amount_str"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"initial_order_line_id":{"$ref":"#/components/schemas/FlakeId"},"pricing_region_id":{"type":["null","string"],"description":"Identifier for the pricing region associated with this subscription line."},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"gift_to_customer":{"$ref":"#/components/schemas/CustomerDto"},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"sale_id":{"$ref":"#/components/schemas/FlakeId"},"trial_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":"string","description":"Name of the product associated with this subscription line."},"product_image_url":{"type":["null","string"],"description":"URL for the product image."},"tax_inclusive":{"type":"boolean","description":"Indicates whether tax is included in the base price itself."},"currency":{"type":"string","description":"Currency code for this subscription line."},"price":{"type":"integer","description":"Base price of the subscription line in smallest currency units (e.g., cents).","format":"int64"},"discount_amount":{"type":"integer","description":"Amount of discount applied in smallest currency units.","format":"int64"},"discount_amount_str":{"type":"string","description":"Formatted string representation of the discount amount.","readOnly":true},"subtotal_amount":{"type":"integer","description":"Subtotal amount in smallest currency units.","format":"int64"},"subtotal_amount_str":{"type":"string","description":"Formatted string representation of the subtotal amount.","readOnly":true},"tax_amount":{"type":"integer","description":"Tax amount in smallest currency units.","format":"int64"},"tax_amount_str":{"type":"string","description":"Formatted string representation of the tax amount.","readOnly":true},"total_amount":{"type":"integer","description":"Total amount in smallest currency units.","format":"int64"},"total_amount_str":{"type":"string","description":"Formatted string representation of the total amount.","readOnly":true},"initial_discount_amount":{"type":"integer","description":"Initial discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_discount_amount_str":{"type":"string","description":"Formatted string representation of the initial discount amount.","readOnly":true},"initial_subtotal_amount":{"type":"integer","description":"Initial subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_subtotal_amount_str":{"type":"string","description":"Formatted string representation of the initial subtotal amount.","readOnly":true},"initial_giftcard_usage_amount":{"type":"integer","description":"Initial gift card usage amount in smallest currency units.","format":"int64"},"initial_giftcard_usage_amount_str":{"type":"string","description":"Formatted string representation of the initial gift card usage amount.","readOnly":true},"initial_tax_amount":{"type":"integer","description":"Initial tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_tax_amount_str":{"type":"string","description":"Formatted string representation of the initial tax amount.","readOnly":true},"initial_total_amount":{"type":"integer","description":"Initial total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_total_amount_str":{"type":"string","description":"Formatted string representation of the initial total amount.","readOnly":true},"presentment_currency":{"type":["null","string"],"description":"Presentment currency code (currency shown to customer)."},"presentment_subtotal_amount":{"type":["null","integer"],"description":"Presentment subtotal amount in smallest currency units.","format":"int64"},"presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment subtotal amount.","readOnly":true},"presentment_discount_amount":{"type":["null","integer"],"description":"Presentment discount amount in smallest currency units.","format":"int64"},"presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment discount amount.","readOnly":true},"presentment_tax_amount":{"type":["null","integer"],"description":"Presentment tax amount in smallest currency units.","format":"int64"},"presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment tax amount.","readOnly":true},"presentment_total_amount":{"type":["null","integer"],"description":"Presentment total amount in smallest currency units.","format":"int64"},"presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment total amount.","readOnly":true},"initial_presentment_discount_amount":{"type":["null","integer"],"description":"Initial presentment discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment discount amount.","readOnly":true},"initial_presentment_subtotal_amount":{"type":["null","integer"],"description":"Initial presentment subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment subtotal amount.","readOnly":true},"initial_presentment_giftcard_usage_amount":{"type":["null","integer"],"description":"Initial presentment gift card usage amount in smallest currency units.","format":"int64"},"initial_presentment_giftcard_usage_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment gift card usage amount.","readOnly":true},"initial_presentment_tax_amount":{"type":["null","integer"],"description":"Initial presentment tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment tax amount.","readOnly":true},"initial_presentment_total_amount":{"type":["null","integer"],"description":"Initial presentment total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment total amount.","readOnly":true}},"additionalProperties":false,"description":"Represents a line item within a subscription."},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32"},"code":{"type":"string","description":"The PayNow parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging."},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/subscriptions":{"get":{"tags":["subscriptions"],"summary":"Get subscriptions","description":"Retrieves all subscriptions for the specified store.","operationId":"Subscriptions_GetSubscriptions","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to retrieve subscriptions for.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"customer_id","in":"query","schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"subscription_id","in":"query","schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"billing_email","in":"query","schema":{"type":"string"}},{"name":"payment_method_id","in":"query","schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"checkout_id","in":"query","schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"trial_id","in":"query","schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"status","in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionStatus"}}},{"name":"limit","in":"query","description":"The maximum number of items to return in a single request.","schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32"}},{"name":"after","in":"query","description":"Returns items after the specified ID.\nUsed for forward pagination through results.","schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"before","in":"query","description":"Returns items before the specified ID.\nUsed for backward pagination through results.","schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"asc","in":"query","description":"Determines the sort order of returned items.\nWhen true, items are returned in ascending order.\nWhen false, items are returned in descending order.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionDto"}}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}}}}}}
```

## Get subscription by ID

> Retrieves a subscription for the specified store by the supplied ID.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"subscriptions"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"SubscriptionDto":{"required":["coupon_ids","created_at","currency","customer","discount_amount","discount_amount_str","gift","id","initial_discount_amount","initial_discount_amount_str","initial_giftcard_usage_amount","initial_giftcard_usage_amount_str","initial_subtotal_amount","initial_subtotal_amount_str","initial_tax_amount","initial_tax_amount_str","initial_total_amount","initial_total_amount_str","interval_scale","interval_value","lines","next_billing_amount","next_billing_presentment_amount","pretty_id","price","status","store_id","subtotal_amount","subtotal_amount_str","tax_amount","tax_amount_str","tax_inclusive","tax_jurisdictions","total_amount","total_amount_str"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"pretty_id":{"type":"string","description":"Human-readable identifier for the subscription."},"store_id":{"$ref":"#/components/schemas/FlakeId"},"store":{"$ref":"#/components/schemas/StorefrontStoreDto"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"payment_method_id":{"$ref":"#/components/schemas/FlakeId"},"payment_method":{"$ref":"#/components/schemas/PaymentMethodDto"},"pending_change":{"$ref":"#/components/schemas/SubscriptionChangeDto"},"next_billing_amount":{"$ref":"#/components/schemas/SubscriptionBillingAmountDto"},"next_billing_presentment_amount":{"$ref":"#/components/schemas/SubscriptionBillingAmountDto"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"},"coupon_id":{"$ref":"#/components/schemas/FlakeId"},"coupon_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Identifiers of coupons applied to this subscription."},"coupon_repeating_ends_at":{"type":["null","string"],"description":"Date when a repeating coupon ends for this subscription.","format":"date-time","deprecated":true},"affiliate_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"billing_name":{"type":["null","string"],"description":"Name used for billing purposes."},"billing_email":{"type":["null","string"],"description":"Email used for billing purposes."},"billing_country":{"type":["null","string"],"description":"Country code used for billing purposes."},"tax_jurisdictions":{"type":"array","items":{"$ref":"#/components/schemas/SalesTaxJurisdictionDto"},"description":"List of tax jurisdictions applicable to this subscription."},"customer_ip":{"type":["null","string"],"description":"IP address of the customer at the time of subscription."},"gift":{"type":"boolean","description":"Indicates whether this subscription is a gift.","readOnly":true,"deprecated":true},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"gift_to_customer":{"$ref":"#/components/schemas/CustomerDto"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":["null","string"],"description":"Name of the product associated with this subscription.","readOnly":true,"deprecated":true},"product_image_url":{"type":["null","string"],"description":"URL for the product image.","readOnly":true,"deprecated":true},"interval_value":{"type":"integer","description":"Numeric value of the billing interval.","format":"int32"},"interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"currency":{"type":"string","description":"Currency code used for billing this subscription."},"tax_inclusive":{"type":"boolean","description":"Indicates whether tax is included in the base price itself.","readOnly":true,"deprecated":true},"price":{"type":"integer","description":"Base price of the subscription in smallest currency units (e.g., cents).","format":"int64","readOnly":true,"deprecated":true},"price_str":{"type":["null","string"],"description":"Formatted string representation of the price.","readOnly":true,"deprecated":true},"discount_amount":{"type":"integer","description":"Amount of discount applied in smallest currency units.","format":"int64"},"discount_amount_str":{"type":"string","description":"Formatted string representation of the discount amount.","readOnly":true},"subtotal_amount":{"type":"integer","description":"Subtotal amount in smallest currency units.","format":"int64"},"subtotal_amount_str":{"type":"string","description":"Formatted string representation of the subtotal amount.","readOnly":true},"tax_amount":{"type":"integer","description":"Tax amount in smallest currency units.","format":"int64"},"tax_amount_str":{"type":"string","description":"Formatted string representation of the tax amount.","readOnly":true},"total_amount":{"type":"integer","description":"Total amount in smallest currency units.","format":"int64"},"total_amount_str":{"type":"string","description":"Formatted string representation of the total amount.","readOnly":true},"initial_discount_amount":{"type":"integer","description":"Initial discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_discount_amount_str":{"type":"string","description":"Formatted string representation of the initial discount amount.","readOnly":true},"initial_subtotal_amount":{"type":"integer","description":"Initial subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_subtotal_amount_str":{"type":"string","description":"Formatted string representation of the initial subtotal amount.","readOnly":true},"initial_giftcard_usage_amount":{"type":"integer","description":"Initial gift card usage amount in smallest currency units.","format":"int64"},"initial_giftcard_usage_amount_str":{"type":"string","description":"Formatted string representation of the initial gift card usage amount.","readOnly":true},"initial_tax_amount":{"type":"integer","description":"Initial tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_tax_amount_str":{"type":"string","description":"Formatted string representation of the initial tax amount.","readOnly":true},"initial_total_amount":{"type":"integer","description":"Initial total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_total_amount_str":{"type":"string","description":"Formatted string representation of the initial total amount.","readOnly":true},"presentment_currency":{"type":["null","string"],"description":"Presentment currency code (currency shown to customer)."},"presentment_subtotal_amount":{"type":["null","integer"],"description":"Presentment subtotal amount in smallest currency units.","format":"int64"},"presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment subtotal amount.","readOnly":true},"presentment_discount_amount":{"type":["null","integer"],"description":"Presentment discount amount in smallest currency units.","format":"int64"},"presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment discount amount.","readOnly":true},"presentment_tax_amount":{"type":["null","integer"],"description":"Presentment tax amount in smallest currency units.","format":"int64"},"presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment tax amount.","readOnly":true},"presentment_total_amount":{"type":["null","integer"],"description":"Presentment total amount in smallest currency units.","format":"int64"},"presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment total amount.","readOnly":true},"initial_presentment_discount_amount":{"type":["null","integer"],"description":"Initial presentment discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment discount amount.","readOnly":true},"initial_presentment_subtotal_amount":{"type":["null","integer"],"description":"Initial presentment subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment subtotal amount.","readOnly":true},"initial_presentment_giftcard_usage_amount":{"type":["null","integer"],"description":"Initial presentment gift card usage amount in smallest currency units.","format":"int64"},"initial_presentment_giftcard_usage_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment gift card usage amount.","readOnly":true},"initial_presentment_tax_amount":{"type":["null","integer"],"description":"Initial presentment tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment tax amount.","readOnly":true},"initial_presentment_total_amount":{"type":["null","integer"],"description":"Initial presentment total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment total amount.","readOnly":true},"fx_rate":{"type":["null","string"],"description":"The foreign exchange rate applied (if presentment currency differs from settlement currency)."},"pricing_region_id":{"type":["null","string"],"description":"Identifier for the pricing region associated with this subscription.","readOnly":true,"deprecated":true},"current_period_start":{"type":["null","string"],"description":"Start date of the current billing period.","format":"date-time"},"current_period_end":{"type":["null","string"],"description":"End date of the current billing period.","format":"date-time"},"billing_cycle_sequence":{"type":["null","integer"],"description":"Sequence number of the current billing cycle.","format":"int32"},"next_attempt_at":{"type":["null","string"],"description":"Date and time when the next payment attempt will occur.","format":"date-time"},"attempt_count":{"type":["null","integer"],"description":"Number of payment attempts made for the current billing cycle.","format":"int32"},"created_at":{"type":"string","description":"Date and time when the subscription was created.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"Date and time when the subscription was last updated.","format":"date-time"},"active_at":{"type":["null","string"],"description":"Date and time when the subscription became active.","format":"date-time"},"canceled_at":{"type":["null","string"],"description":"Date and time when the subscription was canceled.","format":"date-time"},"cancel_reason":{"type":["null","string"],"description":"Reason provided for cancellation."},"lines":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionLineDto"},"description":"Line items associated with this subscription."}},"additionalProperties":false,"description":"Data transfer object representing a store subscription."},"StorefrontStoreDto":{"required":["creator_currency","currency","game","id","live_mode","name","platform","slug"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string","description":"The URL-friendly identifier for the store, used in store URLs."},"name":{"type":"string","description":"The display name of the store shown to customers."},"platform":{"type":"string","description":"The platform or the game of the store."},"game":{"type":"string","description":"The game of the store. Equivalent to the `platform` for backwards compatibility.","readOnly":true},"currency":{"type":"string","description":"The three-letter ISO currency code used for pricing in this store.\nIf using the Adaptive Currency feature, this will be updated to reflect customer's local currency\n(based on passed in IP / country headers)."},"creator_currency":{"type":"string","description":"The three-letter ISO currency code signifying the main currency of the store."},"description":{"type":["null","string"],"description":"A detailed description of the store. Only present for some platform types."},"website_url":{"type":["null","string"],"description":"The URL of the store's main website, if not using Hosted Webstores."},"support_email":{"type":["null","string"],"description":"The email address customers can use to contact store support."},"support_url":{"type":["null","string"],"description":"The URL of the store's support page."},"integration_type":{"type":["null","string"],"description":"The type of integration this store uses with external systems."},"live_mode":{"type":"boolean","description":"Indicates whether the store is in live mode (true) or test mode (false)."},"logo_url":{"type":["null","string"],"description":"The URL to the store's main logo image."},"logo_square_url":{"type":["null","string"],"description":"The URL to the store's square logo image."},"created_at":{"type":["null","string"],"description":"The date and time when the store was created.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"The date and time when the store was last updated.","format":"date-time"}},"additionalProperties":false,"description":"Represents a store entity within the storefront system."},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"store":{"$ref":"#/components/schemas/StoreDto"},"profile":{"$ref":"#/components/schemas/GenericProfileDto"},"steam_id":{"$ref":"#/components/schemas/SteamId"},"steam":{"$ref":"#/components/schemas/SteamProfileDto"},"minecraft_uuid":{"type":["null","string"],"description":"The customer's Minecraft UUID, if they have linked their Minecraft account.\nNot set for offline Minecraft stores. If the platform type is Minecraft - Geyser,\nand the profile is a bedrock account, this will be a UUID generated from the Xbox XUID."},"minecraft":{"$ref":"#/components/schemas/MinecraftProfileDto"},"xbox_xuid":{"type":["null","string"],"description":"The customer's Xbox XUID, if available."},"minecraft_platform":{"$ref":"#/components/schemas/CustomerMinecraftPlatform"},"name":{"type":["null","string"],"description":"The display name for the customer."},"created_at":{"type":"string","description":"The date and time when the customer was created in the system.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"The date and time when the customer was last updated, if applicable.","format":"date-time"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional custom data associated with the customer."}},"additionalProperties":false,"description":"Represents a customer in the PayNow system with their associated profiles and metadata."},"StoreDto":{"required":["currency","description","game","id","live_mode","name","owner_id","platform","slug"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"trust":{"$ref":"#/components/schemas/StoreTrustDto"},"owner_id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string","description":"The URL-safe slug used to identify the store (e.g. \"my-rust-server\")."},"name":{"type":"string","description":"The display name of the store."},"platform":{"type":"string","description":"The platform this store is associated with (e.g. \"rust\", \"minecraft\")."},"game":{"type":"string","description":"Alias for PayNow.Services.HttpGateway.DataTransferObjects.V1.Stores.StoreDto.Platform. Returns the platform identifier as a game name.","readOnly":true},"currency":{"type":"string","description":"The ISO 4217 currency code used by this store for pricing (e.g. \"usd\", \"eur\")"},"description":{"type":"string","description":"A human-readable description of the store shown to customers and PayNow."},"website_url":{"type":["null","string"],"description":"The store's public website URL."},"contact_email":{"type":["null","string"],"description":"General contact email address for the store."},"support_email":{"type":["null","string"],"description":"Dedicated support email address for customer inquiries."},"support_url":{"type":["null","string"],"description":"URL to the store's support portal or help page."},"integration_type":{"type":["null","string"],"description":"The integration type used by the store."},"live_mode":{"type":"boolean","description":"When set to true, the store is processing real transactions in live mode."},"logo_url":{"type":["null","string"],"description":"URL of the store's full-size logo image."},"logo_square_url":{"type":["null","string"],"description":"URL of the store's square/icon logo image."},"minecraft_bedrock_username_prefix":{"type":["null","string"],"description":"Username prefix used to identify Minecraft Bedrock players (e.g. \".\")."},"created_at":{"type":["null","string"],"description":"The UTC timestamp when the store was created.","format":"date-time"},"updated_at":{"type":["null","string"],"description":"The UTC timestamp when the store was last updated.","format":"date-time"},"onboarding_completed_at":{"type":["null","string"],"description":"The UTC timestamp when the store completed onboarding.","format":"date-time"},"platform_store_type_association":{"$ref":"#/components/schemas/PlatformStoreTypeAssociationDetailsDto"},"members":{"type":["null","array"],"items":{"$ref":"#/components/schemas/StoreMemberDto"},"description":"The list of members who have access to manage this store."}},"additionalProperties":false,"description":"Represents a PayNow store and its associated configuration."},"StoreTrustDto":{"required":["created_at","events","pending_requirements","restrictions","status","store_id"],"type":"object","properties":{"store_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/StoreTrustStatusDto"},"status_reason":{"type":["null","string"]},"restrictions":{"$ref":"#/components/schemas/StoreRestrictionFlagDto"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":["null","string"],"format":"date-time"},"onboarding_steps":{"$ref":"#/components/schemas/StoreTrustOnboardingStepsDto"},"events":{"type":"array","items":{"$ref":"#/components/schemas/StoreTrustEventDto"}},"pending_requirements":{"type":"array","items":{"$ref":"#/components/schemas/TrustStoreRequirementDto"}}},"additionalProperties":false},"StoreTrustStatusDto":{"enum":["invalid","pending_review","requires_action","under_review","active","restricted","offboarded"],"type":"string"},"StoreRestrictionFlagDto":{"enum":["none","payments_disabled","payouts_disabled"],"type":"string"},"StoreTrustOnboardingStepsDto":{"required":["downloadable_files_added","gameserver_linked","kyc_completed","payout_onboarding_completed","products_created","store_id","store_owner_id","webhooks_active"],"type":"object","properties":{"store_id":{"$ref":"#/components/schemas/FlakeId"},"store_owner_id":{"$ref":"#/components/schemas/FlakeId"},"payout_onboarding_completed":{"type":"boolean"},"kyc_completed":{"type":"boolean"},"products_created":{"type":"boolean"},"gameserver_linked":{"type":"boolean"},"webhooks_active":{"type":"boolean"},"downloadable_files_added":{"type":"boolean"}},"additionalProperties":false},"StoreTrustEventDto":{"required":["actor","created_at","id","store_id","type"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/StoreTrustEventTypeDto"},"description":{"type":["null","string"]},"store_requirement_id":{"$ref":"#/components/schemas/FlakeId"},"store_review_id":{"$ref":"#/components/schemas/FlakeId"},"actor":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":"string","format":"date-time"}},"additionalProperties":false},"StoreTrustEventTypeDto":{"enum":["invalid","onboarded","escalated_to_review","action_required","restricted","offboarded","reactivated","requirement_added","requirement_submitted","requirement_verified","requirement_rejected","requirement_deadline_missed","requirement_waived","requirement_requires_revision","restriction_added","restriction_lifted","review_scheduled","review_completed"],"type":"string"},"ActorDto":{"required":["type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"TrustStoreRequirementDto":{"required":["category","code","created_at","id","metadata","name","requested_by","restricts_capabilities","status","store_id","submissions"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"template_id":{"type":["null","string"],"description":"Template ID if this requirement was created from a template. Null for ad-hoc requirements."},"originating_flag_id":{"$ref":"#/components/schemas/FlakeId"},"category":{"$ref":"#/components/schemas/StoreRequirementCategory"},"code":{"type":"string","description":"Unique code identifying the type of requirement. Copied from template or custom for ad-hoc requirements."},"name":{"type":"string","description":"Human-readable name of the requirement. Copied from template or custom for ad-hoc requirements."},"description":{"type":["null","string"],"description":"Detailed description explaining what the store needs to provide. Copied from template or custom for ad-hoc requirements."},"schema":{"type":"null","description":"JSON schema defining the form fields, validation rules, and document requirements"},"metadata":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional metadata for this requirement (stored as JSON)"},"status":{"$ref":"#/components/schemas/StoreRequirementStatus"},"requested_by":{"$ref":"#/components/schemas/StoreRequirementActionParty"},"requested_by_detail":{"type":["null","string"],"description":"Specifies the specific requester entity (e.g., \"stripe\", \"trolley\", or admin user ID)\nFree-form string for internal records"},"created_at":{"type":"string","description":"When this requirement was created","format":"date-time"},"updated_at":{"type":["null","string"],"description":"When this requirement was last updated","format":"date-time"},"deadline_at":{"type":["null","string"],"description":"When this requirement must be completed by (optional)","format":"date-time"},"submitted_at":{"type":["null","string"],"description":"When the store submitted their response to this requirement","format":"date-time"},"verified_at":{"type":["null","string"],"description":"When this requirement was verified and approved","format":"date-time"},"rejected_at":{"type":["null","string"],"description":"When this requirement was rejected for not meeting standards","format":"date-time"},"restricts_capabilities":{"type":"array","items":{"type":"string"},"description":"Store capabilities that are restricted until this requirement is satisfied"},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/TrustStoreRequirementSubmissionDto"},"description":"Associated submissions for this requriement."}},"additionalProperties":false},"StoreRequirementCategory":{"enum":["invalid","business","kyc","compliance","risk","technical","financial","legal","other"],"type":"string","description":"Represents categories of requirements that must be fulfilled for store setup and compliance in the PayNow platform."},"StoreRequirementStatus":{"enum":["invalid","pending","under_review","requires_revision","approved","expired","waived","rejected_final"],"type":"string"},"StoreRequirementActionParty":{"enum":["invalid","store","paynow","payment_processor","payout_provider","kyc_provider","external"],"type":"string","description":"Determines the party that needs to perform or requests a verification"},"TrustStoreRequirementSubmissionDto":{"required":["id","store_id","store_requirement_field_id","store_requirement_id","submitted_at","submitted_by"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"store_requirement_id":{"$ref":"#/components/schemas/FlakeId"},"store_requirement_field_id":{"type":"string","description":"The identifier of the specific field within the store requirement."},"text_value":{"type":["null","string"],"description":"The text value submitted for this field, if applicable."},"file_id":{"type":["null","string"],"description":"The identifier of the uploaded file, if a file was submitted."},"file_name":{"type":["null","string"],"description":"The original name of the uploaded file."},"file_content_type":{"type":["null","string"],"description":"The MIME content type of the uploaded file."},"file_size_bytes":{"type":["null","integer"],"description":"The size of the uploaded file in bytes.","format":"int64"},"submitted_at":{"type":"string","description":"The timestamp when this submission was made.","format":"date-time"},"submitted_by":{"$ref":"#/components/schemas/ActorDto"},"submitted_by_ip_address":{"type":["null","string"],"description":"The IP address from which the submission was made."},"submitted_by_user_agent":{"type":["null","string"],"description":"The user agent string of the client that made the submission."}},"additionalProperties":false},"PlatformStoreTypeAssociationDetailsDto":{"required":["disable_billing_plans","display_disclaimers","full_external_management","platform_id","store_platform"],"type":"object","properties":{"platform_id":{"$ref":"#/components/schemas/FlakeId"},"associated_platform":{"$ref":"#/components/schemas/PublicPlatformDto"},"store_platform":{"type":"string","description":"The store platform identifier string (e.g. \"rust\", \"minecraft\")."},"paynow_platform_fee_percentage_override":{"type":["null","integer"],"description":"Overrides the default PayNow platform fee percentage for this association.\nExpressed in basis points (e.g. 250 = 2.50%).","format":"int64"},"connected_platform_fee_percentage":{"type":["null","integer"],"description":"The fee percentage charged by the connected platform.\nExpressed in basis points (e.g. 250 = 2.50%).","format":"int64"},"connected_platform_wallet_id":{"type":["null","integer"],"description":"The payout ID associated with the connected platform.","format":"int64"},"disable_billing_plans":{"type":"boolean","description":"When true, billing plans are disabled for this platform/store type combination."},"display_disclaimers":{"type":"boolean","description":"When true, legal or compliance disclaimers should be displayed to the end user."},"full_external_management":{"type":"boolean","description":"Whether the management hides some PayNow UI"}},"additionalProperties":false},"PublicPlatformDto":{"required":["accent_color","business_name","capabilities","country_code","created_at","description","id","logo_url","name","slug","type","updated_at","website_url"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string"},"type":{"$ref":"#/components/schemas/PlatformType"},"country_code":{"type":"string"},"business_name":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"website_url":{"type":"string"},"logo_url":{"type":"string"},"accent_color":{"type":"string"},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCapability"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"disabled_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"PlatformType":{"enum":["invalid","marketplace","store_platform","other"],"type":"string"},"PlatformCapability":{"enum":["invalid","connected_users"],"type":"string"},"StoreMemberDto":{"required":["id","user","user_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"user_id":{"$ref":"#/components/schemas/FlakeId"},"user":{"$ref":"#/components/schemas/StoreMemberUserDto"},"added_at":{"type":["null","string"],"description":"The UTC timestamp when the member was added to the store.","format":"date-time"},"added_by":{"$ref":"#/components/schemas/ActorDto"},"role_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents a member of a PayNow store."},"StoreMemberUserDto":{"required":["id","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"},"email":{"type":["null","string"],"description":"The email address associated with the user.\nOnly visible if you are the store owner."},"first_name":{"type":["null","string"],"description":"The first name of the actor.\nHidden if the user has a set nickname, and you are not the store owner."},"last_name":{"type":["null","string"],"description":"The last name of the actor.\nHidden if the user has a set nickname, and you are not the store owner."},"nickname":{"type":["null","string"],"description":"The nickname of the user."}},"additionalProperties":false,"description":"Represents identity and profile information for a store member."},"GenericProfileDto":{"required":["id","name","platform"],"type":"object","properties":{"id":{"type":"string","description":"The platform-specific identifier for the profile."},"platform":{"type":"string","description":"The name of the platform this profile belongs to."},"name":{"type":"string","description":"The display name of the user on this platform."},"avatar_url":{"type":["null","string"],"description":"The URL to the user's avatar image on this platform."}},"additionalProperties":false,"description":"Represents a generic platform profile for a customer."},"SteamId":{"type":"string","additionalProperties":false,"description":"A 64-bit Steam account identifier. Accepts string or numeric format.","format":"steam-id"},"SteamProfileDto":{"required":["avatar_url","id","name"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/SteamId"},"name":{"type":"string","description":"The display name of the user on Steam."},"avatar_url":{"type":"string","description":"The URL to the user's Steam avatar image."}},"additionalProperties":false,"description":"Represents a Steam profile for a customer."},"MinecraftProfileDto":{"required":["avatar_url","id","name"],"type":"object","properties":{"id":{"type":"string","description":"The UUID of the Minecraft player.\nIf the platform is Minecraft Offline, this will be the name itself.\nIf the platform is Minecraft Geyser, and this is a Bedrock account, this ID will be an Xbox XUID."},"name":{"type":"string","description":"The username of the Minecraft player."},"avatar_url":{"type":"string","description":"The URL to the player's Minecraft skin rendered as an avatar."}},"additionalProperties":false,"description":"Represents a Minecraft profile for a customer."},"CustomerMinecraftPlatform":{"enum":["unknown","java","bedrock"],"type":"string"},"PaymentMethodDto":{"required":["created_at","customer_id","gateway","gateway_customer_id","gateway_entity_identifier","gateway_id","gateway_type","id","method_details","method_type"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"gateway":{"type":"string","description":"The payment gateway provider"},"gateway_id":{"type":"string","description":"The gateway's identifier for this payment method"},"gateway_customer_id":{"type":"string","description":"The gateway's customer identifier"},"gateway_type":{"type":"string","description":"The gateway-specific type identifier"},"method_type":{"type":"string","description":"The payment method type"},"method_details":{"$ref":"#/components/schemas/PaymentMethodDetailsDto"},"created_at":{"type":"string","description":"The date and time when this payment method was created","format":"date-time"},"gateway_entity_identifier":{"type":"string","description":"The gateway entity identifier"},"updated_at":{"type":["null","string"],"description":"The date and time when this payment method was last updated","format":"date-time"}},"additionalProperties":false,"description":"Represents a stored payment method"},"PaymentMethodDetailsDto":{"type":"object","properties":{"card":{"$ref":"#/components/schemas/CardDetailsDto"},"cashapp":{"$ref":"#/components/schemas/CashAppDetailsDto"},"paypal":{"$ref":"#/components/schemas/PayPalDetailsDto"},"link":{"$ref":"#/components/schemas/LinkDetailsDto"},"crypto":{"$ref":"#/components/schemas/CryptoDetailsDto"},"steamskins":{"$ref":"#/components/schemas/SteamSkinsDetailsDto"},"ideal":{"$ref":"#/components/schemas/IdealDetailsDto"},"p24":{"$ref":"#/components/schemas/P24DetailsDto"},"bancontact":{"$ref":"#/components/schemas/BancontactDetailsDto"},"klarna":{"$ref":"#/components/schemas/KlarnaDetailsDto"},"alipay":{"$ref":"#/components/schemas/AlipayDetailsDto"},"pay_by_bank":{"$ref":"#/components/schemas/PayByBankDetailsDto"},"pix":{"$ref":"#/components/schemas/PixDetailsDto"}},"additionalProperties":false,"description":"Contains detailed information about a payment method.\nDISCLAIMER: These fields are not guaranteed to be backwards compatible and may change or be removed without notice."},"CardDetailsDto":{"required":["brand","country","exp_month","exp_year","fingerprint","funding","last4"],"type":"object","properties":{"brand":{"type":"string","description":"The card brand"},"country":{"type":"string","description":"The country code where the card was issued"},"exp_month":{"type":"integer","description":"The card expiration month","format":"int32"},"exp_year":{"type":"integer","description":"The card expiration year","format":"int32"},"fingerprint":{"type":"string","description":"A unique fingerprint for this card"},"funding":{"type":"string","description":"The card funding type"},"last4":{"type":"string","description":"The last 4 digits of the card number"},"bin":{"type":["null","string"],"description":"The Bank Identification Number (first 6/8 digits of card).\nOnly available internally."},"issuer":{"type":["null","string"],"description":"The card issuer/bank name.\nOnly available internally."},"description":{"type":["null","string"],"description":"The card description.\nOnly available internally."},"wallet":{"$ref":"#/components/schemas/CardWalletDto"}},"additionalProperties":false,"description":"Card payment method details"},"CardWalletDto":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of digital wallet"}},"additionalProperties":false,"description":"Digital wallet details for a card"},"CashAppDetailsDto":{"required":["buyer_id","cashtag"],"type":"object","properties":{"buyer_id":{"type":"string","description":"The Cash App buyer identifier"},"cashtag":{"type":"string","description":"The Cash App cashtag"}},"additionalProperties":false,"description":"Cash App payment method details"},"PayPalDetailsDto":{"required":["country","payer_email","payer_id","payer_name","vault"],"type":"object","properties":{"payer_id":{"type":"string","description":"The PayPal payer identifier"},"payer_email":{"type":"string","description":"The PayPal account email"},"payer_name":{"type":"string","description":"The PayPal account holder name"},"country":{"type":"string","description":"The country code of the PayPal account"},"vault":{"type":"boolean","description":"Indicates if this PayPal account is vaulted"},"pending_vault_approval":{"type":["null","boolean"],"description":"Indicates if vault approval is pending"},"standalone_setup":{"type":["null","boolean"],"description":"Indicates if this is a standalone setup"}},"additionalProperties":false,"description":"PayPal payment method details"},"LinkDetailsDto":{"required":["email"],"type":"object","properties":{"email":{"type":"string","description":"The email associated with the Link account"}},"additionalProperties":false,"description":"Link payment method details"},"CryptoDetailsDto":{"required":["confirmations","crypto_amount","crypto_currency","total_paid"],"type":"object","properties":{"crypto_currency":{"type":"string","description":"The cryptocurrency used"},"crypto_amount":{"type":"string","description":"The amount in cryptocurrency"},"total_paid":{"type":"string","description":"The total amount paid in cryptocurrency"},"confirmations":{"type":"integer","description":"The number of blockchain confirmations","format":"int32"}},"additionalProperties":false,"description":"Cryptocurrency payment method details"},"SteamSkinsDetailsDto":{"required":["items"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SteamSkinsInventoryItemDetailsDto"},"description":"The list of Steam inventory items used for payment"}},"additionalProperties":false,"description":"Steam Skins payment method details"},"SteamSkinsInventoryItemDetailsDto":{"required":["app_id","id","name","price"],"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the Steam item"},"app_id":{"type":"integer","description":"The Steam app ID","format":"int32"},"name":{"type":"string","description":"The name of the item"},"price":{"type":"integer","description":"The price of the item in the smallest currency unit","format":"int32"}},"additionalProperties":false},"IdealDetailsDto":{"required":["bank","bic"],"type":"object","properties":{"bank":{"type":"string","description":"The bank identifier"},"bic":{"type":"string","description":"The Bank Identifier Code"},"iban_last4":{"type":["null","string"],"description":"The last 4 digits of the IBAN"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"iDEAL payment method details"},"P24DetailsDto":{"required":["bank"],"type":"object","properties":{"bank":{"type":"string","description":"The bank identifier"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Przelewy24 payment method details"},"BancontactDetailsDto":{"type":"object","properties":{"bank":{"type":["null","string"],"description":"The bank identifier"},"bank_name":{"type":["null","string"],"description":"The bank name"},"bic":{"type":["null","string"],"description":"The Bank Identifier Code"},"iban_last4":{"type":["null","string"],"description":"The last 4 digits of the IBAN"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Bancontact payment method details"},"KlarnaDetailsDto":{"type":"object","properties":{"country":{"type":["null","string"],"description":"The country code"},"method_category":{"type":["null","string"],"description":"The Klarna payment method category"}},"additionalProperties":false,"description":"Klarna payment method details"},"AlipayDetailsDto":{"type":"object","properties":{"buyer_id":{"type":["null","string"],"description":"The Alipay buyer identifier"},"fingerprint":{"type":["null","string"],"description":"A unique fingerprint for this Alipay account"}},"additionalProperties":false,"description":"Alipay payment method details"},"PayByBankDetailsDto":{"type":"object","properties":{"bank_name":{"type":["null","string"],"description":"The bank name"},"bic":{"type":["null","string"],"description":"The Bank Identifier Code"},"country":{"type":["null","string"],"description":"The country code"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Pay by Bank payment method details"},"PixDetailsDto":{"type":"object","properties":{"bank_name":{"type":["null","string"],"description":"The bank name"},"bank_account_number":{"type":["null","string"],"description":"The bank account number"},"payer_name":{"type":["null","string"],"description":"The payer name"}},"additionalProperties":false,"description":"Pix payment method details"},"SubscriptionChangeDto":{"required":["created_at","id","lines","next_billing_amount","next_billing_presentment_amount","off_session","prorated_amount","proration_behavior","status","subscription_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"prorated_order_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/SubscriptionChangeStatusDto"},"proration_behavior":{"$ref":"#/components/schemas/ProrationBehaviorDto"},"off_session":{"type":"boolean","description":"Whether this change was initiated without active customer interaction."},"prorated_amount":{"$ref":"#/components/schemas/SubscriptionChangeProratedAmountDto"},"created_at":{"type":"string","format":"date-time"},"applied_at":{"type":["null","string"],"format":"date-time"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionChangeLineDto"}},"next_billing_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"},"next_billing_presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"}},"additionalProperties":false,"description":"A pending or applied change to a subscription."},"SubscriptionChangeStatusDto":{"enum":["invalid","pending_payment","pending_renewal","applied","canceled","pending_verification"],"type":"string","description":"Represents the status of a subscription change."},"ProrationBehaviorDto":{"enum":["invalid","immediate","next_billing_period","none"],"type":"string","description":"Describes how proration is handled when a subscription change is applied."},"SubscriptionChangeProratedAmountDto":{"required":["currency","presentment_currency","presentment_prorated_amount","prorated_amount"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 settlement currency code, in lowercase."},"prorated_amount":{"type":"integer","description":"Total prorated charge in smallest settlement currency units, including tax.","format":"int64"},"presentment_currency":{"type":"string","description":"ISO 4217 presentment currency code, in lowercase."},"presentment_prorated_amount":{"type":"integer","description":"Total prorated charge in smallest presentment currency units, including tax.","format":"int64"}},"additionalProperties":false,"description":"The total prorated charge for a subscription change, expressed in both settlement and presentment currencies."},"SubscriptionChangeLineDto":{"required":["amount","id","is_deleted","presentment_amount","price","product","prorated_amount","prorated_presentment_amount","remaining_minutes","tax_inclusive","total_minutes"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_line_id":{"$ref":"#/components/schemas/FlakeId"},"is_deleted":{"type":"boolean","description":"Whether this line is being removed by the change."},"tax_inclusive":{"type":"boolean","description":"Whether tax is included in the base price."},"price":{"type":"integer","description":"Base price in smallest settlement currency units.","format":"int64"},"product":{"$ref":"#/components/schemas/SubscriptionChangeLineProductDto"},"amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"prorated_amount":{"type":"integer","description":"Prorated charge for this line in smallest settlement currency units.","format":"int64"},"prorated_presentment_amount":{"type":"integer","description":"Prorated charge for this line in smallest presentment currency units.","format":"int64"},"remaining_minutes":{"type":"integer","description":"Minutes remaining in the billing period at the time of change - used to calculate proration.","format":"int64"},"total_minutes":{"type":"integer","description":"Total minutes in the billing period - used to calculate proration.","format":"int64"}},"additionalProperties":false,"description":"A single line item within a subscription change."},"SubscriptionChangeLineProductDto":{"required":["custom_variables","id","name","version_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"version_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name of the product."},"image_url":{"type":["null","string"],"description":"URL of the product image, if set."},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"pricing_region_id":{"type":["null","string"],"description":"The pricing region used to determine the price, if applicable."},"custom_variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CustomVariableLineItemDto"},"description":"Custom variables set on this line item, keyed by variable identifier."}},"additionalProperties":false,"description":"The product associated with a subscription change line."},"CustomVariableLineItemDto":{"required":["description","id","identifier","name","price","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"identifier":{"type":"string","description":"The identifier used to reference this custom variable (e.g., \"color\", \"size\")."},"name":{"type":"string","description":"The display name of the custom variable shown to users."},"description":{"type":"string","description":"A detailed description of what this custom variable represents."},"price":{"type":"integer","description":"The price associated with this custom variable in the smallest currency unit (e.g., cents).","format":"int64"},"value":{"type":"string","description":"The selected value for this custom variable."}},"additionalProperties":false},"SubscriptionChangeLineAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a single subscription change line, in the smallest units of the given currency (e.g. cents)."},"SubscriptionChangeAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code, in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a subscription change, in the smallest units of the given currency (e.g. cents)."},"SubscriptionBillingAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code, in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Represents a billing amount breakdown for a subscription."},"SubscriptionStatus":{"enum":["invalid","created","active","canceled"],"type":"string","description":"Represents the current state of a subscription."},"SalesTaxJurisdictionDto":{"required":["name","taxes"],"type":"object","properties":{"name":{"type":"string","description":"The name of the tax jurisdiction."},"taxes":{"type":"array","items":{"$ref":"#/components/schemas/SalesTaxJurisdictionTaxDto"},"description":"List of taxes applied within this jurisdiction."},"not_taxed_reason":{"type":["null","string"],"description":"Explanation for why taxes are not applied, if applicable.\nThis property is null when taxes are applied."}},"additionalProperties":false,"description":"Object representing a sales tax jurisdiction and its associated taxes."},"SalesTaxJurisdictionTaxDto":{"required":["tax_amount","tax_name","tax_rate","taxable_amount"],"type":"object","properties":{"tax_name":{"type":"string","description":"The name of the tax."},"taxable_amount":{"type":"string","description":"The amount subject to taxation, formatted as a string."},"tax_amount":{"type":"string","description":"The calculated tax amount, formatted as a string."},"tax_rate":{"type":"string","description":"The rate at which the tax is applied, formatted as a string."}},"additionalProperties":false,"description":"Object representing a specific tax within a sales tax jurisdiction."},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"SubscriptionLineDto":{"required":["currency","discount_amount","discount_amount_str","id","initial_discount_amount","initial_discount_amount_str","initial_giftcard_usage_amount","initial_giftcard_usage_amount_str","initial_subtotal_amount","initial_subtotal_amount_str","initial_tax_amount","initial_tax_amount_str","initial_total_amount","initial_total_amount_str","price","product_id","product_name","product_version_id","store_id","subscription_id","subtotal_amount","subtotal_amount_str","tax_amount","tax_amount_str","tax_inclusive","total_amount","total_amount_str"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"initial_order_line_id":{"$ref":"#/components/schemas/FlakeId"},"pricing_region_id":{"type":["null","string"],"description":"Identifier for the pricing region associated with this subscription line."},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"gift_to_customer":{"$ref":"#/components/schemas/CustomerDto"},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"sale_id":{"$ref":"#/components/schemas/FlakeId"},"trial_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":"string","description":"Name of the product associated with this subscription line."},"product_image_url":{"type":["null","string"],"description":"URL for the product image."},"tax_inclusive":{"type":"boolean","description":"Indicates whether tax is included in the base price itself."},"currency":{"type":"string","description":"Currency code for this subscription line."},"price":{"type":"integer","description":"Base price of the subscription line in smallest currency units (e.g., cents).","format":"int64"},"discount_amount":{"type":"integer","description":"Amount of discount applied in smallest currency units.","format":"int64"},"discount_amount_str":{"type":"string","description":"Formatted string representation of the discount amount.","readOnly":true},"subtotal_amount":{"type":"integer","description":"Subtotal amount in smallest currency units.","format":"int64"},"subtotal_amount_str":{"type":"string","description":"Formatted string representation of the subtotal amount.","readOnly":true},"tax_amount":{"type":"integer","description":"Tax amount in smallest currency units.","format":"int64"},"tax_amount_str":{"type":"string","description":"Formatted string representation of the tax amount.","readOnly":true},"total_amount":{"type":"integer","description":"Total amount in smallest currency units.","format":"int64"},"total_amount_str":{"type":"string","description":"Formatted string representation of the total amount.","readOnly":true},"initial_discount_amount":{"type":"integer","description":"Initial discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_discount_amount_str":{"type":"string","description":"Formatted string representation of the initial discount amount.","readOnly":true},"initial_subtotal_amount":{"type":"integer","description":"Initial subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_subtotal_amount_str":{"type":"string","description":"Formatted string representation of the initial subtotal amount.","readOnly":true},"initial_giftcard_usage_amount":{"type":"integer","description":"Initial gift card usage amount in smallest currency units.","format":"int64"},"initial_giftcard_usage_amount_str":{"type":"string","description":"Formatted string representation of the initial gift card usage amount.","readOnly":true},"initial_tax_amount":{"type":"integer","description":"Initial tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_tax_amount_str":{"type":"string","description":"Formatted string representation of the initial tax amount.","readOnly":true},"initial_total_amount":{"type":"integer","description":"Initial total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_total_amount_str":{"type":"string","description":"Formatted string representation of the initial total amount.","readOnly":true},"presentment_currency":{"type":["null","string"],"description":"Presentment currency code (currency shown to customer)."},"presentment_subtotal_amount":{"type":["null","integer"],"description":"Presentment subtotal amount in smallest currency units.","format":"int64"},"presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment subtotal amount.","readOnly":true},"presentment_discount_amount":{"type":["null","integer"],"description":"Presentment discount amount in smallest currency units.","format":"int64"},"presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment discount amount.","readOnly":true},"presentment_tax_amount":{"type":["null","integer"],"description":"Presentment tax amount in smallest currency units.","format":"int64"},"presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment tax amount.","readOnly":true},"presentment_total_amount":{"type":["null","integer"],"description":"Presentment total amount in smallest currency units.","format":"int64"},"presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the presentment total amount.","readOnly":true},"initial_presentment_discount_amount":{"type":["null","integer"],"description":"Initial presentment discount amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_discount_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment discount amount.","readOnly":true},"initial_presentment_subtotal_amount":{"type":["null","integer"],"description":"Initial presentment subtotal amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_subtotal_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment subtotal amount.","readOnly":true},"initial_presentment_giftcard_usage_amount":{"type":["null","integer"],"description":"Initial presentment gift card usage amount in smallest currency units.","format":"int64"},"initial_presentment_giftcard_usage_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment gift card usage amount.","readOnly":true},"initial_presentment_tax_amount":{"type":["null","integer"],"description":"Initial presentment tax amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_tax_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment tax amount.","readOnly":true},"initial_presentment_total_amount":{"type":["null","integer"],"description":"Initial presentment total amount in smallest currency units for the first billing cycle.","format":"int64"},"initial_presentment_total_amount_str":{"type":["null","string"],"description":"Formatted string representation of the initial presentment total amount.","readOnly":true}},"additionalProperties":false,"description":"Represents a line item within a subscription."},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32"},"code":{"type":"string","description":"The PayNow parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging."},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/subscriptions/{subscriptionId}":{"get":{"tags":["subscriptions"],"summary":"Get subscription by ID","description":"Retrieves a subscription for the specified store by the supplied ID.","operationId":"Subscriptions_GetSubscriptionById","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to retrieve the subscription for.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"subscriptionId","in":"path","description":"The ID of the subscription.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionDto"}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}}}}}}
```

## Cancel subscription by ID

> Cancels a subscription for the specified store by the supplied ID.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"subscriptions"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32"},"code":{"type":"string","description":"The PayNow parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging."},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/subscriptions/{subscriptionId}/cancel":{"post":{"tags":["subscriptions"],"summary":"Cancel subscription by ID","description":"Cancels a subscription for the specified store by the supplied ID.","operationId":"Subscriptions_CancelSubscription","parameters":[{"name":"storeId","in":"path","description":"The ID of the store to cancel the subscription for.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"subscriptionId","in":"path","description":"The ID of the subscription.","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"responses":{"204":{"description":"No Content"},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}}}}}}
```

## Update items on a subscription

> Updates the subscription lines, including the pricing, on an active subscription. The subscription must not be within 1 hour of its\
> next renewal, and only one change can be pending at a time.\
> &#x20;           \
> \*\*Access\*\*\
> &#x20;           \
> This endpoint requires the Subscription Updates API feature flag to be enabled on your store. Contact\
> PayNow to request access.\
> &#x20;           \
> \*\*Proration behavior\*\*\
> &#x20;           \
> Controlled by the \`proration\_behavior\` field on the request:\
> &#x20;           \
> \- \`immediate\` - the change is applied as soon as possible.\
> &#x20; Proration is calculated for the remaining period. If the prorated amount is ≥ $0.50 (or equivalent in other currencies), an order is\
> &#x20; initiated against the subscription's payment method; the change is applied once the payment succeeds.\
> &#x20; If the prorated amount is below $0.50, no order is created and the change is\
> &#x20; applied instantly.\
> &#x20; Only one proration order is allowed per billing cycle - a second immediate change in the same\
> &#x20; period will be rejected if a proration was already charged.\
> &#x20; When a payment is triggered, the response will include a \`pending\_payment\` object. The payment result\
> &#x20; is synchronous - check \`pending\_payment.declined\` to determine whether the charge succeeded. If\
> &#x20; declined, \`pending\_payment.decline\_code\` contains the reason.\
> &#x20;           \
> \- \`next\_billing\_period\` - no payment is created. The change is queued and will be applied automatically\
> &#x20; at the start of the next renewal cycle. Ideal for downgrades.\
> &#x20;           \
> \- \`none\` - the change is applied instantly with no proration calculated or charged.\
> &#x20;           \
> \*\*Reverting a pending change\*\*\
> &#x20;           \
> If a \`next\_billing\_period\` change is pending and the new request specifies the same product versions\
> that are already on the subscription (i.e. reverting back to the current state), the pending change\
> is canceled rather than rejected. The canceled change record is returned in the response.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"subscriptions"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpdateSubscriptionRequestDto":{"required":["lines","proration_behavior"],"type":"object","properties":{"lines":{"type":"array","items":{"$ref":"#/components/schemas/UpdateSubscriptionLineRequestDto"},"description":"The line items describing the desired state of the subscription after the change."},"proration_behavior":{"$ref":"#/components/schemas/ProrationBehaviorDto"}},"additionalProperties":false},"UpdateSubscriptionLineRequestDto":{"required":["custom_variables"],"type":"object","properties":{"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"custom_variables":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom variable values keyed by variable name."},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"ProrationBehaviorDto":{"enum":["invalid","immediate","next_billing_period","none"],"type":"string","description":"Describes how proration is handled when a subscription change is applied."},"UpdateSubscriptionResponseDto":{"required":["subscription_change"],"type":"object","properties":{"subscription_change":{"$ref":"#/components/schemas/SubscriptionChangeDto"},"pending_payment":{"$ref":"#/components/schemas/CheckoutPaymentInfoDto"}},"additionalProperties":false,"description":"Response returned after a subscription change is initiated."},"SubscriptionChangeDto":{"required":["created_at","id","lines","next_billing_amount","next_billing_presentment_amount","off_session","prorated_amount","proration_behavior","status","subscription_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"prorated_order_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/SubscriptionChangeStatusDto"},"proration_behavior":{"$ref":"#/components/schemas/ProrationBehaviorDto"},"off_session":{"type":"boolean","description":"Whether this change was initiated without active customer interaction."},"prorated_amount":{"$ref":"#/components/schemas/SubscriptionChangeProratedAmountDto"},"created_at":{"type":"string","format":"date-time"},"applied_at":{"type":["null","string"],"format":"date-time"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionChangeLineDto"}},"next_billing_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"},"next_billing_presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"}},"additionalProperties":false,"description":"A pending or applied change to a subscription."},"SubscriptionChangeStatusDto":{"enum":["invalid","pending_payment","pending_renewal","applied","canceled","pending_verification"],"type":"string","description":"Represents the status of a subscription change."},"SubscriptionChangeProratedAmountDto":{"required":["currency","presentment_currency","presentment_prorated_amount","prorated_amount"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 settlement currency code, in lowercase."},"prorated_amount":{"type":"integer","description":"Total prorated charge in smallest settlement currency units, including tax.","format":"int64"},"presentment_currency":{"type":"string","description":"ISO 4217 presentment currency code, in lowercase."},"presentment_prorated_amount":{"type":"integer","description":"Total prorated charge in smallest presentment currency units, including tax.","format":"int64"}},"additionalProperties":false,"description":"The total prorated charge for a subscription change, expressed in both settlement and presentment currencies."},"SubscriptionChangeLineDto":{"required":["amount","id","is_deleted","presentment_amount","price","product","prorated_amount","prorated_presentment_amount","remaining_minutes","tax_inclusive","total_minutes"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_line_id":{"$ref":"#/components/schemas/FlakeId"},"is_deleted":{"type":"boolean","description":"Whether this line is being removed by the change."},"tax_inclusive":{"type":"boolean","description":"Whether tax is included in the base price."},"price":{"type":"integer","description":"Base price in smallest settlement currency units.","format":"int64"},"product":{"$ref":"#/components/schemas/SubscriptionChangeLineProductDto"},"amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"prorated_amount":{"type":"integer","description":"Prorated charge for this line in smallest settlement currency units.","format":"int64"},"prorated_presentment_amount":{"type":"integer","description":"Prorated charge for this line in smallest presentment currency units.","format":"int64"},"remaining_minutes":{"type":"integer","description":"Minutes remaining in the billing period at the time of change - used to calculate proration.","format":"int64"},"total_minutes":{"type":"integer","description":"Total minutes in the billing period - used to calculate proration.","format":"int64"}},"additionalProperties":false,"description":"A single line item within a subscription change."},"SubscriptionChangeLineProductDto":{"required":["custom_variables","id","name","version_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"version_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name of the product."},"image_url":{"type":["null","string"],"description":"URL of the product image, if set."},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"pricing_region_id":{"type":["null","string"],"description":"The pricing region used to determine the price, if applicable."},"custom_variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CustomVariableLineItemDto"},"description":"Custom variables set on this line item, keyed by variable identifier."}},"additionalProperties":false,"description":"The product associated with a subscription change line."},"CustomVariableLineItemDto":{"required":["description","id","identifier","name","price","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"identifier":{"type":"string","description":"The identifier used to reference this custom variable (e.g., \"color\", \"size\")."},"name":{"type":"string","description":"The display name of the custom variable shown to users."},"description":{"type":"string","description":"A detailed description of what this custom variable represents."},"price":{"type":"integer","description":"The price associated with this custom variable in the smallest currency unit (e.g., cents).","format":"int64"},"value":{"type":"string","description":"The selected value for this custom variable."}},"additionalProperties":false},"SubscriptionChangeLineAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a single subscription change line, in the smallest units of the given currency (e.g. cents)."},"SubscriptionChangeAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code, in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a subscription change, in the smallest units of the given currency (e.g. cents)."},"CheckoutPaymentInfoDto":{"required":["declined","status"],"type":"object","properties":{"status":{"type":"string","description":"Status string from the payment provider."},"declined":{"type":"boolean","description":"Indicates whether the payment was declined."},"decline_message":{"type":["null","string"],"description":"The customer readable decline reason, if the payment was declined."},"checkout_url":{"type":["null","string"],"description":"Checkout URL to redirect to for on-session payments."}},"additionalProperties":false,"description":"Payment outcome information returned after a subscription change triggers an immediate charge."},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32"},"code":{"type":"string","description":"The PayNow parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging."},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/subscriptions/{subscriptionId}/change":{"post":{"tags":["subscriptions"],"summary":"Update items on a subscription","description":"Updates the subscription lines, including the pricing, on an active subscription. The subscription must not be within 1 hour of its\nnext renewal, and only one change can be pending at a time.\n            \n**Access**\n            \nThis endpoint requires the Subscription Updates API feature flag to be enabled on your store. Contact\nPayNow to request access.\n            \n**Proration behavior**\n            \nControlled by the `proration_behavior` field on the request:\n            \n- `immediate` - the change is applied as soon as possible.\n  Proration is calculated for the remaining period. If the prorated amount is ≥ $0.50 (or equivalent in other currencies), an order is\n  initiated against the subscription's payment method; the change is applied once the payment succeeds.\n  If the prorated amount is below $0.50, no order is created and the change is\n  applied instantly.\n  Only one proration order is allowed per billing cycle - a second immediate change in the same\n  period will be rejected if a proration was already charged.\n  When a payment is triggered, the response will include a `pending_payment` object. The payment result\n  is synchronous - check `pending_payment.declined` to determine whether the charge succeeded. If\n  declined, `pending_payment.decline_code` contains the reason.\n            \n- `next_billing_period` - no payment is created. The change is queued and will be applied automatically\n  at the start of the next renewal cycle. Ideal for downgrades.\n            \n- `none` - the change is applied instantly with no proration calculated or charged.\n            \n**Reverting a pending change**\n            \nIf a `next_billing_period` change is pending and the new request specifies the same product versions\nthat are already on the subscription (i.e. reverting back to the current state), the pending change\nis canceled rather than rejected. The canceled change record is returned in the response.","operationId":"Subscriptions_UpdateSubscription","parameters":[{"name":"storeId","in":"path","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"subscriptionId","in":"path","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequestDto"}},"text/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequestDto"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequestDto"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionResponseDto"}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}}}}}}
```

## Preview a subscription change

> Simulates a subscription change and returns the pricing breakdown without creating any records or\
> initiating a payment. Accepts the same request body as \`POST change\` — see that endpoint for\
> full parameter documentation. Does not return the \`pending\_payment\` field.

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"tags":[{"name":"subscriptions"}],"security":[{"APIKey":[]}],"components":{"securitySchemes":{"APIKey":{"type":"apiKey","description":"An API Key token generated in the Dashboard in the format 'APIKey TOKEN_HERE'.","name":"Authorization","in":"header"}},"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpdateSubscriptionRequestDto":{"required":["lines","proration_behavior"],"type":"object","properties":{"lines":{"type":"array","items":{"$ref":"#/components/schemas/UpdateSubscriptionLineRequestDto"},"description":"The line items describing the desired state of the subscription after the change."},"proration_behavior":{"$ref":"#/components/schemas/ProrationBehaviorDto"}},"additionalProperties":false},"UpdateSubscriptionLineRequestDto":{"required":["custom_variables"],"type":"object","properties":{"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"custom_variables":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom variable values keyed by variable name."},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"ProrationBehaviorDto":{"enum":["invalid","immediate","next_billing_period","none"],"type":"string","description":"Describes how proration is handled when a subscription change is applied."},"UpdateSubscriptionResponseDto":{"required":["subscription_change"],"type":"object","properties":{"subscription_change":{"$ref":"#/components/schemas/SubscriptionChangeDto"},"pending_payment":{"$ref":"#/components/schemas/CheckoutPaymentInfoDto"}},"additionalProperties":false,"description":"Response returned after a subscription change is initiated."},"SubscriptionChangeDto":{"required":["created_at","id","lines","next_billing_amount","next_billing_presentment_amount","off_session","prorated_amount","proration_behavior","status","subscription_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"prorated_order_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/SubscriptionChangeStatusDto"},"proration_behavior":{"$ref":"#/components/schemas/ProrationBehaviorDto"},"off_session":{"type":"boolean","description":"Whether this change was initiated without active customer interaction."},"prorated_amount":{"$ref":"#/components/schemas/SubscriptionChangeProratedAmountDto"},"created_at":{"type":"string","format":"date-time"},"applied_at":{"type":["null","string"],"format":"date-time"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionChangeLineDto"}},"next_billing_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"},"next_billing_presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeAmountDto"}},"additionalProperties":false,"description":"A pending or applied change to a subscription."},"SubscriptionChangeStatusDto":{"enum":["invalid","pending_payment","pending_renewal","applied","canceled","pending_verification"],"type":"string","description":"Represents the status of a subscription change."},"SubscriptionChangeProratedAmountDto":{"required":["currency","presentment_currency","presentment_prorated_amount","prorated_amount"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 settlement currency code, in lowercase."},"prorated_amount":{"type":"integer","description":"Total prorated charge in smallest settlement currency units, including tax.","format":"int64"},"presentment_currency":{"type":"string","description":"ISO 4217 presentment currency code, in lowercase."},"presentment_prorated_amount":{"type":"integer","description":"Total prorated charge in smallest presentment currency units, including tax.","format":"int64"}},"additionalProperties":false,"description":"The total prorated charge for a subscription change, expressed in both settlement and presentment currencies."},"SubscriptionChangeLineDto":{"required":["amount","id","is_deleted","presentment_amount","price","product","prorated_amount","prorated_presentment_amount","remaining_minutes","tax_inclusive","total_minutes"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"subscription_line_id":{"$ref":"#/components/schemas/FlakeId"},"is_deleted":{"type":"boolean","description":"Whether this line is being removed by the change."},"tax_inclusive":{"type":"boolean","description":"Whether tax is included in the base price."},"price":{"type":"integer","description":"Base price in smallest settlement currency units.","format":"int64"},"product":{"$ref":"#/components/schemas/SubscriptionChangeLineProductDto"},"amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"presentment_amount":{"$ref":"#/components/schemas/SubscriptionChangeLineAmountDto"},"prorated_amount":{"type":"integer","description":"Prorated charge for this line in smallest settlement currency units.","format":"int64"},"prorated_presentment_amount":{"type":"integer","description":"Prorated charge for this line in smallest presentment currency units.","format":"int64"},"remaining_minutes":{"type":"integer","description":"Minutes remaining in the billing period at the time of change - used to calculate proration.","format":"int64"},"total_minutes":{"type":"integer","description":"Total minutes in the billing period - used to calculate proration.","format":"int64"}},"additionalProperties":false,"description":"A single line item within a subscription change."},"SubscriptionChangeLineProductDto":{"required":["custom_variables","id","name","version_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"version_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name of the product."},"image_url":{"type":["null","string"],"description":"URL of the product image, if set."},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"pricing_region_id":{"type":["null","string"],"description":"The pricing region used to determine the price, if applicable."},"custom_variables":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CustomVariableLineItemDto"},"description":"Custom variables set on this line item, keyed by variable identifier."}},"additionalProperties":false,"description":"The product associated with a subscription change line."},"CustomVariableLineItemDto":{"required":["description","id","identifier","name","price","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"identifier":{"type":"string","description":"The identifier used to reference this custom variable (e.g., \"color\", \"size\")."},"name":{"type":"string","description":"The display name of the custom variable shown to users."},"description":{"type":"string","description":"A detailed description of what this custom variable represents."},"price":{"type":"integer","description":"The price associated with this custom variable in the smallest currency unit (e.g., cents).","format":"int64"},"value":{"type":"string","description":"The selected value for this custom variable."}},"additionalProperties":false},"SubscriptionChangeLineAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a single subscription change line, in the smallest units of the given currency (e.g. cents)."},"SubscriptionChangeAmountDto":{"required":["currency","discount","subtotal","tax","total"],"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 currency code, in lowercase."},"subtotal":{"type":"integer","description":"Base amount before discounts or tax, in smallest currency units.","format":"int64"},"discount":{"type":"integer","description":"Total discount applied, in smallest currency units.","format":"int64"},"tax":{"type":"integer","description":"Tax amount, in smallest currency units.","format":"int64"},"total":{"type":"integer","description":"Amount due after discounts and tax, in smallest currency units.","format":"int64"}},"additionalProperties":false,"description":"Pricing breakdown for a subscription change, in the smallest units of the given currency (e.g. cents)."},"CheckoutPaymentInfoDto":{"required":["declined","status"],"type":"object","properties":{"status":{"type":"string","description":"Status string from the payment provider."},"declined":{"type":"boolean","description":"Indicates whether the payment was declined."},"decline_message":{"type":["null","string"],"description":"The customer readable decline reason, if the payment was declined."},"checkout_url":{"type":["null","string"],"description":"Checkout URL to redirect to for on-session payments."}},"additionalProperties":false,"description":"Payment outcome information returned after a subscription change triggers an immediate charge."},"PayNowError":{"required":["code","message","status"],"type":"object","properties":{"status":{"type":"integer","description":"The HTTP status code.","format":"int32"},"code":{"type":"string","description":"The PayNow parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"trace_id":{"type":["null","string"],"description":"A distributed trace ID used for debugging."},"errors":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ValidationError"},"description":"An array of multiple errors. Only used by some API services."}},"additionalProperties":false,"description":"Represents a PayNow error"},"ValidationError":{"required":["code","message","path","validation"],"type":"object","properties":{"code":{"type":"string","description":"The parseable error code."},"message":{"type":"string","description":"The human-readable error message."},"path":{"type":"string","description":"The path leading to the validation error."},"validation":{"type":"string","description":"Type of the validation that failed."}},"additionalProperties":false,"description":"A validation error."}}},"paths":{"/v1/stores/{storeId}/subscriptions/{subscriptionId}/change/preview":{"post":{"tags":["subscriptions"],"summary":"Preview a subscription change","description":"Simulates a subscription change and returns the pricing breakdown without creating any records or\ninitiating a payment. Accepts the same request body as `POST change` — see that endpoint for\nfull parameter documentation. Does not return the `pending_payment` field.","operationId":"Subscriptions_PreviewSubscriptionChange","parameters":[{"name":"storeId","in":"path","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}},{"name":"subscriptionId","in":"path","required":true,"schema":{"$ref":"#/components/schemas/FlakeId"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequestDto"}},"text/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequestDto"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionRequestDto"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSubscriptionResponseDto"}}}},"default":{"description":"Error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayNowError"}}}}}}}}}
```
