# Models

## The AbandonedCheckoutStoreConfigurationCommandDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AbandonedCheckoutStoreConfigurationCommandDto":{"required":["command","id","online_only","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level abandoned checkout configuration."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The AbandonedCheckoutStoreConfigurationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AbandonedCheckoutStoreConfigurationDto":{"required":["commands","coupon_configuration","enabled","invalid","minimum_order_value","store_id","trigger_after","updated_at","updated_by"],"type":"object","properties":{"store_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"A value indicating whether the abandoned checkout feature is enabled for the store."},"invalid":{"type":"boolean","description":"A value indicating whether the abandoned checkout configuration for the store is invalid."},"trigger_after":{"$ref":"#/components/schemas/Period"},"minimum_order_value":{"type":"integer","description":"The minimum order value required to trigger an abandoned checkout email.","format":"int64"},"maximum_order_value":{"type":["null","integer"],"description":"The optional maximum order value beyond which an abandoned checkout email will not be sent.","format":"int64"},"max_coupons_per_customer_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_per_customer_period":{"$ref":"#/components/schemas/Period"},"max_coupons_global_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_global_period":{"$ref":"#/components/schemas/Period"},"coupon_configuration":{"$ref":"#/components/schemas/MarketingCouponConfigurationDto"},"commands":{"type":"array","items":{"$ref":"#/components/schemas/AbandonedCheckoutStoreConfigurationCommandDto"},"description":"The commands you want to execute when the email is sent."},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":"string","description":"The date and time when the configuration was last updated.","format":"date-time"}},"additionalProperties":false,"description":"Represents the store-level configuration for abandoned checkout settings."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"Period":{"type":"string","additionalProperties":false,"description":"ISO 8601 duration format","format":"period"},"MarketingCouponConfigurationDto":{"required":["customer_redeem_limit","customer_redeem_limit_enabled","discount_amount","discount_apply_before_sales","discount_only_required_tags_or_products","discount_type","duration","minimum_order_value","required_product_ids","required_tag_ids","usable_on_one_time_purchases","usable_on_subscriptions"],"type":"object","properties":{"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"description":"Gets or sets the duration of the coupon in months, applicable only for repeating coupons.","format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","description":"Gets or sets the discount amount.","format":"int64"},"discount_only_required_tags_or_products":{"type":"boolean","description":"Gets or sets a value indicating whether the discount only applies to specific tags or products."},"discount_apply_before_sales":{"type":"boolean","description":"Gets or sets a value indicating whether the discount is applied before any existing sales or discounts."},"required_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of tag IDs required for the discount to apply."},"required_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of product IDs required for the discount to apply."},"minimum_order_value":{"type":"integer","description":"Gets or sets the minimum order value required for the discount to be applied.","format":"int64"},"customer_redeem_limit_enabled":{"type":"boolean","description":"Gets or sets a value indicating whether a customer-specific redeem limit is enabled."},"customer_redeem_limit":{"type":"integer","description":"Gets or sets the maximum number of times a single customer can redeem the coupon.","format":"int64"},"usable_on_one_time_purchases":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on one-time purchases."},"usable_on_subscriptions":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on subscription purchases."},"expires_after":{"$ref":"#/components/schemas/Period"}},"additionalProperties":false,"description":"Represents the configuration settings for a coupon applied to marketing features."},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"AbandonedCheckoutStoreConfigurationCommandDto":{"required":["command","id","online_only","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level abandoned checkout configuration."},"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"}}}}
```

## The AbandonedCheckoutStoreConfigurationUpdateCommandDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AbandonedCheckoutStoreConfigurationUpdateCommandDto":{"required":["command","online_only"],"type":"object","properties":{"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level abandoned checkout configuration."}}}}
```

## The AbandonedCheckoutStoreConfigurationUpdateDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AbandonedCheckoutStoreConfigurationUpdateDto":{"required":["commands","coupon_configuration","enabled","minimum_order_value","trigger_after"],"type":"object","properties":{"enabled":{"type":"boolean","description":"A value indicating whether the abandoned checkout feature is enabled for the store."},"trigger_after":{"$ref":"#/components/schemas/Period"},"minimum_order_value":{"type":"integer","description":"The minimum order value required to trigger an abandoned checkout email.","format":"int64"},"maximum_order_value":{"type":["null","integer"],"description":"The optional maximum order value beyond which an abandoned checkout email will not be sent.","format":"int64"},"max_coupons_per_customer_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_per_customer_period":{"$ref":"#/components/schemas/Period"},"max_coupons_global_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_global_period":{"$ref":"#/components/schemas/Period"},"commands":{"type":"array","items":{"$ref":"#/components/schemas/AbandonedCheckoutStoreConfigurationUpdateCommandDto"}},"coupon_configuration":{"$ref":"#/components/schemas/MarketingCouponConfigurationDto"}},"additionalProperties":false,"description":"Used for updating the store-level configuration for abandoned checkout settings."},"Period":{"type":"string","additionalProperties":false,"description":"ISO 8601 duration format","format":"period"},"AbandonedCheckoutStoreConfigurationUpdateCommandDto":{"required":["command","online_only"],"type":"object","properties":{"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level abandoned checkout configuration."},"MarketingCouponConfigurationDto":{"required":["customer_redeem_limit","customer_redeem_limit_enabled","discount_amount","discount_apply_before_sales","discount_only_required_tags_or_products","discount_type","duration","minimum_order_value","required_product_ids","required_tag_ids","usable_on_one_time_purchases","usable_on_subscriptions"],"type":"object","properties":{"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"description":"Gets or sets the duration of the coupon in months, applicable only for repeating coupons.","format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","description":"Gets or sets the discount amount.","format":"int64"},"discount_only_required_tags_or_products":{"type":"boolean","description":"Gets or sets a value indicating whether the discount only applies to specific tags or products."},"discount_apply_before_sales":{"type":"boolean","description":"Gets or sets a value indicating whether the discount is applied before any existing sales or discounts."},"required_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of tag IDs required for the discount to apply."},"required_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of product IDs required for the discount to apply."},"minimum_order_value":{"type":"integer","description":"Gets or sets the minimum order value required for the discount to be applied.","format":"int64"},"customer_redeem_limit_enabled":{"type":"boolean","description":"Gets or sets a value indicating whether a customer-specific redeem limit is enabled."},"customer_redeem_limit":{"type":"integer","description":"Gets or sets the maximum number of times a single customer can redeem the coupon.","format":"int64"},"usable_on_one_time_purchases":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on one-time purchases."},"usable_on_subscriptions":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on subscription purchases."},"expires_after":{"$ref":"#/components/schemas/Period"}},"additionalProperties":false,"description":"Represents the configuration settings for a coupon applied to marketing features."},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ActorDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The AffiliateLinkCommissionType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AffiliateLinkCommissionType":{"enum":["none","fixed","percentage"],"type":"string"}}}}
```

## The AffiliateLinkDiscountType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AffiliateLinkDiscountType":{"enum":["none","fixed","percentage"],"type":"string"}}}}
```

## The AffiliateLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AffiliateLinkDto":{"required":["apply_for_subscriptions","code","commission_amount","commission_type","created_at","created_by","discount_amount","discount_type","enabled","id","referer_type","store_id","tracking_length_days","wallet_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"wallet_id":{"type":"string"},"enabled":{"type":"boolean"},"code":{"type":"string"},"referer_type":{"$ref":"#/components/schemas/AffiliateLinkRefererType"},"tracking_length_days":{"type":"integer","format":"int32"},"apply_for_subscriptions":{"type":"boolean"},"discount_type":{"$ref":"#/components/schemas/AffiliateLinkDiscountType"},"discount_amount":{"type":"integer","format":"int64"},"commission_type":{"$ref":"#/components/schemas/AffiliateLinkCommissionType"},"commission_amount":{"type":"integer","format":"int64"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":"string","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"AffiliateLinkRefererType":{"enum":["invalid","first_referer","last_referer"],"type":"string"},"AffiliateLinkDiscountType":{"enum":["none","fixed","percentage"],"type":"string"},"AffiliateLinkCommissionType":{"enum":["none","fixed","percentage"],"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"}}}}
```

## The AffiliateLinkRefererType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"AffiliateLinkRefererType":{"enum":["invalid","first_referer","last_referer"],"type":"string"}}}}
```

## The AlipayDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The BanDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"BanDto":{"required":["created_at","created_by","enabled","id","identities","reason","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"reason":{"type":"string"},"enabled":{"type":"boolean"},"identities":{"type":"array","items":{"$ref":"#/components/schemas/BanIdentityDto"}},"created_by":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":["null","string"],"format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"expires_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"BanIdentityDto":{"required":["ban_type","ban_type_value"],"type":"object","properties":{"ban_type":{"$ref":"#/components/schemas/BanType"},"ban_type_value":{"type":"string"}},"additionalProperties":false},"BanType":{"enum":["unknown","steam","ip","customer","customer_name","email"],"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"}}}}
```

## The BanIdentityDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"BanIdentityDto":{"required":["ban_type","ban_type_value"],"type":"object","properties":{"ban_type":{"$ref":"#/components/schemas/BanType"},"ban_type_value":{"type":"string"}},"additionalProperties":false},"BanType":{"enum":["unknown","steam","ip","customer","customer_name","email"],"type":"string"}}}}
```

## The BanType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"BanType":{"enum":["unknown","steam","ip","customer","customer_name","email"],"type":"string"}}}}
```

## The BancontactDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The CardDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The CardWalletDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CardWalletDto":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of digital wallet"}},"additionalProperties":false,"description":"Digital wallet details for a card"}}}}
```

## The CashAppDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The ChargebackCoverageTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ChargebackCoverageTypeDto":{"enum":["unspecified","none","fraudulent","all"],"type":"string","description":"Defines the type of chargeback coverage provided."}}}}
```

## The CheckForBanIDByIdentitiesRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CheckForBanIDByIdentitiesRequestDto":{"required":["identities"],"type":"object","properties":{"identities":{"type":"array","items":{"$ref":"#/components/schemas/BanIdentityDto"}}},"additionalProperties":false},"BanIdentityDto":{"required":["ban_type","ban_type_value"],"type":"object","properties":{"ban_type":{"$ref":"#/components/schemas/BanType"},"ban_type_value":{"type":"string"}},"additionalProperties":false},"BanType":{"enum":["unknown","steam","ip","customer","customer_name","email"],"type":"string"}}}}
```

## The CheckForBanIDByIdentitiesResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CheckForBanIDByIdentitiesResponseDto":{"required":["is_banned"],"type":"object","properties":{"is_banned":{"type":"boolean"},"ban_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CheckoutPaymentInfoDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The CommandAttemptDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CommandAttemptDto":{"required":["command","gameserver_id","id","online_only","queued_at","rerun","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"inventory_item_id":{"$ref":"#/components/schemas/FlakeId"},"gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"steam_id":{"$ref":"#/components/schemas/SteamId"},"minecraft_uuid":{"type":["null","string"]},"customer_name":{"type":["null","string"]},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"command_stage":{"type":["null","string"]},"command":{"type":"string"},"online_only":{"type":"boolean"},"rerun":{"type":"boolean"},"queued_at":{"type":"string","format":"date-time"},"executed_at":{"type":["null","string"],"format":"date-time"},"executed_by_ip":{"type":["null","string"]},"unqueued_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"SteamId":{"type":"string","additionalProperties":false,"description":"A 64-bit Steam account identifier. Accepts string or numeric format.","format":"steam-id"}}}}
```

## The CouponDiscountTypeEnum object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."}}}}
```

## The CouponDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CouponDto":{"required":["code","created_at","discount_amount","discount_apply_before_sales","discount_apply_individually","discount_type","duration","enabled","id","minimum_order_value","redeem_limit_customer_amount","redeem_limit_customer_enabled","redeem_limit_store_amount","redeem_limit_store_enabled","store_id","usable_on_one_time_purchase","usable_on_subscription"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"Indicates whether the coupon is enabled."},"code":{"type":"string","description":"The unique code associated with the coupon."},"note":{"type":["null","string"],"description":"A note or internal description of the coupon."},"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"description":"The number of months the coupon is valid, used if the duration is repeating.","format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","description":"The discount amount in the smallest currency unit (e.g., cents).","format":"int64"},"discount_apply_individually":{"type":"boolean","description":"Indicates whether the discount should be applied individually to required tags or products."},"discount_apply_before_sales":{"type":"boolean","description":"Indicates whether the discount is applied before existing sales."},"apply_to_products":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"A list of product IDs the coupon applies to."},"apply_to_tags":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"A list of tag IDs the coupon applies to."},"usable_by_customer_id":{"$ref":"#/components/schemas/FlakeId"},"minimum_order_value":{"type":"integer","description":"The minimum order value required to use the coupon.","format":"int64"},"redeem_limit_store_enabled":{"type":"boolean","description":"Indicates whether a global redemption limit is enabled."},"redeem_limit_store_amount":{"type":"integer","description":"The maximum number of times the coupon can be redeemed across the store.","format":"int64"},"redeem_limit_customer_enabled":{"type":"boolean","description":"Indicates whether a per-customer redemption limit is enabled."},"redeem_limit_customer_amount":{"type":"integer","description":"The maximum number of times the coupon can be redeemed per customer.","format":"int64"},"usable_on_one_time_purchase":{"type":"boolean","description":"Indicates whether the coupon can be used for one-time purchases."},"usable_on_subscription":{"type":"boolean","description":"Indicates whether the coupon can be used for subscriptions."},"usable_at":{"type":["null","string"],"description":"The date and time when the coupon becomes valid.","format":"date-time"},"expires_at":{"type":["null","string"],"description":"The date and time when the coupon expires.","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":"string","description":"The date and time when the coupon was created.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"The date and time when the coupon was last updated.","format":"date-time"}},"additionalProperties":false,"description":"Represents a detailed view of a coupon, including configuration and audit information."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"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"}}}}
```

## The CouponDurationEnum object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."}}}}
```

## The CouponFilterStatusEnum object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CouponFilterStatusEnum":{"enum":["all","active","inactive"],"type":"string","description":"Will filter by coupon status."}}}}
```

## The CouponFilterTypeEnum object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CouponFilterTypeEnum":{"enum":["all","manual","generated"],"type":"string","description":"Will filter by coupon creation type."}}}}
```

## The CreateAffiliateLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateAffiliateLinkDto":{"required":["apply_for_subscriptions","code","commission_amount","commission_type","discount_amount","discount_type","enabled","referer_type","tracking_length_days","wallet_id"],"type":"object","properties":{"wallet_id":{"type":"string"},"enabled":{"type":"boolean"},"code":{"type":"string"},"referer_type":{"$ref":"#/components/schemas/AffiliateLinkRefererType"},"tracking_length_days":{"type":"integer","format":"int32"},"apply_for_subscriptions":{"type":"boolean"},"discount_type":{"$ref":"#/components/schemas/AffiliateLinkDiscountType"},"discount_amount":{"type":"integer","format":"int64"},"commission_type":{"$ref":"#/components/schemas/AffiliateLinkCommissionType"},"commission_amount":{"type":"integer","format":"int64"}},"additionalProperties":false},"AffiliateLinkRefererType":{"enum":["invalid","first_referer","last_referer"],"type":"string"},"AffiliateLinkDiscountType":{"enum":["none","fixed","percentage"],"type":"string"},"AffiliateLinkCommissionType":{"enum":["none","fixed","percentage"],"type":"string"}}}}
```

## The CreateCheckoutSessionLineDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateCheckoutSessionLineDto":{"required":["product_id","quantity"],"type":"object","properties":{"product_id":{"$ref":"#/components/schemas/FlakeId"},"subscription":{"type":["null","boolean"],"description":"Determines whether this line should create a subscription"},"trial":{"type":["null","boolean"],"description":"Indicates whether the product should be trialed"},"gift_to":{"$ref":"#/components/schemas/CustomerPlatformAccountDto"},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"quantity":{"type":"integer","description":"The quantity of this product to purchase","format":"int32"},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"custom_variables":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Key-value pair mapping custom variable identifiers to their selected values.\nRequired only when the product includes custom variables."}},"additionalProperties":false,"description":"Represents a line item in a checkout session request"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomerPlatformAccountDto":{"required":["id","platform"],"type":"object","properties":{"platform":{"$ref":"#/components/schemas/CustomerProfilePlatform"},"id":{"type":"string","description":"The account ID on the platform"}},"additionalProperties":false,"description":"Represents a customer platform association, used for gifting"},"CustomerProfilePlatform":{"enum":["invalid","steam","minecraft","paynow_name","paynow","minecraft_java_name","minecraft_bedrock_name","xbox_xuid","minecraft_uuid"],"type":"string"}}}}
```

## The CreateCheckoutSessionLineManagementDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateCheckoutSessionLineManagementDto":{"required":["quantity"],"type":"object","properties":{"subscription":{"type":["null","boolean"],"description":"Determines whether this line should create a subscription"},"trial":{"type":["null","boolean"],"description":"Indicates whether the product should be trialed"},"gift_to":{"$ref":"#/components/schemas/CustomerPlatformAccountDto"},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"quantity":{"type":"integer","description":"The quantity of this product to purchase","format":"int32"},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"custom_variables":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Key-value pair mapping custom variable identifiers to their selected values.\nRequired only when the product includes custom variables."},"product_id":{"$ref":"#/components/schemas/FlakeId"},"inline_product":{"$ref":"#/components/schemas/InlineProductCreateDto"},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/CreateCheckoutSessionLineManagementPayoutSplitDto"},"description":"Optional payout splits for line items (requires approval)"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Optional metadata to associate with the checkout session line.\nDo not store any sensitive information here."}},"additionalProperties":false,"description":"Represents a line item in a checkout session request.\nOpposed to CreateCheckoutSessionLineDto, this is used while creating a checkout session using the Management API,\nand allows for creating inline products and payout splits (subject to special approval)"},"CustomerPlatformAccountDto":{"required":["id","platform"],"type":"object","properties":{"platform":{"$ref":"#/components/schemas/CustomerProfilePlatform"},"id":{"type":"string","description":"The account ID on the platform"}},"additionalProperties":false,"description":"Represents a customer platform association, used for gifting"},"CustomerProfilePlatform":{"enum":["invalid","steam","minecraft","paynow_name","paynow","minecraft_java_name","minecraft_bedrock_name","xbox_xuid","minecraft_uuid"],"type":"string"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"InlineProductCreateDto":{"type":"object","properties":{"slug":{"type":["null","string"],"description":"The unique URL-safe identifier (slug) for the product."},"name":{"type":["null","string"],"description":"The display name of the product."},"description":{"type":["null","string"],"description":"The detailed description of the product."},"label":{"type":["null","string"],"description":"The display label for the product."},"price":{"type":["null","integer"],"description":"The price of the product in the lowest denominator (e.g. cents).","format":"int64"},"single_game_server_only":{"type":["null","boolean"],"description":"Indicates whether the customer is prompted to select a game server before purchasing."},"allow_one_time_purchase":{"type":["null","boolean"],"description":"Indicates whether one-time purchases are allowed."},"allow_subscription":{"type":["null","boolean"],"description":"Indicates whether subscription purchases are allowed."},"subscription_interval_value":{"type":["null","integer"],"description":"The subscription interval value.","format":"int32"},"subscription_interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"trial":{"$ref":"#/components/schemas/UpsertProductTrialConfigurationDto"},"upselling":{"$ref":"#/components/schemas/UpsertProductUpsellConfigurationDto"},"remove_after_enabled":{"type":["null","boolean"],"description":"Indicates whether automatic removal is enabled."},"remove_after_time_value":{"type":["null","integer"],"description":"The time value for automatic removal.","format":"int32"},"remove_after_time_scale":{"$ref":"#/components/schemas/ProductRemoveAfterIntervalScale"},"store_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"customer_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"stock_limit_do_not_include_removed":{"type":["null","boolean"],"description":"Indicates whether removed items should be excluded from stock limits."},"tags":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The tag IDs associated with the product."},"gameservers":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The gameserver IDs associated with the product."},"commands":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductCommandDto"},"description":"The commands to be executed at different stages."},"deliverable_actions":{"$ref":"#/components/schemas/ProductDeliverableActionsDto"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Additional metadata for the product."},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductPayoutSplitDto"},"description":"The payout splits for revenue distribution.\nRequires special approval."},"tax_code":{"$ref":"#/components/schemas/ProductTaxCode"},"allow_concurrent_active_items":{"type":["null","boolean"],"description":"Indicates whether concurrent active items are allowed."},"is_hidden":{"type":["null","boolean"],"description":"Indicates whether the product is hidden."},"is_gifting_disabled":{"type":["null","boolean"],"description":"Indicates whether gifting is disabled."},"enabled_at":{"type":["null","string"],"description":"The date and time when the product becomes enabled.\nSet to `null` to keep enabled.","format":"date-time"},"enabled_until":{"type":["null","string"],"description":"The date and time until which the product remains enabled.\nSet to `null` to keep enabled.","format":"date-time"},"required_product_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of products required for purchasing this product."},"required_product_all":{"type":["null","boolean"],"description":"Indicates whether all required products are needed."},"custom_variable_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of associated custom variables."},"is_gift_cards_disabled":{"type":["null","boolean"],"description":"Indicates if applying gift cards should be disabled on the product."},"is_coupons_disabled":{"type":["null","boolean"],"description":"Indicates if applying coupons should be disabled on the product."},"is_affiliate_links_disabled":{"type":["null","boolean"],"description":"Indicates if applying affiliate links should be disabled on the product."},"tier_group_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Optional inline product definition for dynamic products.\nRequires special approval, use `product_id` instead."},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"UpsertProductTrialConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"],"description":"Indicates if trials should be enabled for the product."},"period_value":{"type":["null","integer"],"description":"The trial period value.","format":"int32"},"period_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"revoke_immediately_when_canceled":{"type":["null","boolean"],"description":"Indicates if the trial should be revoked immediately when canceled or at the end of the trial."},"new_customers_only":{"type":["null","boolean"],"description":"Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."},"new_customer_order_lookback_value":{"type":["null","integer"],"description":"The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.","format":"int32"},"new_customer_order_lookback_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"allow_repeat_trials":{"type":["null","boolean"],"description":"Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."},"repeat_trial_cooldown_value":{"type":["null","integer"],"description":"The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trials is enabled.","format":"int32"},"repeat_trial_cooldown_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"}},"additionalProperties":false,"description":"Represents the configuration for trials of a product"},"UpsertProductUpsellConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"]},"recommendations":{"type":["null","array"],"items":{"$ref":"#/components/schemas/UpsertProductUpsellRecommendationDto"}}},"additionalProperties":false},"UpsertProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"ProductRemoveAfterIntervalScale":{"enum":["invalid","day","week","month"],"type":"string"},"ProductStockLimitDto":{"required":["enabled","include_trials","time_scale"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates whether stock limit is enabled."},"quantity":{"type":["null","integer"],"description":"The quantity limit.","format":"int32"},"time_value":{"type":["null","integer"],"description":"The time value for stock limit period.","format":"int32"},"time_scale":{"$ref":"#/components/schemas/ProductStockTimeScale"},"include_trials":{"type":"boolean","description":"Indicates if trials should be included in the active stock limit calculation."}},"additionalProperties":false},"ProductStockTimeScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"ProductCommandDto":{"required":["content","online_only","stage"],"type":"object","properties":{"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"Content of the command."},"online_only":{"type":"boolean","description":"Value indicating whether the command should only execute when the player is online."},"override_execute_on_gameserver_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"Value indicating on which game servers should the command be executed.\nIf left empty or null, then the default behavior applies\n(executing on all game servers or on the selected game server is selection is enabled)"}},"additionalProperties":false},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"ProductDeliverableActionsDto":{"required":["grant_giftcard"],"type":"object","properties":{"grant_giftcard":{"type":"boolean","description":"Value indicating whether to grant a giftcard with the product with the subtotal amount."}},"additionalProperties":false},"ProductPayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the payment allocated to the user, in basis points (500 = 5%).\nThe last payout split must have this field set to `null` to receive the remaining portion.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage your platform receives, in basis points (500 = 5%).","format":"int64"}},"additionalProperties":false},"ProductTaxCode":{"enum":["unknown","digital_goods_subscription","digital_goods_permanent","saas","downloaded_software","digital_goods_subscription_gaming","digital_goods_permanent_gaming","iaas","paas","saas_security","saas_storage"],"type":"string","description":"Determines the category of the product for taxation purposes.\nContact support for help with setting the correct tax code."},"CreateCheckoutSessionLineManagementPayoutSplitDto":{"required":["payout_id"],"type":"object","properties":{"payout_id":{"type":"string","description":"The ID of the user's payout balance."},"percentage":{"type":["null","integer"],"description":"The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)\nNOTE: The last payout split needs to have a null percentage set (so the remaining amount gets properly allocated)","format":"int64"},"platform_fee":{"type":["null","integer"],"description":"The platform fee percentage applied to this split (in basis points)\nOnly applicable to platforms.","format":"int64"}},"additionalProperties":false}}}}
```

## The CreateCheckoutSessionLineManagementPayoutSplitDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateCheckoutSessionLineManagementPayoutSplitDto":{"required":["payout_id"],"type":"object","properties":{"payout_id":{"type":"string","description":"The ID of the user's payout balance."},"percentage":{"type":["null","integer"],"description":"The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)\nNOTE: The last payout split needs to have a null percentage set (so the remaining amount gets properly allocated)","format":"int64"},"platform_fee":{"type":["null","integer"],"description":"The platform fee percentage applied to this split (in basis points)\nOnly applicable to platforms.","format":"int64"}},"additionalProperties":false}}}}
```

## The CreateCheckoutSessionManagementDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateCheckoutSessionManagementDto":{"required":["customer_id","lines"],"type":"object","properties":{"lines":{"type":"array","items":{"$ref":"#/components/schemas/CreateCheckoutSessionLineManagementDto"},"description":"The line items to include in the checkout"},"coupon_id":{"$ref":"#/components/schemas/FlakeId"},"promo_codes":{"type":["null","array"],"items":{"type":"string"},"description":"Optional array of promo codes (coupons, gift cards, affiliates) to apply.\nAn invalid promo code will cause an error."},"affiliate_code":{"type":["null","string"],"description":"Optional affiliate code to track referrals.\nAn invalid affiliate code will NOT cause an error."},"return_url":{"type":["null","string"],"description":"Optional URL to redirect to after successful checkout"},"cancel_url":{"type":["null","string"],"description":"Optional URL to redirect to if checkout is canceled"},"auto_redirect":{"type":["null","boolean"],"description":"Whether to automatically redirect the customer (return_url must be set)"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Optional metadata to associate with the checkout session.\nDo not store any sensitive information here."}},"additionalProperties":false,"description":"Request to create a new checkout session from your back-end server using the management API.\n`customer_id` needs to be specified explicitly here instead of using a Customer token."},"CreateCheckoutSessionLineManagementDto":{"required":["quantity"],"type":"object","properties":{"subscription":{"type":["null","boolean"],"description":"Determines whether this line should create a subscription"},"trial":{"type":["null","boolean"],"description":"Indicates whether the product should be trialed"},"gift_to":{"$ref":"#/components/schemas/CustomerPlatformAccountDto"},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"quantity":{"type":"integer","description":"The quantity of this product to purchase","format":"int32"},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"custom_variables":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Key-value pair mapping custom variable identifiers to their selected values.\nRequired only when the product includes custom variables."},"product_id":{"$ref":"#/components/schemas/FlakeId"},"inline_product":{"$ref":"#/components/schemas/InlineProductCreateDto"},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/CreateCheckoutSessionLineManagementPayoutSplitDto"},"description":"Optional payout splits for line items (requires approval)"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Optional metadata to associate with the checkout session line.\nDo not store any sensitive information here."}},"additionalProperties":false,"description":"Represents a line item in a checkout session request.\nOpposed to CreateCheckoutSessionLineDto, this is used while creating a checkout session using the Management API,\nand allows for creating inline products and payout splits (subject to special approval)"},"CustomerPlatformAccountDto":{"required":["id","platform"],"type":"object","properties":{"platform":{"$ref":"#/components/schemas/CustomerProfilePlatform"},"id":{"type":"string","description":"The account ID on the platform"}},"additionalProperties":false,"description":"Represents a customer platform association, used for gifting"},"CustomerProfilePlatform":{"enum":["invalid","steam","minecraft","paynow_name","paynow","minecraft_java_name","minecraft_bedrock_name","xbox_xuid","minecraft_uuid"],"type":"string"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"InlineProductCreateDto":{"type":"object","properties":{"slug":{"type":["null","string"],"description":"The unique URL-safe identifier (slug) for the product."},"name":{"type":["null","string"],"description":"The display name of the product."},"description":{"type":["null","string"],"description":"The detailed description of the product."},"label":{"type":["null","string"],"description":"The display label for the product."},"price":{"type":["null","integer"],"description":"The price of the product in the lowest denominator (e.g. cents).","format":"int64"},"single_game_server_only":{"type":["null","boolean"],"description":"Indicates whether the customer is prompted to select a game server before purchasing."},"allow_one_time_purchase":{"type":["null","boolean"],"description":"Indicates whether one-time purchases are allowed."},"allow_subscription":{"type":["null","boolean"],"description":"Indicates whether subscription purchases are allowed."},"subscription_interval_value":{"type":["null","integer"],"description":"The subscription interval value.","format":"int32"},"subscription_interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"trial":{"$ref":"#/components/schemas/UpsertProductTrialConfigurationDto"},"upselling":{"$ref":"#/components/schemas/UpsertProductUpsellConfigurationDto"},"remove_after_enabled":{"type":["null","boolean"],"description":"Indicates whether automatic removal is enabled."},"remove_after_time_value":{"type":["null","integer"],"description":"The time value for automatic removal.","format":"int32"},"remove_after_time_scale":{"$ref":"#/components/schemas/ProductRemoveAfterIntervalScale"},"store_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"customer_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"stock_limit_do_not_include_removed":{"type":["null","boolean"],"description":"Indicates whether removed items should be excluded from stock limits."},"tags":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The tag IDs associated with the product."},"gameservers":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The gameserver IDs associated with the product."},"commands":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductCommandDto"},"description":"The commands to be executed at different stages."},"deliverable_actions":{"$ref":"#/components/schemas/ProductDeliverableActionsDto"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Additional metadata for the product."},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductPayoutSplitDto"},"description":"The payout splits for revenue distribution.\nRequires special approval."},"tax_code":{"$ref":"#/components/schemas/ProductTaxCode"},"allow_concurrent_active_items":{"type":["null","boolean"],"description":"Indicates whether concurrent active items are allowed."},"is_hidden":{"type":["null","boolean"],"description":"Indicates whether the product is hidden."},"is_gifting_disabled":{"type":["null","boolean"],"description":"Indicates whether gifting is disabled."},"enabled_at":{"type":["null","string"],"description":"The date and time when the product becomes enabled.\nSet to `null` to keep enabled.","format":"date-time"},"enabled_until":{"type":["null","string"],"description":"The date and time until which the product remains enabled.\nSet to `null` to keep enabled.","format":"date-time"},"required_product_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of products required for purchasing this product."},"required_product_all":{"type":["null","boolean"],"description":"Indicates whether all required products are needed."},"custom_variable_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of associated custom variables."},"is_gift_cards_disabled":{"type":["null","boolean"],"description":"Indicates if applying gift cards should be disabled on the product."},"is_coupons_disabled":{"type":["null","boolean"],"description":"Indicates if applying coupons should be disabled on the product."},"is_affiliate_links_disabled":{"type":["null","boolean"],"description":"Indicates if applying affiliate links should be disabled on the product."},"tier_group_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Optional inline product definition for dynamic products.\nRequires special approval, use `product_id` instead."},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"UpsertProductTrialConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"],"description":"Indicates if trials should be enabled for the product."},"period_value":{"type":["null","integer"],"description":"The trial period value.","format":"int32"},"period_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"revoke_immediately_when_canceled":{"type":["null","boolean"],"description":"Indicates if the trial should be revoked immediately when canceled or at the end of the trial."},"new_customers_only":{"type":["null","boolean"],"description":"Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."},"new_customer_order_lookback_value":{"type":["null","integer"],"description":"The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.","format":"int32"},"new_customer_order_lookback_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"allow_repeat_trials":{"type":["null","boolean"],"description":"Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."},"repeat_trial_cooldown_value":{"type":["null","integer"],"description":"The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trials is enabled.","format":"int32"},"repeat_trial_cooldown_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"}},"additionalProperties":false,"description":"Represents the configuration for trials of a product"},"UpsertProductUpsellConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"]},"recommendations":{"type":["null","array"],"items":{"$ref":"#/components/schemas/UpsertProductUpsellRecommendationDto"}}},"additionalProperties":false},"UpsertProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"ProductRemoveAfterIntervalScale":{"enum":["invalid","day","week","month"],"type":"string"},"ProductStockLimitDto":{"required":["enabled","include_trials","time_scale"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates whether stock limit is enabled."},"quantity":{"type":["null","integer"],"description":"The quantity limit.","format":"int32"},"time_value":{"type":["null","integer"],"description":"The time value for stock limit period.","format":"int32"},"time_scale":{"$ref":"#/components/schemas/ProductStockTimeScale"},"include_trials":{"type":"boolean","description":"Indicates if trials should be included in the active stock limit calculation."}},"additionalProperties":false},"ProductStockTimeScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"ProductCommandDto":{"required":["content","online_only","stage"],"type":"object","properties":{"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"Content of the command."},"online_only":{"type":"boolean","description":"Value indicating whether the command should only execute when the player is online."},"override_execute_on_gameserver_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"Value indicating on which game servers should the command be executed.\nIf left empty or null, then the default behavior applies\n(executing on all game servers or on the selected game server is selection is enabled)"}},"additionalProperties":false},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"ProductDeliverableActionsDto":{"required":["grant_giftcard"],"type":"object","properties":{"grant_giftcard":{"type":"boolean","description":"Value indicating whether to grant a giftcard with the product with the subtotal amount."}},"additionalProperties":false},"ProductPayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the payment allocated to the user, in basis points (500 = 5%).\nThe last payout split must have this field set to `null` to receive the remaining portion.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage your platform receives, in basis points (500 = 5%).","format":"int64"}},"additionalProperties":false},"ProductTaxCode":{"enum":["unknown","digital_goods_subscription","digital_goods_permanent","saas","downloaded_software","digital_goods_subscription_gaming","digital_goods_permanent_gaming","iaas","paas","saas_security","saas_storage"],"type":"string","description":"Determines the category of the product for taxation purposes.\nContact support for help with setting the correct tax code."},"CreateCheckoutSessionLineManagementPayoutSplitDto":{"required":["payout_id"],"type":"object","properties":{"payout_id":{"type":"string","description":"The ID of the user's payout balance."},"percentage":{"type":["null","integer"],"description":"The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)\nNOTE: The last payout split needs to have a null percentage set (so the remaining amount gets properly allocated)","format":"int64"},"platform_fee":{"type":["null","integer"],"description":"The platform fee percentage applied to this split (in basis points)\nOnly applicable to platforms.","format":"int64"}},"additionalProperties":false}}}}
```

## The CreateCheckoutSessionResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateCheckoutSessionResponseDto":{"required":["id","token","url"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"token":{"type":"string","description":"The token for the checkout session"},"url":{"type":"string","description":"The URL to redirect the customer to complete checkout"}},"additionalProperties":false,"description":"Response after creating a checkout session"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CreateCouponDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateCouponDto":{"required":["enabled","code","duration","discount_type","discount_amount","discount_apply_individually","discount_apply_before_sales","minimum_order_value","redeem_limit_store_enabled","redeem_limit_store_amount","redeem_limit_customer_enabled","redeem_limit_customer_amount","usable_on_one_time_purchase","usable_on_subscription"],"type":"object","properties":{"enabled":{"type":"boolean"},"code":{"type":"string"},"note":{"type":"string"},"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","format":"int64"},"discount_apply_individually":{"type":"boolean"},"discount_apply_before_sales":{"type":"boolean"},"apply_to_products":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"apply_to_tags":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"usable_by_customer_id":{"$ref":"#/components/schemas/FlakeId"},"minimum_order_value":{"type":"integer","format":"int64"},"redeem_limit_store_enabled":{"type":"boolean"},"redeem_limit_store_amount":{"type":"integer","format":"int64"},"redeem_limit_customer_enabled":{"type":"boolean"},"redeem_limit_customer_amount":{"type":"integer","format":"int64"},"usable_on_one_time_purchase":{"type":"boolean"},"usable_on_subscription":{"type":"boolean"},"usable_at":{"type":["null","string"],"format":"date-time"},"expires_at":{"type":["null","string"],"format":"date-time"}}},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CreateDownloadableFileDownloadUrlResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateDownloadableFileDownloadUrlResponseDto":{"required":["download_signed_url"],"type":"object","properties":{"download_signed_url":{"type":"string"}},"additionalProperties":false}}}}
```

## The CreateGameServerConsoleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateGameServerConsoleDto":{"required":["type","enabled","host","port","secure"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/GameServerConsoleTypeDto"},"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","format":"int32"},"password":{"type":"string"},"secure":{"type":"boolean"}}},"GameServerConsoleTypeDto":{"enum":["unknown","rust"],"type":"string"}}}}
```

## The CreateGameServerDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateGameServerDto":{"required":["name","enabled"],"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"}}}}}}
```

## The CreateGiftCardDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateGiftCardDto":{"required":["enabled","code","balance","usable_at"],"type":"object","properties":{"enabled":{"type":"boolean"},"code":{"type":"string"},"note":{"type":"string"},"balance":{"type":"integer","format":"int64"},"usable_at":{"type":"string","format":"date-time"},"expires_at":{"type":["null","string"],"format":"date-time"}}}}}}
```

## The CreateNavLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateNavLinkDto":{"required":["tag_id"],"type":"object","properties":{"tag_id":{"$ref":"#/components/schemas/FlakeId"},"parent_node_id":{"type":"string"},"order":{"type":["null","integer"],"format":"int32"}}},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CreateProductDependentMigrationRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateProductDependentMigrationRequestDto":{"required":["send_all_commands_to_new_servers","send_new_commands_to_all_servers","target_types"],"type":"object","properties":{"send_new_commands_to_all_servers":{"type":"boolean"},"send_all_commands_to_new_servers":{"type":"boolean"},"target_types":{"type":"array","items":{"$ref":"#/components/schemas/ProductDependentMigrationTargetTypeDto"}}},"additionalProperties":false},"ProductDependentMigrationTargetTypeDto":{"enum":["invalid","active_subscriptions","active_unused_delivery_items","non_expirable_delivery_items"],"type":"string"}}}}
```

## The CreateRefundRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateRefundRequestDto":{"type":"object","properties":{"order_line_id":{"$ref":"#/components/schemas/FlakeId"},"refund_from_connected_user_balance":{"type":["null","boolean"],"description":"Determines if the refund should be taken from the connected user's balance.\nOnly relevant for connected platforms."}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CreateSaleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateSaleDto":{"required":["enabled","name","discount_type","discount_amount","apply_to_product_ids","apply_to_tag_ids","minimum_order_value","begins_at"],"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"},"discount_type":{"$ref":"#/components/schemas/SaleDiscountType"},"discount_amount":{"type":"integer","format":"int32"},"apply_to_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"apply_to_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"minimum_order_value":{"type":"integer","format":"int32"},"begins_at":{"type":"string","format":"date-time"},"ends_at":{"type":["null","string"],"format":"date-time"}}},"SaleDiscountType":{"enum":["percent","amount"],"type":"string"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CreateStoreDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateStoreDto":{"required":["slug","name","platform","game","currency","description"],"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"platform":{"type":"string"},"game":{"type":"string"},"currency":{"type":"string"},"description":{"type":"string"},"website_url":{"type":"string"},"contact_email":{"type":"string"},"support_email":{"type":"string"},"support_url":{"type":"string"},"integration_type":{"type":"string"},"minecraft_bedrock_username_prefix":{"type":"string"}}}}}}
```

## The CreateStorePaymentSettingsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateStorePaymentSettingsDto":{"required":["show_all_payment_methods_for_subscriptions","store_tax_inclusive_pricing","block_prepaid_cards","promo_code_stacking_behavior","adaptive_currency_enabled","show_adaptive_currency_on_storefront"],"type":"object","properties":{"show_all_payment_methods_for_subscriptions":{"type":"boolean"},"store_tax_inclusive_pricing":{"type":"boolean"},"block_prepaid_cards":{"$ref":"#/components/schemas/PrepaidCardsBlockingTypeDto"},"promo_code_stacking_behavior":{"$ref":"#/components/schemas/StorePromoCodeStackingBehaviorDto"},"adaptive_currency_enabled":{"type":"boolean"},"show_adaptive_currency_on_storefront":{"type":"boolean"}}},"PrepaidCardsBlockingTypeDto":{"enum":["unspecified","none","trials","all_recurring"],"type":"string","description":"Defines when prepaid cards should be blocked from use."},"StorePromoCodeStackingBehaviorDto":{"enum":["invalid","disabled","enabled","gift_cards_only"],"type":"string","description":"Defines the behavior of promo code stacking."}}}}
```

## The CreateStoreUpsellSettingsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateStoreUpsellSettingsDto":{"required":["enabled","automatic_recommendations_enabled","automatic_recommendations_discount_type","automatic_recommendations_discount_amount","recommendation_overrides_enabled","recommendation_overrides","checkout_style"],"type":"object","properties":{"enabled":{"type":"boolean"},"automatic_recommendations_enabled":{"type":"boolean"},"automatic_recommendations_discount_type":{"$ref":"#/components/schemas/UpsellDiscountType"},"automatic_recommendations_discount_amount":{"type":"integer","format":"int64"},"recommendation_overrides_enabled":{"type":"boolean"},"recommendation_overrides":{"type":"array","items":{"$ref":"#/components/schemas/StoreUpsellRecommendationDto"}},"checkout_style":{"$ref":"#/components/schemas/StoreUpsellCheckoutStyleDto"}}},"UpsellDiscountType":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"StoreUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"StoreUpsellCheckoutStyleDto":{"enum":["unknown","inline","inline_and_prepayment_dialog","dedicated_step"],"type":"string"}}}}
```

## The CreateTierGroupRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateTierGroupRequestDto":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the tier group."}},"additionalProperties":false}}}}
```

## The CreateTrialEligibilityOverrideDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateTrialEligibilityOverrideDto":{"required":["product_id","expires_at"],"type":"object","properties":{"product_id":{"$ref":"#/components/schemas/FlakeId"},"expires_at":{"type":"string","format":"date-time"},"note":{"type":"string"}}},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CreateWebhookDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CreateWebhookDto":{"required":["subscribed_to","type","url"],"type":"object","properties":{"url":{"type":"string"},"subscribed_to":{"$ref":"#/components/schemas/WebhookEventType"},"type":{"$ref":"#/components/schemas/WebhookType"},"discord_description_template":{"type":["null","string"]},"discord_title":{"type":["null","string"]},"discord_color":{"type":["null","string"]},"discord_format":{"$ref":"#/components/schemas/WebhookDiscordFormatDto"}},"additionalProperties":false},"WebhookEventType":{"enum":["OnIgnore","OnOrderCompleted","OnRefund","OnChargeback","OnDeliveryItemAdded","OnDeliveryItemActivated","OnDeliveryItemUsed","OnDeliveryItemRevoked","OnSubscriptionActivated","OnSubscriptionRenewed","OnSubscriptionCanceled","OnDiscordOrderActionsQueued","OnConnectedUserRegistered","OnConnectedUserBecamePayable","OnConnectedUserPayoutCreated","OnConnectedUserPayoutCompleted","OnConnectedUserTransactionInserted","OnConnectedUserBecameUnpayable","OnTrialActivated","OnTrialCompleted","OnTrialCanceled","OnPurchaseFollowUpAttemptEmailSent","OnPurchaseFollowUpAttemptSucceeded","OnAbandonedCheckoutRecoveryAttemptEmailSent","OnAbandonedCheckoutRecoveryAttemptSucceeded","OnChargebackClosed"],"type":"string"},"WebhookType":{"enum":["json_v1","discord_v1"],"type":"string"},"WebhookDiscordFormatDto":{"enum":["Invalid","Embed","Text"],"type":"string"}}}}
```

## The CryptoDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The CustomVariableDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomVariableDto":{"required":["created_at","created_by","description","id","identifier","name","options","store_id","type"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"identifier":{"type":"string","description":"Unique identifier string used to reference this custom variable programmatically.\nMust contain only letters, numbers, underscores, and hyphens."},"name":{"type":"string","description":"Display name for the custom variable shown to customers."},"description":{"type":"string","description":"Description explaining what this custom variable is for. Can be shown to customers."},"type":{"$ref":"#/components/schemas/CustomVariableType"},"value_regex":{"type":["null","string"],"description":"Optional regex pattern to validate text/number input values.\nOnly applies to text and number types.\nUses RE2 syntax - does not support negative lookarounds, backreferences, or other advanced regex features."},"options":{"type":"array","items":{"$ref":"#/components/schemas/CustomVariableOptionDto"},"description":"Available options for dropdown type custom variables.\nEmpty for text and number types."},"created_by":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":"string","description":"When this custom variable was created.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"When this custom variable was last updated.\nNull if never updated.","format":"date-time"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomVariableType":{"enum":["dropdown","text","number"],"type":"string","description":"Defines the type of input method for a custom variable."},"CustomVariableOptionDto":{"required":["custom_variable_id","id","is_default","name","price","price_type","sort_order","store_id","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"custom_variable_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name shown to customers for this option."},"value":{"type":"string","description":"Internal value used for product command variable replacement, without brackets."},"price":{"type":"integer","description":"Price modification when this option is selected.\nInterpretation depends on PriceType (fixed amount or percentage).","format":"int64"},"price_type":{"$ref":"#/components/schemas/CustomVariableOptionPriceType"},"is_default":{"type":"boolean","description":"Whether this option is selected by default when the custom variable is presented.\nOnly one option per custom variable should be marked as default."},"sort_order":{"type":"integer","description":"Sort order for displaying options to customers.\nLower numbers appear first.","format":"int32"}},"additionalProperties":false},"CustomVariableOptionPriceType":{"enum":["fixed","percentage"],"type":"string","description":"Defines how option pricing should be applied to the base product price."},"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"}}}}
```

## The CustomVariableLineItemDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The CustomVariableOptionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomVariableOptionDto":{"required":["custom_variable_id","id","is_default","name","price","price_type","sort_order","store_id","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"custom_variable_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name shown to customers for this option."},"value":{"type":"string","description":"Internal value used for product command variable replacement, without brackets."},"price":{"type":"integer","description":"Price modification when this option is selected.\nInterpretation depends on PriceType (fixed amount or percentage).","format":"int64"},"price_type":{"$ref":"#/components/schemas/CustomVariableOptionPriceType"},"is_default":{"type":"boolean","description":"Whether this option is selected by default when the custom variable is presented.\nOnly one option per custom variable should be marked as default."},"sort_order":{"type":"integer","description":"Sort order for displaying options to customers.\nLower numbers appear first.","format":"int32"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomVariableOptionPriceType":{"enum":["fixed","percentage"],"type":"string","description":"Defines how option pricing should be applied to the base product price."}}}}
```

## The CustomVariableOptionPriceType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomVariableOptionPriceType":{"enum":["fixed","percentage"],"type":"string","description":"Defines how option pricing should be applied to the base product price."}}}}
```

## The CustomVariableOptionRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomVariableOptionRequestDto":{"required":["is_default","name","price","price_type","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name shown to customers for this option."},"value":{"type":"string","description":"The value the command variable will be replaced with."},"price":{"type":"integer","description":"Price modification when this option is selected.\nInterpretation depends on PriceType (fixed amount or percentage).\nIf fixed, the value is in cents, if a percentage, in permille.","format":"int64"},"price_type":{"$ref":"#/components/schemas/CustomVariableOptionPriceType"},"is_default":{"type":"boolean","description":"Whether this option is selected by default.\nOnly one option per custom variable should be marked as default."}},"additionalProperties":false,"description":"Request model for defining custom variable options.\nUsed within UpsertCustomVariableRequestDto for dropdown-type variables."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomVariableOptionPriceType":{"enum":["fixed","percentage"],"type":"string","description":"Defines how option pricing should be applied to the base product price."}}}}
```

## The CustomVariableType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomVariableType":{"enum":["dropdown","text","number"],"type":"string","description":"Defines the type of input method for a custom variable."}}}}
```

## The CustomerDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The CustomerMinecraftPlatform object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomerMinecraftPlatform":{"enum":["unknown","java","bedrock"],"type":"string"}}}}
```

## The CustomerPlatformAccountDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomerPlatformAccountDto":{"required":["id","platform"],"type":"object","properties":{"platform":{"$ref":"#/components/schemas/CustomerProfilePlatform"},"id":{"type":"string","description":"The account ID on the platform"}},"additionalProperties":false,"description":"Represents a customer platform association, used for gifting"},"CustomerProfilePlatform":{"enum":["invalid","steam","minecraft","paynow_name","paynow","minecraft_java_name","minecraft_bedrock_name","xbox_xuid","minecraft_uuid"],"type":"string"}}}}
```

## The CustomerProfilePlatform object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomerProfilePlatform":{"enum":["invalid","steam","minecraft","paynow_name","paynow","minecraft_java_name","minecraft_bedrock_name","xbox_xuid","minecraft_uuid"],"type":"string"}}}}
```

## The CustomerTokenResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"CustomerTokenResponseDto":{"required":["token"],"type":"object","properties":{"token":{"type":"string","description":"The generated Customer token."}},"additionalProperties":false}}}}
```

## The DataMigrationTaskDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DataMigrationTaskDto":{"required":["id","platform","started_at","started_by","store_id","token","total_entities_migrated"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"platform":{"type":"string","description":"Platform from which data is being migrated (e.g., \"tebex\")."},"token":{"type":"string","description":"Masked authentication token used for accessing the source platform API."},"error":{"type":["null","string"],"description":"Error message if the migration encountered any errors, otherwise null."},"started_at":{"type":"string","description":"Timestamp when the migration was initiated.","format":"date-time"},"failed_at":{"type":["null","string"],"description":"Timestamp when the migration failed, or null if it didn't fail.","format":"date-time"},"completed_at":{"type":["null","string"],"description":"Timestamp when the migration was successfully completed, or null if not completed.","format":"date-time"},"total_entities_to_migrate":{"type":["null","integer"],"description":"Total number of entities that need to be migrated, or null if unknown.","format":"int64"},"total_entities_migrated":{"type":"integer","description":"Number of entities that have been successfully migrated.","format":"int32"},"started_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The DeliveryItemAssignmentBulkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DeliveryItemAssignmentBulkDto":{"required":["customer_id"],"type":"object","properties":{"customer_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"execute_on_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"quantity":{"type":["null","integer"],"description":"Quantity of products to assign.","format":"int32"},"override_expires_at":{"type":["null","string"],"description":"Override expiry date for the delivery item.","format":"date-time"},"skip_commands":{"type":["null","boolean"],"description":"Skip command execution when assigning the item."},"custom_variables":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Custom variables for the assignment."}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The DeliveryItemAssignmentDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DeliveryItemAssignmentDto":{"type":"object","properties":{"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"execute_on_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"quantity":{"type":["null","integer"],"description":"Quantity of products to assign.","format":"int32"},"override_expires_at":{"type":["null","string"],"description":"Override expiry date for the delivery item.","format":"date-time"},"skip_commands":{"type":["null","boolean"],"description":"Skip command execution when assigning the item."},"custom_variables":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Custom variables for the assignment."}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The DeliveryItemDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DeliveryItemDto":{"required":["added_at","command_attempts","custom_variables","customer","customer_id","expirable","gift","id","product","skip_commands","state","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"order_customer_id":{"$ref":"#/components/schemas/FlakeId"},"order_customer":{"$ref":"#/components/schemas/CustomerDto"},"checkout_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"order_id":{"$ref":"#/components/schemas/FlakeId"},"order_line_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"trial_id":{"$ref":"#/components/schemas/FlakeId"},"execute_on_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"quantity_index":{"type":["null","integer"],"description":"The index of the item when multiple quantities were assigned","format":"int32"},"product":{"$ref":"#/components/schemas/DeliveryItemProductDto"},"state":{"$ref":"#/components/schemas/DeliveryItemStateDto"},"added_at":{"type":"string","description":"The date and time when the item was added","format":"date-time"},"added_by":{"$ref":"#/components/schemas/ActorDto"},"active_at":{"type":["null","string"],"description":"The date and time when the item became active","format":"date-time"},"expirable":{"type":"boolean","description":"Indicates whether the delivery item can expire"},"expires_at":{"type":["null","string"],"description":"The date and time when the item expires naturally","format":"date-time"},"override_expires_at":{"type":["null","string"],"description":"The override expiry date for the delivery item","format":"date-time"},"removed_at":{"type":["null","string"],"description":"The date and time when the item was removed","format":"date-time"},"revoked_at":{"type":["null","string"],"description":"The date and time when the item was revoked","format":"date-time"},"revoke_reason":{"type":["null","string"],"description":"The reason for revoking the delivery item"},"revoked_by":{"$ref":"#/components/schemas/ActorDto"},"command_attempts":{"type":"array","items":{"$ref":"#/components/schemas/CommandAttemptDto"},"description":"The command execution attempts for this delivery item"},"skip_commands":{"type":"boolean","description":"Indicates whether command execution should be skipped for this item"},"custom_variables":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom variables associated with the delivery item"},"gift":{"type":"boolean","description":"Indicates whether the item was given as a gift"}},"additionalProperties":false,"description":"Represents a delivery item assigned to a customer"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"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."},"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"},"DeliveryItemProductDto":{"required":["id","name","slug","version_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"The name of the product"},"slug":{"type":"string","description":"The URL-friendly slug of the product"},"version_id":{"type":"string","description":"The version identifier of the product"}},"additionalProperties":false,"description":"Represents the product information for a delivery item"},"DeliveryItemStateDto":{"enum":["usable","active","used","revoked","renewed"],"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"},"CommandAttemptDto":{"required":["command","gameserver_id","id","online_only","queued_at","rerun","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"inventory_item_id":{"$ref":"#/components/schemas/FlakeId"},"gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"steam_id":{"$ref":"#/components/schemas/SteamId"},"minecraft_uuid":{"type":["null","string"]},"customer_name":{"type":["null","string"]},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"command_stage":{"type":["null","string"]},"command":{"type":"string"},"online_only":{"type":"boolean"},"rerun":{"type":"boolean"},"queued_at":{"type":"string","format":"date-time"},"executed_at":{"type":["null","string"],"format":"date-time"},"executed_by_ip":{"type":["null","string"]},"unqueued_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false}}}}
```

## The DeliveryItemProductDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DeliveryItemProductDto":{"required":["id","name","slug","version_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"The name of the product"},"slug":{"type":"string","description":"The URL-friendly slug of the product"},"version_id":{"type":"string","description":"The version identifier of the product"}},"additionalProperties":false,"description":"Represents the product information for a delivery item"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The DeliveryItemStateDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DeliveryItemStateDto":{"enum":["usable","active","used","revoked","renewed"],"type":"string"}}}}
```

## The DiscordActionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordActionDto":{"required":["action_type","discord_server_id","execution_stage","id","product_id","product_version_id","revocation_stages","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"discord_server_id":{"$ref":"#/components/schemas/FlakeId"},"execution_stage":{"$ref":"#/components/schemas/DiscordActionExecutionStage"},"revocation_stages":{"type":"array","items":{"$ref":"#/components/schemas/DiscordActionRevocationStage"}},"action_type":{"$ref":"#/components/schemas/DiscordActionType"},"channel_id":{"$ref":"#/components/schemas/FlakeId"},"role_id":{"$ref":"#/components/schemas/FlakeId"},"message":{"type":["null","string"]}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"DiscordActionExecutionStage":{"enum":["on_purchase","on_expire","on_refund","on_chargeback"],"type":"string"},"DiscordActionRevocationStage":{"enum":["on_expire","on_refund","on_chargeback"],"type":"string"},"DiscordActionType":{"enum":["persist_role","send_message","ban_user","kick_user","generate_invite_link"],"type":"string"}}}}
```

## The DiscordActionExecutionStage object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordActionExecutionStage":{"enum":["on_purchase","on_expire","on_refund","on_chargeback"],"type":"string"}}}}
```

## The DiscordActionRevocationStage object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordActionRevocationStage":{"enum":["on_expire","on_refund","on_chargeback"],"type":"string"}}}}
```

## The DiscordActionType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordActionType":{"enum":["persist_role","send_message","ban_user","kick_user","generate_invite_link"],"type":"string"}}}}
```

## The DiscordProfileDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordProfileDto":{"required":["avatar_hash","discord_id","username"],"type":"object","properties":{"discord_id":{"$ref":"#/components/schemas/FlakeId"},"username":{"type":"string"},"avatar_hash":{"type":"string"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The DiscordServerChannelDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordServerChannelDto":{"required":["category","id","name"],"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"category":{"type":"string"}},"additionalProperties":false}}}}
```

## The DiscordServerLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordServerLinkDto":{"required":["created_at","store_id","token"],"type":"object","properties":{"token":{"type":"string"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"server_id":{"$ref":"#/components/schemas/FlakeId"},"server_name":{"type":["null","string"]},"server_icon_url":{"type":["null","string"]},"created_at":{"type":"string","format":"date-time"},"linked_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The DiscordServerRoleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"DiscordServerRoleDto":{"required":["id","name"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ExecutedWebhookDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ExecutedWebhookDto":{"required":["id","started_at","status_code"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"started_at":{"type":"string","format":"date-time"},"finished_at":{"type":["null","string"],"format":"date-time"},"status_code":{"type":"integer","format":"int32"},"response":{"type":["null","string"]}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The FinishTagImageUploadUrlRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"FinishTagImageUploadUrlRequestDto":{"required":["image_id"],"type":"object","properties":{"image_id":{"type":"string","description":"The ID of the uploaded image returned by the server."}},"additionalProperties":false}}}}
```

## The FlakeId object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The GameServerConsoleConnectionStatusDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GameServerConsoleConnectionStatusDto":{"enum":["unknown","disconnected","connecting","connected","backoff"],"type":"string"}}}}
```

## The GameServerConsoleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GameServerConsoleDto":{"required":["assigned_runner_id","connection_status","created_at","created_by","enabled","game_server_id","host","port","secure","store_id","type"],"type":"object","properties":{"game_server_id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/GameServerConsoleTypeDto"},"enabled":{"type":"boolean"},"assigned_runner_id":{"type":"string"},"connection_status":{"$ref":"#/components/schemas/GameServerConsoleConnectionStatusDto"},"last_heartbeat_at":{"type":["null","string"],"format":"date-time"},"host":{"type":"string"},"port":{"type":"integer","format":"int32"},"password":{"type":["null","string"]},"secure":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"GameServerConsoleTypeDto":{"enum":["unknown","rust"],"type":"string"},"GameServerConsoleConnectionStatusDto":{"enum":["unknown","disconnected","connecting","connected","backoff"],"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"}}}}
```

## The GameServerConsoleMessageDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GameServerConsoleMessageDto":{"required":["message","time","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/GameServerConsoleMessageTypeDto"},"message":{"type":"string"},"time":{"type":"string","format":"date-time"}},"additionalProperties":false},"GameServerConsoleMessageTypeDto":{"enum":["unknown","output","command","response","system"],"type":"string"}}}}
```

## The GameServerConsoleMessageTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GameServerConsoleMessageTypeDto":{"enum":["unknown","output","command","response","system"],"type":"string"}}}}
```

## The GameServerConsoleTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GameServerConsoleTypeDto":{"enum":["unknown","rust"],"type":"string"}}}}
```

## The GameServerDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GameServerDto":{"required":["created_at","created_by","enabled","id","linked_to","name","store_id","updated_by"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"The display name of the game server."},"enabled":{"type":"boolean","description":"Indicates whether the game server is currently enabled."},"token":{"type":["null","string"],"description":"The authentication token used by the game server to access the PayNow API."},"token_reset_at":{"type":["null","string"],"description":"The date and time when the authentication token was last reset, if applicable.","format":"date-time"},"linked_to":{"$ref":"#/components/schemas/GameServerLinkDto"},"created_at":{"type":"string","description":"The date and time when the game server was created in the system.","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"The date and time when the game server was last updated, if applicable.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false,"description":"Represents a game server in the PayNow system with authentication tokens and linking information."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"GameServerLinkDto":{"required":["hostname","ip","platform","saved_at","version"],"type":"object","properties":{"ip":{"type":"string"},"hostname":{"type":"string"},"platform":{"type":"string"},"version":{"type":"string"},"saved_at":{"type":"string","format":"date-time"},"last_fetched_commands_at":{"type":["null","string"],"format":"date-time"},"last_fetched_commands_from_ip":{"type":["null","string"]}},"additionalProperties":false},"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"}}}}
```

## The GameServerLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GameServerLinkDto":{"required":["hostname","ip","platform","saved_at","version"],"type":"object","properties":{"ip":{"type":"string"},"hostname":{"type":"string"},"platform":{"type":"string"},"version":{"type":"string"},"saved_at":{"type":"string","format":"date-time"},"last_fetched_commands_at":{"type":["null","string"],"format":"date-time"},"last_fetched_commands_from_ip":{"type":["null","string"]}},"additionalProperties":false}}}}
```

## The GenericProfileDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The GetTagImageUploadUrlResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GetTagImageUploadUrlResponseDto":{"required":["id","upload_url"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the direct image upload URL."},"upload_url":{"type":"string","description":"The URL to upload the image to."}},"additionalProperties":false}}}}
```

## The GiftCardDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GiftCardDto":{"required":["balance","code","enabled","id","starting_balance","store_id","usable_at"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"Indicates whether the gift card is currently enabled and can be used."},"code":{"type":"string","description":"The unique code that customers use to redeem the gift card."},"note":{"type":["null","string"],"description":"Optional note or description associated with the gift card."},"balance":{"type":"integer","description":"The current balance remaining on the gift card in cents.","format":"int64"},"starting_balance":{"type":"integer","description":"The original balance when the gift card was first created in cents.","format":"int64"},"usable_at":{"type":"string","description":"The date and time when the gift card becomes usable.","format":"date-time"},"expires_at":{"type":["null","string"],"description":"The date and time when the gift card expires, if applicable.","format":"date-time"},"created_at":{"type":["null","string"],"description":"The date and time when the gift card was created.","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"The date and time when the gift card was last updated, if applicable.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"canceled_at":{"type":["null","string"],"description":"The date and time when the gift card was canceled, if applicable.","format":"date-time"},"canceled_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false,"description":"Represents a gift card in the PayNow system."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The GlobalCommandDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"GlobalCommandDto":{"required":["content","created_at","created_by","execution_rule","id","online_only","override_execute_on_gameserver_ids","stage","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"The actual command content to be executed."},"online_only":{"type":"boolean","description":"Indicates whether the command should only be executed when the player is online."},"override_execute_on_gameserver_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"List of specific game server IDs where this command should be executed, overriding default behavior."},"execution_rule":{"$ref":"#/components/schemas/ProductCommandExecutionRuleDto"},"created_at":{"type":"string","description":"Timestamp when the command was created.","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"Optional timestamp indicating when the command was last updated.\nNull if the command has never been updated.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false,"description":"Represents a global command in the system.\nGlobal commands are instructions that can be executed across a store's environment."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"ProductCommandExecutionRuleDto":{"enum":["invalid","once_per_item","once_per_order"],"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"}}}}
```

## The IdealDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The InlineProductCreateDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"InlineProductCreateDto":{"type":"object","properties":{"slug":{"type":["null","string"],"description":"The unique URL-safe identifier (slug) for the product."},"name":{"type":["null","string"],"description":"The display name of the product."},"description":{"type":["null","string"],"description":"The detailed description of the product."},"label":{"type":["null","string"],"description":"The display label for the product."},"price":{"type":["null","integer"],"description":"The price of the product in the lowest denominator (e.g. cents).","format":"int64"},"single_game_server_only":{"type":["null","boolean"],"description":"Indicates whether the customer is prompted to select a game server before purchasing."},"allow_one_time_purchase":{"type":["null","boolean"],"description":"Indicates whether one-time purchases are allowed."},"allow_subscription":{"type":["null","boolean"],"description":"Indicates whether subscription purchases are allowed."},"subscription_interval_value":{"type":["null","integer"],"description":"The subscription interval value.","format":"int32"},"subscription_interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"trial":{"$ref":"#/components/schemas/UpsertProductTrialConfigurationDto"},"upselling":{"$ref":"#/components/schemas/UpsertProductUpsellConfigurationDto"},"remove_after_enabled":{"type":["null","boolean"],"description":"Indicates whether automatic removal is enabled."},"remove_after_time_value":{"type":["null","integer"],"description":"The time value for automatic removal.","format":"int32"},"remove_after_time_scale":{"$ref":"#/components/schemas/ProductRemoveAfterIntervalScale"},"store_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"customer_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"stock_limit_do_not_include_removed":{"type":["null","boolean"],"description":"Indicates whether removed items should be excluded from stock limits."},"tags":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The tag IDs associated with the product."},"gameservers":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The gameserver IDs associated with the product."},"commands":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductCommandDto"},"description":"The commands to be executed at different stages."},"deliverable_actions":{"$ref":"#/components/schemas/ProductDeliverableActionsDto"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Additional metadata for the product."},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductPayoutSplitDto"},"description":"The payout splits for revenue distribution.\nRequires special approval."},"tax_code":{"$ref":"#/components/schemas/ProductTaxCode"},"allow_concurrent_active_items":{"type":["null","boolean"],"description":"Indicates whether concurrent active items are allowed."},"is_hidden":{"type":["null","boolean"],"description":"Indicates whether the product is hidden."},"is_gifting_disabled":{"type":["null","boolean"],"description":"Indicates whether gifting is disabled."},"enabled_at":{"type":["null","string"],"description":"The date and time when the product becomes enabled.\nSet to `null` to keep enabled.","format":"date-time"},"enabled_until":{"type":["null","string"],"description":"The date and time until which the product remains enabled.\nSet to `null` to keep enabled.","format":"date-time"},"required_product_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of products required for purchasing this product."},"required_product_all":{"type":["null","boolean"],"description":"Indicates whether all required products are needed."},"custom_variable_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of associated custom variables."},"is_gift_cards_disabled":{"type":["null","boolean"],"description":"Indicates if applying gift cards should be disabled on the product."},"is_coupons_disabled":{"type":["null","boolean"],"description":"Indicates if applying coupons should be disabled on the product."},"is_affiliate_links_disabled":{"type":["null","boolean"],"description":"Indicates if applying affiliate links should be disabled on the product."},"tier_group_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Optional inline product definition for dynamic products.\nRequires special approval, use `product_id` instead."},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"UpsertProductTrialConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"],"description":"Indicates if trials should be enabled for the product."},"period_value":{"type":["null","integer"],"description":"The trial period value.","format":"int32"},"period_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"revoke_immediately_when_canceled":{"type":["null","boolean"],"description":"Indicates if the trial should be revoked immediately when canceled or at the end of the trial."},"new_customers_only":{"type":["null","boolean"],"description":"Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."},"new_customer_order_lookback_value":{"type":["null","integer"],"description":"The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.","format":"int32"},"new_customer_order_lookback_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"allow_repeat_trials":{"type":["null","boolean"],"description":"Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."},"repeat_trial_cooldown_value":{"type":["null","integer"],"description":"The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trials is enabled.","format":"int32"},"repeat_trial_cooldown_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"}},"additionalProperties":false,"description":"Represents the configuration for trials of a product"},"UpsertProductUpsellConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"]},"recommendations":{"type":["null","array"],"items":{"$ref":"#/components/schemas/UpsertProductUpsellRecommendationDto"}}},"additionalProperties":false},"UpsertProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"ProductRemoveAfterIntervalScale":{"enum":["invalid","day","week","month"],"type":"string"},"ProductStockLimitDto":{"required":["enabled","include_trials","time_scale"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates whether stock limit is enabled."},"quantity":{"type":["null","integer"],"description":"The quantity limit.","format":"int32"},"time_value":{"type":["null","integer"],"description":"The time value for stock limit period.","format":"int32"},"time_scale":{"$ref":"#/components/schemas/ProductStockTimeScale"},"include_trials":{"type":"boolean","description":"Indicates if trials should be included in the active stock limit calculation."}},"additionalProperties":false},"ProductStockTimeScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"ProductCommandDto":{"required":["content","online_only","stage"],"type":"object","properties":{"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"Content of the command."},"online_only":{"type":"boolean","description":"Value indicating whether the command should only execute when the player is online."},"override_execute_on_gameserver_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"Value indicating on which game servers should the command be executed.\nIf left empty or null, then the default behavior applies\n(executing on all game servers or on the selected game server is selection is enabled)"}},"additionalProperties":false},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"ProductDeliverableActionsDto":{"required":["grant_giftcard"],"type":"object","properties":{"grant_giftcard":{"type":"boolean","description":"Value indicating whether to grant a giftcard with the product with the subtotal amount."}},"additionalProperties":false},"ProductPayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the payment allocated to the user, in basis points (500 = 5%).\nThe last payout split must have this field set to `null` to receive the remaining portion.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage your platform receives, in basis points (500 = 5%).","format":"int64"}},"additionalProperties":false},"ProductTaxCode":{"enum":["unknown","digital_goods_subscription","digital_goods_permanent","saas","downloaded_software","digital_goods_subscription_gaming","digital_goods_permanent_gaming","iaas","paas","saas_security","saas_storage"],"type":"string","description":"Determines the category of the product for taxation purposes.\nContact support for help with setting the correct tax code."}}}}
```

## The KlarnaDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The LastPaymentErrorDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"LastPaymentErrorDto":{"required":["decline_code","message"],"type":"object","properties":{"decline_code":{"$ref":"#/components/schemas/PaymentDeclineCode"},"message":{"type":"string","description":"Human-readable decline reason message."}},"additionalProperties":false,"description":"The last payment decline object."},"PaymentDeclineCode":{"enum":["unknown","generic_decline","call_issuer","authentication_required","currency_not_supported","duplicate_transaction","expired_card","fraudulent","incorrect_number","incorrect_cvc","incorrect_pin","incorrect_zip","insufficient_funds","invalid_account","invalid_amount","invalid_expiry_month","invalid_expiry_year","issuer_not_available","lost_card","merchant_blacklist","new_account_information_available","no_action_taken","pickup_card","pin_try_exceeded","restricted_card","stolen_card","testmode_decline","try_again_later","security_violation","card_velocity_exceeded","do_not_honor","processing_error","card_not_supported","transaction_not_allowed","authorization_revoked","store_blocked"],"type":"string","description":"A payment decline reason code."}}}}
```

## The LinkDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"LinkDetailsDto":{"required":["email"],"type":"object","properties":{"email":{"type":"string","description":"The email associated with the Link account"}},"additionalProperties":false,"description":"Link payment method details"}}}}
```

## The MarketingCouponConfigurationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"MarketingCouponConfigurationDto":{"required":["customer_redeem_limit","customer_redeem_limit_enabled","discount_amount","discount_apply_before_sales","discount_only_required_tags_or_products","discount_type","duration","minimum_order_value","required_product_ids","required_tag_ids","usable_on_one_time_purchases","usable_on_subscriptions"],"type":"object","properties":{"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"description":"Gets or sets the duration of the coupon in months, applicable only for repeating coupons.","format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","description":"Gets or sets the discount amount.","format":"int64"},"discount_only_required_tags_or_products":{"type":"boolean","description":"Gets or sets a value indicating whether the discount only applies to specific tags or products."},"discount_apply_before_sales":{"type":"boolean","description":"Gets or sets a value indicating whether the discount is applied before any existing sales or discounts."},"required_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of tag IDs required for the discount to apply."},"required_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of product IDs required for the discount to apply."},"minimum_order_value":{"type":"integer","description":"Gets or sets the minimum order value required for the discount to be applied.","format":"int64"},"customer_redeem_limit_enabled":{"type":"boolean","description":"Gets or sets a value indicating whether a customer-specific redeem limit is enabled."},"customer_redeem_limit":{"type":"integer","description":"Gets or sets the maximum number of times a single customer can redeem the coupon.","format":"int64"},"usable_on_one_time_purchases":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on one-time purchases."},"usable_on_subscriptions":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on subscription purchases."},"expires_after":{"$ref":"#/components/schemas/Period"}},"additionalProperties":false,"description":"Represents the configuration settings for a coupon applied to marketing features."},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"Period":{"type":"string","additionalProperties":false,"description":"ISO 8601 duration format","format":"period"}}}}
```

## The MinecraftProfileDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The NavLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"NavLinkDto":{"required":["name","node_id","tag_id","tag_slug"],"type":"object","properties":{"node_id":{"type":"string"},"tag_id":{"$ref":"#/components/schemas/FlakeId"},"parent_node_id":{"type":["null","string"]},"tag_slug":{"type":"string"},"name":{"type":"string"},"order":{"type":["null","integer"],"format":"int32"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The OrderCouponUsageDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"OrderCouponUsageDto":{"required":["coupon_id","usage_amount"],"type":"object","properties":{"coupon_id":{"$ref":"#/components/schemas/FlakeId"},"usage_amount":{"type":"integer","format":"int64"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The OrderDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"OrderDto":{"required":["applied_coupons","applied_giftcards","billing_country","billing_cycle_sequence","billing_email","billing_name","currency","customer","customer_id","customer_ip","discount_amount","discount_amount_str","giftcard_usage_amount","giftcard_usage_amount_str","id","is_subscription","lines","presentment_currency","presentment_discount_amount","presentment_discount_amount_str","presentment_giftcard_usage_amount","presentment_giftcard_usage_amount_str","presentment_subtotal_amount","presentment_subtotal_amount_str","presentment_tax_amount","presentment_tax_amount_str","presentment_total_amount","presentment_total_amount_str","pretty_id","status","store_id","subtotal_amount","subtotal_amount_str","tax_amount","tax_amount_str","total_amount","total_amount_str","type"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"pretty_id":{"type":"string","description":"The PayNow order ID identifier starting with pn-."},"store_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"type":{"$ref":"#/components/schemas/OrderType"},"status":{"$ref":"#/components/schemas/OrderStatus"},"checkout_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_token":{"type":["null","string"],"description":"The checkout token for this order"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"is_subscription":{"type":"boolean","description":"Signifies if the order is a subscription order","readOnly":true},"coupon_id":{"$ref":"#/components/schemas/FlakeId"},"applied_coupons":{"type":"array","items":{"$ref":"#/components/schemas/OrderCouponUsageDto"},"description":"Applied coupons to this order"},"giftcard_id":{"$ref":"#/components/schemas/FlakeId"},"applied_giftcards":{"type":"array","items":{"$ref":"#/components/schemas/OrderGiftCardUsageDto"},"description":"Applied gift cards to this order"},"affiliate_id":{"$ref":"#/components/schemas/FlakeId"},"billing_name":{"type":"string","description":"The billing name for this order"},"billing_email":{"type":"string","description":"The billing email for this order"},"billing_country":{"type":"string","description":"The billing country for this order"},"billing_cycle_sequence":{"type":"integer","description":"The billing cycle sequence (current renewal count) if this is a subscription order","format":"int32"},"customer_ip":{"type":"string","description":"The IP address (IPv4 or IPv6) of the customer at time of order"},"currency":{"type":"string","description":"The currency code used for this order"},"discount_amount":{"type":"integer","description":"The total discount amount applied to this order in smallest currency unit","format":"int32"},"discount_amount_str":{"type":"string","description":"The discount amount formatted as a string"},"subtotal_amount":{"type":"integer","description":"The subtotal amount for this order in smallest currency unit","format":"int32"},"subtotal_amount_str":{"type":"string","description":"The subtotal amount formatted as a string"},"tax_amount":{"type":"integer","description":"The tax amount for this order in smallest currency unit","format":"int32"},"tax_amount_str":{"type":"string","description":"The tax amount formatted as a string"},"total_amount":{"type":"integer","description":"The total amount for this order in smallest currency unit","format":"int32"},"total_amount_str":{"type":"string","description":"The total amount formatted as a string"},"giftcard_usage_amount":{"type":"integer","description":"The amount of gift card value used for this order in smallest currency unit","format":"int32"},"giftcard_usage_amount_str":{"type":"string","description":"The gift card usage amount formatted as a string"},"presentment_currency":{"type":"string","description":"The presentment currency code used for this order (currency shown to customer)"},"presentment_subtotal_amount":{"type":"integer","description":"The presentment subtotal amount in smallest currency unit","format":"int32"},"presentment_subtotal_amount_str":{"type":"string","description":"The presentment subtotal amount formatted as a string","readOnly":true},"presentment_discount_amount":{"type":"integer","description":"The presentment discount amount in smallest currency unit","format":"int32"},"presentment_discount_amount_str":{"type":"string","description":"The presentment discount amount formatted as a string","readOnly":true},"presentment_giftcard_usage_amount":{"type":"integer","description":"The presentment gift card usage amount in smallest currency unit","format":"int32"},"presentment_giftcard_usage_amount_str":{"type":"string","description":"The presentment gift card usage amount formatted as a string","readOnly":true},"presentment_tax_amount":{"type":"integer","description":"The presentment tax amount in smallest currency unit","format":"int32"},"presentment_tax_amount_str":{"type":"string","description":"The presentment tax amount formatted as a string","readOnly":true},"presentment_total_amount":{"type":"integer","description":"The presentment total amount in smallest currency unit","format":"int32"},"presentment_total_amount_str":{"type":"string","description":"The presentment total amount formatted as a string","readOnly":true},"created_at":{"type":["null","string"],"description":"The date and time when this order was created","format":"date-time"},"completed_at":{"type":["null","string"],"description":"The date and time when this order was completed, if applicable","format":"date-time"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/OrderLineDto"},"description":"The line items in this order"},"tax_jurisdictions":{"type":["null","array"],"items":{"$ref":"#/components/schemas/SalesTaxJurisdictionDto"},"description":"A list of all tax jurisdictions that were involved in the taxation of this order."},"last_payment_error":{"$ref":"#/components/schemas/LastPaymentErrorDto"}},"additionalProperties":false,"description":"Represents a customer order"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"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."},"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"},"OrderType":{"enum":["one_time","subscription_initial","subscription_renewal","subscription_proration","mixed"],"type":"string","description":"Defines the type of items contained in an order"},"OrderStatus":{"enum":["created","completed","canceled","refunded","chargeback"],"type":"string"},"OrderCouponUsageDto":{"required":["coupon_id","usage_amount"],"type":"object","properties":{"coupon_id":{"$ref":"#/components/schemas/FlakeId"},"usage_amount":{"type":"integer","format":"int64"}},"additionalProperties":false},"OrderGiftCardUsageDto":{"required":["giftcard_id","usage_amount"],"type":"object","properties":{"giftcard_id":{"$ref":"#/components/schemas/FlakeId"},"usage_amount":{"type":"integer","format":"int64"}},"additionalProperties":false},"OrderLineDto":{"required":["discount_amount","discount_amount_str","gift","giftcard_usage_amount","giftcard_usage_amount_str","id","presentment_discount_amount","presentment_discount_amount_str","presentment_giftcard_usage_amount","presentment_giftcard_usage_amount_str","presentment_subtotal_amount","presentment_subtotal_amount_str","presentment_tax_amount","presentment_tax_amount_str","presentment_total_amount","presentment_total_amount_str","price","price_str","product_id","product_name","product_version_id","quantity","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"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":"string","description":"The name of the product in this order line"},"product_image_url":{"type":["null","string"],"description":"The URL of the product image"},"description":{"type":["null","string"],"description":"Customer-presentable description of the order line."},"created_giftcard_id":{"type":["null","string"],"description":"The Gift Card ID of that product in this order line"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_line_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_change_line_id":{"$ref":"#/components/schemas/FlakeId"},"trial_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_interval_value":{"type":["null","integer"],"description":"The interval value for subscription products","format":"int32"},"subscription_interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"gift":{"type":"boolean","description":"Indicates whether this order line is a gift"},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"gift_to_customer":{"$ref":"#/components/schemas/CustomerDto"},"sale_id":{"$ref":"#/components/schemas/FlakeId"},"price":{"type":"integer","description":"The unit price of the product in the smallest currency unit (e.g., cents)","format":"int32"},"price_str":{"type":"string","description":"The unit price of the product formatted as a string"},"quantity":{"type":"integer","description":"The quantity of the product in this order line","format":"int32"},"discount_amount":{"type":"integer","description":"The discount amount (from sales, coupons, and affiliate links) applied to this order line","format":"int32"},"discount_amount_str":{"type":"string","description":"The discount amount formatted as a string"},"giftcard_usage_amount":{"type":"integer","description":"The amount of gift card used for this order line","format":"int32"},"giftcard_usage_amount_str":{"type":"string","description":"The gift card usage amount formatted as a string"},"subtotal_amount":{"type":"integer","description":"The subtotal amount for this order line","format":"int32"},"subtotal_amount_str":{"type":"string","description":"The subtotal amount formatted as a string"},"tax_amount":{"type":"integer","description":"The tax amount for this order line","format":"int32"},"tax_amount_str":{"type":"string","description":"The tax amount formatted as a string"},"total_amount":{"type":"integer","description":"The total amount for this order line","format":"int32"},"total_amount_str":{"type":"string","description":"The total amount formatted as a string"},"presentment_subtotal_amount":{"type":"integer","description":"The presentment subtotal amount for this order line","format":"int32"},"presentment_subtotal_amount_str":{"type":"string","description":"The presentment subtotal amount formatted as a string","readOnly":true},"presentment_discount_amount":{"type":"integer","description":"The presentment discount amount for this order line","format":"int32"},"presentment_discount_amount_str":{"type":"string","description":"The presentment discount amount formatted as a string","readOnly":true},"presentment_tax_amount":{"type":"integer","description":"The presentment tax amount for this order line","format":"int32"},"presentment_tax_amount_str":{"type":"string","description":"The presentment tax amount formatted as a string","readOnly":true},"presentment_giftcard_usage_amount":{"type":"integer","description":"The presentment gift card usage amount for this order line","format":"int32"},"presentment_giftcard_usage_amount_str":{"type":"string","description":"The presentment gift card usage amount formatted as a string","readOnly":true},"presentment_total_amount":{"type":"integer","description":"The presentment total amount for this order line","format":"int32"},"presentment_total_amount_str":{"type":"string","description":"The presentment total amount formatted as a string","readOnly":true},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"tax_inclusive":{"type":"boolean","description":"Indicates whether tax is included in the base price, or added on top"},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/OrderLinePayoutSplitDto"},"description":"The payout splits for this order line"},"pricing_region_id":{"type":["null","string"],"description":"The regional pricing region ID for this order line, null if no regional pricing set"},"custom_variables":{"type":["null","object"],"additionalProperties":{"$ref":"#/components/schemas/CustomVariableLineItemDto"},"description":"Key-value pair of selected custom variables for this order."}},"additionalProperties":false,"description":"Represents an order line item in a customer's order"},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"OrderLinePayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage in basis points.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage in basis points.\nOnly used by platforms.","format":"int64"}},"additionalProperties":false,"description":"Represents an order line-level payout split."},"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},"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."},"LastPaymentErrorDto":{"required":["decline_code","message"],"type":"object","properties":{"decline_code":{"$ref":"#/components/schemas/PaymentDeclineCode"},"message":{"type":"string","description":"Human-readable decline reason message."}},"additionalProperties":false,"description":"The last payment decline object."},"PaymentDeclineCode":{"enum":["unknown","generic_decline","call_issuer","authentication_required","currency_not_supported","duplicate_transaction","expired_card","fraudulent","incorrect_number","incorrect_cvc","incorrect_pin","incorrect_zip","insufficient_funds","invalid_account","invalid_amount","invalid_expiry_month","invalid_expiry_year","issuer_not_available","lost_card","merchant_blacklist","new_account_information_available","no_action_taken","pickup_card","pin_try_exceeded","restricted_card","stolen_card","testmode_decline","try_again_later","security_violation","card_velocity_exceeded","do_not_honor","processing_error","card_not_supported","transaction_not_allowed","authorization_revoked","store_blocked"],"type":"string","description":"A payment decline reason code."}}}}
```

## The OrderGiftCardUsageDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"OrderGiftCardUsageDto":{"required":["giftcard_id","usage_amount"],"type":"object","properties":{"giftcard_id":{"$ref":"#/components/schemas/FlakeId"},"usage_amount":{"type":"integer","format":"int64"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The OrderLineDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"OrderLineDto":{"required":["discount_amount","discount_amount_str","gift","giftcard_usage_amount","giftcard_usage_amount_str","id","presentment_discount_amount","presentment_discount_amount_str","presentment_giftcard_usage_amount","presentment_giftcard_usage_amount_str","presentment_subtotal_amount","presentment_subtotal_amount_str","presentment_tax_amount","presentment_tax_amount_str","presentment_total_amount","presentment_total_amount_str","price","price_str","product_id","product_name","product_version_id","quantity","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"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":"string","description":"The name of the product in this order line"},"product_image_url":{"type":["null","string"],"description":"The URL of the product image"},"description":{"type":["null","string"],"description":"Customer-presentable description of the order line."},"created_giftcard_id":{"type":["null","string"],"description":"The Gift Card ID of that product in this order line"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_line_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_change_line_id":{"$ref":"#/components/schemas/FlakeId"},"trial_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_interval_value":{"type":["null","integer"],"description":"The interval value for subscription products","format":"int32"},"subscription_interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"gift":{"type":"boolean","description":"Indicates whether this order line is a gift"},"gift_to_customer_id":{"$ref":"#/components/schemas/FlakeId"},"gift_to_customer":{"$ref":"#/components/schemas/CustomerDto"},"sale_id":{"$ref":"#/components/schemas/FlakeId"},"price":{"type":"integer","description":"The unit price of the product in the smallest currency unit (e.g., cents)","format":"int32"},"price_str":{"type":"string","description":"The unit price of the product formatted as a string"},"quantity":{"type":"integer","description":"The quantity of the product in this order line","format":"int32"},"discount_amount":{"type":"integer","description":"The discount amount (from sales, coupons, and affiliate links) applied to this order line","format":"int32"},"discount_amount_str":{"type":"string","description":"The discount amount formatted as a string"},"giftcard_usage_amount":{"type":"integer","description":"The amount of gift card used for this order line","format":"int32"},"giftcard_usage_amount_str":{"type":"string","description":"The gift card usage amount formatted as a string"},"subtotal_amount":{"type":"integer","description":"The subtotal amount for this order line","format":"int32"},"subtotal_amount_str":{"type":"string","description":"The subtotal amount formatted as a string"},"tax_amount":{"type":"integer","description":"The tax amount for this order line","format":"int32"},"tax_amount_str":{"type":"string","description":"The tax amount formatted as a string"},"total_amount":{"type":"integer","description":"The total amount for this order line","format":"int32"},"total_amount_str":{"type":"string","description":"The total amount formatted as a string"},"presentment_subtotal_amount":{"type":"integer","description":"The presentment subtotal amount for this order line","format":"int32"},"presentment_subtotal_amount_str":{"type":"string","description":"The presentment subtotal amount formatted as a string","readOnly":true},"presentment_discount_amount":{"type":"integer","description":"The presentment discount amount for this order line","format":"int32"},"presentment_discount_amount_str":{"type":"string","description":"The presentment discount amount formatted as a string","readOnly":true},"presentment_tax_amount":{"type":"integer","description":"The presentment tax amount for this order line","format":"int32"},"presentment_tax_amount_str":{"type":"string","description":"The presentment tax amount formatted as a string","readOnly":true},"presentment_giftcard_usage_amount":{"type":"integer","description":"The presentment gift card usage amount for this order line","format":"int32"},"presentment_giftcard_usage_amount_str":{"type":"string","description":"The presentment gift card usage amount formatted as a string","readOnly":true},"presentment_total_amount":{"type":"integer","description":"The presentment total amount for this order line","format":"int32"},"presentment_total_amount_str":{"type":"string","description":"The presentment total amount formatted as a string","readOnly":true},"selected_gameserver_id":{"$ref":"#/components/schemas/FlakeId"},"tax_inclusive":{"type":"boolean","description":"Indicates whether tax is included in the base price, or added on top"},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/OrderLinePayoutSplitDto"},"description":"The payout splits for this order line"},"pricing_region_id":{"type":["null","string"],"description":"The regional pricing region ID for this order line, null if no regional pricing set"},"custom_variables":{"type":["null","object"],"additionalProperties":{"$ref":"#/components/schemas/CustomVariableLineItemDto"},"description":"Key-value pair of selected custom variables for this order."}},"additionalProperties":false,"description":"Represents an order line item in a customer's order"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"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."},"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"},"OrderLinePayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage in basis points.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage in basis points.\nOnly used by platforms.","format":"int64"}},"additionalProperties":false,"description":"Represents an order line-level payout split."},"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}}}}
```

## The OrderLinePayoutSplitDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"OrderLinePayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage in basis points.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage in basis points.\nOnly used by platforms.","format":"int64"}},"additionalProperties":false,"description":"Represents an order line-level payout split."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The OrderStatus object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"OrderStatus":{"enum":["created","completed","canceled","refunded","chargeback"],"type":"string"}}}}
```

## The OrderType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"OrderType":{"enum":["one_time","subscription_initial","subscription_renewal","subscription_proration","mixed"],"type":"string","description":"Defines the type of items contained in an order"}}}}
```

## The P24DetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The PayByBankDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The PayNowActorType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"}}}}
```

## The PayNowError object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The PayPalDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The PaymentChargebackStatusDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentChargebackStatusDto":{"enum":["none","pending","won","lost"],"type":"string","description":"Represents chargeback status of a payment"}}}}
```

## The PaymentDeclineCode object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentDeclineCode":{"enum":["unknown","generic_decline","call_issuer","authentication_required","currency_not_supported","duplicate_transaction","expired_card","fraudulent","incorrect_number","incorrect_cvc","incorrect_pin","incorrect_zip","insufficient_funds","invalid_account","invalid_amount","invalid_expiry_month","invalid_expiry_year","issuer_not_available","lost_card","merchant_blacklist","new_account_information_available","no_action_taken","pickup_card","pin_try_exceeded","restricted_card","stolen_card","testmode_decline","try_again_later","security_violation","card_velocity_exceeded","do_not_honor","processing_error","card_not_supported","transaction_not_allowed","authorization_revoked","store_blocked"],"type":"string","description":"A payment decline reason code."}}}}
```

## The PaymentDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentDto":{"required":["amount","chargeback_status","created_at","currency","customer","customer_id","gateway","gateway_entity_identifier","gateway_fee_amount","gateway_id","id","method","order_id","platform_fee_amount","platform_fee_rate","presentment_amount","presentment_currency","status","store_id","store_net_amount","tax_amount"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"order_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"refunds":{"type":["null","array"],"items":{"$ref":"#/components/schemas/RefundDto"},"description":"The list of refunds associated with this payment"},"gateway":{"type":"string","description":"The payment gateway provider"},"gateway_entity_identifier":{"type":"string","description":"The gateway entity identifier"},"gateway_id":{"type":"string","description":"The gateway payment identifier"},"method":{"$ref":"#/components/schemas/PaymentMethodDto"},"method_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/PaymentStatusDto"},"currency":{"type":"string","description":"The currency code used for this payment in the store's currency"},"amount":{"type":"integer","description":"The total payment amount in smallest currency unit","format":"int32"},"gateway_fee_amount":{"type":"integer","description":"The gateway fee amount in smallest currency unit","format":"int32"},"tax_amount":{"type":"integer","description":"The tax amount in smallest currency unit","format":"int32"},"platform_fee_amount":{"type":"integer","description":"The platform fee amount in smallest currency unit","format":"int32"},"store_net_amount":{"type":"integer","description":"The net amount going to the store in smallest currency unit","format":"int32"},"presentment_currency":{"type":"string","description":"The currency code used for presentment to the customer"},"presentment_amount":{"type":"integer","description":"The amount presented to the customer in smallest currency unit","format":"int32"},"fx_rate":{"type":["null","number"],"description":"The foreign exchange rate used for currency conversion","format":"double"},"platform_fee_rate":{"type":"integer","description":"The platform fee rate applied to this payment (in basis points)","format":"int32"},"chargeback_status":{"$ref":"#/components/schemas/PaymentChargebackStatusDto"},"chargeback_status_updated_at":{"type":["null","string"],"description":"The date and time when the chargeback status was last updated","format":"date-time"},"payout_split_rules":{"type":["null","array"],"items":{"$ref":"#/components/schemas/PaymentPayoutSplitRuleDto"},"description":"The payout split rules for multi-party payments"},"payout_split_results":{"type":["null","array"],"items":{"$ref":"#/components/schemas/PaymentPayoutSplitResultDto"},"description":"The payout split results for multi-party payments"},"created_at":{"type":"string","description":"The date and time when this payment was created","format":"date-time"},"pending_at":{"type":["null","string"],"description":"The date and time when this payment entered pending status","format":"date-time"},"completed_at":{"type":["null","string"],"description":"The date and time when this payment was completed","format":"date-time"},"canceled_at":{"type":["null","string"],"description":"The date and time when this payment was canceled","format":"date-time"},"failed_at":{"type":["null","string"],"description":"The date and time when this payment failed","format":"date-time"},"refunded_at":{"type":["null","string"],"description":"The date and time when this payment was last refunded","format":"date-time"},"chargeback_at":{"type":["null","string"],"description":"The date and time when a chargeback was initiated on this payment","format":"date-time"},"last_payment_error":{"$ref":"#/components/schemas/LastPaymentErrorDto"}},"additionalProperties":false,"description":"Represents a payment transaction"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"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."},"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"},"RefundDto":{"required":["amount","amount_str","created_at","currency","customer_id","gateway_fee_amount","gateway_fee_amount_str","id","payment_id","platform_fee_amount","platform_fee_amount_str","refund_from_connected_user_balance","status","store_id","store_net_amount","store_net_amount_str","store_refund_amount","store_refund_amount_str","tax_amount","tax_amount_str"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"payment_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"order_line_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/RefundStatus"},"failure_reason":{"type":["null","string"],"description":"Reason for failure if the refund has failed"},"currency":{"type":"string","description":"Three-letter currency code of the refund"},"amount":{"type":"integer","description":"Amount of the refund in smallest currency unit (e.g., cents)","format":"int64"},"amount_str":{"type":"string","description":"String representation of the refund amount, formatted for display"},"gateway_fee_amount":{"type":"integer","description":"Amount of payment processor fees in smallest currency unit","format":"int64"},"gateway_fee_amount_str":{"type":"string","description":"String representation of gateway fee amount, formatted for display"},"tax_amount":{"type":"integer","description":"Amount of tax being refunded in smallest currency unit","format":"int64"},"tax_amount_str":{"type":"string","description":"String representation of tax amount, formatted for display"},"platform_fee_amount":{"type":"integer","description":"Amount of platform fees in smallest currency unit","format":"int64"},"platform_fee_amount_str":{"type":"string","description":"String representation of platform fee amount, formatted for display"},"store_net_amount":{"type":"integer","description":"Net amount for the store after fees in smallest currency unit","format":"int64"},"store_net_amount_str":{"type":"string","description":"String representation of store net amount, formatted for display"},"store_refund_amount":{"type":"integer","description":"Amount of the refund to be paid by the store in smallest currency unit","format":"int64"},"store_refund_amount_str":{"type":"string","description":"String representation of store refund amount, formatted for display"},"presentment_currency":{"type":["null","string"],"description":"Optional currency code used for presentment to the customer if different from the base currency"},"presentment_amount":{"type":["null","integer"],"description":"Optional amount in presentment currency in smallest currency unit","format":"int64"},"fx_rate":{"type":["null","string"],"description":"Exchange rate used while refunding. Only present for payments made in non-settlement currency."},"refund_from_connected_user_balance":{"type":"boolean","description":"Indicates whether the refund should be taken from the connected user's balance.\nOnly relevant for platforms."},"created_at":{"type":"string","description":"Date and time when the refund was created","format":"date-time"},"approved_at":{"type":["null","string"],"description":"Optional date and time when the refund was approved","format":"date-time"},"pending_at":{"type":["null","string"],"description":"Optional date and time when the refund entered pending status","format":"date-time"},"completed_at":{"type":["null","string"],"description":"Optional date and time when the refund was completed","format":"date-time"},"canceled_at":{"type":["null","string"],"description":"Optional date and time when the refund was canceled","format":"date-time"},"failed_at":{"type":["null","string"],"description":"Optional date and time when the refund failed","format":"date-time"}},"additionalProperties":false},"RefundStatus":{"enum":["created","approved","processing","completed","canceled","failed"],"type":"string","description":"Represents the current status of a refund in the system"},"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"},"paysafecard":{"$ref":"#/components/schemas/PaysafeCardDetailsDto"}},"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"},"PaysafeCardDetailsDto":{"type":"object","properties":{"first_name":{"type":["null","string"]},"last_name":{"type":["null","string"]},"psc_id":{"type":["null","string"]},"association_id":{"type":["null","string"]}},"additionalProperties":false,"description":"Paysafecard payment method details"},"PaymentStatusDto":{"enum":["unknown","created","pending","completed","canceled","failed","refunded","chargeback","refund_failed","refund_processing"],"type":"string","description":"Represents payment status"},"PaymentChargebackStatusDto":{"enum":["none","pending","won","lost"],"type":"string","description":"Represents chargeback status of a payment"},"PaymentPayoutSplitRuleDto":{"required":["line_amount_tax","line_amount_total","line_id","splits"],"type":"object","properties":{"line_id":{"$ref":"#/components/schemas/FlakeId"},"line_amount_total":{"type":"integer","description":"The total amount of the line item in smallest currency unit","format":"int32"},"line_amount_tax":{"type":"integer","description":"The tax amount of the line item in smallest currency unit","format":"int32"},"splits":{"type":"array","items":{"$ref":"#/components/schemas/PaymentPayoutSplitRuleSplitDto"},"description":"The list of splits defining how the payout should be divided"}},"additionalProperties":false,"description":"Represents payout split rules for a payment line"},"PaymentPayoutSplitRuleSplitDto":{"required":["platform_fee_percentage","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)","format":"int32"},"platform_fee_percentage":{"type":"integer","description":"The platform fee percentage applied to this split (in basis points)","format":"int32"}},"additionalProperties":false,"description":"Represents a single split configuration within a payout split rule"},"PaymentPayoutSplitResultDto":{"required":["connected_platform_fee_amount","gateway_fee_amount","gross_amount","line_id","net_amount","platform_fee_amount","tax_amount","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"gross_amount":{"type":"integer","description":"The gross amount before fees in smallest currency unit","format":"int32"},"tax_amount":{"type":"integer","description":"The tax amount in smallest currency unit","format":"int32"},"gateway_fee_amount":{"type":"integer","description":"The gateway fee amount in smallest currency unit","format":"int32"},"platform_fee_amount":{"type":"integer","description":"The platform fee amount in smallest currency unit","format":"int32"},"connected_platform_fee_amount":{"type":"integer","description":"The connected platform fee amount in smallest currency unit","format":"int32"},"net_amount":{"type":"integer","description":"The net amount after all fees in smallest currency unit","format":"int32"},"line_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents payout split results for multi-party payments"},"LastPaymentErrorDto":{"required":["decline_code","message"],"type":"object","properties":{"decline_code":{"$ref":"#/components/schemas/PaymentDeclineCode"},"message":{"type":"string","description":"Human-readable decline reason message."}},"additionalProperties":false,"description":"The last payment decline object."},"PaymentDeclineCode":{"enum":["unknown","generic_decline","call_issuer","authentication_required","currency_not_supported","duplicate_transaction","expired_card","fraudulent","incorrect_number","incorrect_cvc","incorrect_pin","incorrect_zip","insufficient_funds","invalid_account","invalid_amount","invalid_expiry_month","invalid_expiry_year","issuer_not_available","lost_card","merchant_blacklist","new_account_information_available","no_action_taken","pickup_card","pin_try_exceeded","restricted_card","stolen_card","testmode_decline","try_again_later","security_violation","card_velocity_exceeded","do_not_honor","processing_error","card_not_supported","transaction_not_allowed","authorization_revoked","store_blocked"],"type":"string","description":"A payment decline reason code."}}}}
```

## The PaymentGatewayDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentGatewayDto":{"enum":["invalid","stripe","paypal","forumpay","steamskins","nuvei","pagseguro","tazapay","paysafe"],"type":"string"}}}}
```

## The PaymentMethodDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"},"paysafecard":{"$ref":"#/components/schemas/PaysafeCardDetailsDto"}},"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"},"PaysafeCardDetailsDto":{"type":"object","properties":{"first_name":{"type":["null","string"]},"last_name":{"type":["null","string"]},"psc_id":{"type":["null","string"]},"association_id":{"type":["null","string"]}},"additionalProperties":false,"description":"Paysafecard payment method details"}}}}
```

## The PaymentMethodDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"},"paysafecard":{"$ref":"#/components/schemas/PaysafeCardDetailsDto"}},"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"},"PaysafeCardDetailsDto":{"type":"object","properties":{"first_name":{"type":["null","string"]},"last_name":{"type":["null","string"]},"psc_id":{"type":["null","string"]},"association_id":{"type":["null","string"]}},"additionalProperties":false,"description":"Paysafecard payment method details"}}}}
```

## The PaymentMethodTypeCountryCurrencyMappingDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentMethodTypeCountryCurrencyMappingDto":{"required":["country","currencies"],"type":"object","properties":{"country":{"type":"string"},"currencies":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}}
```

## The PaymentMethodTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentMethodTypeDto":{"required":["category","confirmation","country_currency_mapping","enabled","fee_overrides","gateways","id","kyc_required","name","refunds_supported","revenue_usage","subscriptions_supported","supported_countries","supported_currencies","supported_settlement_currencies"],"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"logo_url":{"type":["null","string"]},"checkout_logo_url_light":{"type":["null","string"]},"checkout_logo_url_dark":{"type":["null","string"]},"category":{"type":"string"},"confirmation":{"type":"string"},"enabled":{"type":"boolean"},"refunds_supported":{"type":"boolean"},"subscriptions_supported":{"type":"boolean"},"kyc_required":{"type":"boolean"},"supported_currencies":{"type":"array","items":{"type":"string"}},"supported_settlement_currencies":{"type":"array","items":{"type":"string"}},"supported_countries":{"type":"array","items":{"type":"string"}},"gateways":{"type":"array","items":{"$ref":"#/components/schemas/PaymentGatewayDto"}},"fee_overrides":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodTypeFeeOverrideDto"}},"country_currency_mapping":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodTypeCountryCurrencyMappingDto"}},"revenue_usage":{"type":"integer","format":"int64"},"monthly_revenue_limit":{"type":["null","integer"],"format":"int64"},"default_monthly_revenue_limit":{"type":["null","integer"],"format":"int64"},"settlement_time":{"type":["null","string"]}},"additionalProperties":false},"PaymentGatewayDto":{"enum":["invalid","stripe","paypal","forumpay","steamskins","nuvei","pagseguro","tazapay","paysafe"],"type":"string"},"PaymentMethodTypeFeeOverrideDto":{"required":["countries","fee_cents","fee_percentage"],"type":"object","properties":{"fee_percentage":{"type":"integer","format":"int32"},"fee_cents":{"type":"integer","format":"int32"},"countries":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"PaymentMethodTypeCountryCurrencyMappingDto":{"required":["country","currencies"],"type":"object","properties":{"country":{"type":"string"},"currencies":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}}
```

## The PaymentMethodTypeFeeOverrideDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentMethodTypeFeeOverrideDto":{"required":["countries","fee_cents","fee_percentage"],"type":"object","properties":{"fee_percentage":{"type":"integer","format":"int32"},"fee_cents":{"type":"integer","format":"int32"},"countries":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}}}}
```

## The PaymentPayoutSplitResultDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentPayoutSplitResultDto":{"required":["connected_platform_fee_amount","gateway_fee_amount","gross_amount","line_id","net_amount","platform_fee_amount","tax_amount","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"gross_amount":{"type":"integer","description":"The gross amount before fees in smallest currency unit","format":"int32"},"tax_amount":{"type":"integer","description":"The tax amount in smallest currency unit","format":"int32"},"gateway_fee_amount":{"type":"integer","description":"The gateway fee amount in smallest currency unit","format":"int32"},"platform_fee_amount":{"type":"integer","description":"The platform fee amount in smallest currency unit","format":"int32"},"connected_platform_fee_amount":{"type":"integer","description":"The connected platform fee amount in smallest currency unit","format":"int32"},"net_amount":{"type":"integer","description":"The net amount after all fees in smallest currency unit","format":"int32"},"line_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false,"description":"Represents payout split results for multi-party payments"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The PaymentPayoutSplitRuleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentPayoutSplitRuleDto":{"required":["line_amount_tax","line_amount_total","line_id","splits"],"type":"object","properties":{"line_id":{"$ref":"#/components/schemas/FlakeId"},"line_amount_total":{"type":"integer","description":"The total amount of the line item in smallest currency unit","format":"int32"},"line_amount_tax":{"type":"integer","description":"The tax amount of the line item in smallest currency unit","format":"int32"},"splits":{"type":"array","items":{"$ref":"#/components/schemas/PaymentPayoutSplitRuleSplitDto"},"description":"The list of splits defining how the payout should be divided"}},"additionalProperties":false,"description":"Represents payout split rules for a payment line"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"PaymentPayoutSplitRuleSplitDto":{"required":["platform_fee_percentage","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)","format":"int32"},"platform_fee_percentage":{"type":"integer","description":"The platform fee percentage applied to this split (in basis points)","format":"int32"}},"additionalProperties":false,"description":"Represents a single split configuration within a payout split rule"}}}}
```

## The PaymentPayoutSplitRuleSplitDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentPayoutSplitRuleSplitDto":{"required":["platform_fee_percentage","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the line amount this user receives (in basis points, e.g., 5000 = 50%)","format":"int32"},"platform_fee_percentage":{"type":"integer","description":"The platform fee percentage applied to this split (in basis points)","format":"int32"}},"additionalProperties":false,"description":"Represents a single split configuration within a payout split rule"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The PaymentStatusDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaymentStatusDto":{"enum":["unknown","created","pending","completed","canceled","failed","refunded","chargeback","refund_failed","refund_processing"],"type":"string","description":"Represents payment status"}}}}
```

## The PaysafeCardDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PaysafeCardDetailsDto":{"type":"object","properties":{"first_name":{"type":["null","string"]},"last_name":{"type":["null","string"]},"psc_id":{"type":["null","string"]},"association_id":{"type":["null","string"]}},"additionalProperties":false,"description":"Paysafecard payment method details"}}}}
```

## The Period object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"Period":{"type":"string","additionalProperties":false,"description":"ISO 8601 duration format","format":"period"}}}}
```

## The PixDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The PlatformCapability object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PlatformCapability":{"enum":["invalid","connected_users"],"type":"string"}}}}
```

## The PlatformStoreTypeAssociationDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The PlatformType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PlatformType":{"enum":["invalid","marketplace","store_platform","other"],"type":"string"}}}}
```

## The PrepaidCardsBlockingTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PrepaidCardsBlockingTypeDto":{"enum":["unspecified","none","trials","all_recurring"],"type":"string","description":"Defines when prepaid cards should be blocked from use."}}}}
```

## The ProductCommandDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductCommandDto":{"required":["content","online_only","stage"],"type":"object","properties":{"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"Content of the command."},"online_only":{"type":"boolean","description":"Value indicating whether the command should only execute when the player is online."},"override_execute_on_gameserver_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"Value indicating on which game servers should the command be executed.\nIf left empty or null, then the default behavior applies\n(executing on all game servers or on the selected game server is selection is enabled)"}},"additionalProperties":false},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ProductCommandExecutionRuleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductCommandExecutionRuleDto":{"enum":["invalid","once_per_item","once_per_order"],"type":"string"}}}}
```

## The ProductCommandStage object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."}}}}
```

## The ProductDeliverableActionsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDeliverableActionsDto":{"required":["grant_giftcard"],"type":"object","properties":{"grant_giftcard":{"type":"boolean","description":"Value indicating whether to grant a giftcard with the product with the subtotal amount."}},"additionalProperties":false}}}}
```

## The ProductDependentMigrationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDependentMigrationDto":{"required":["created_at","created_by","id","migration_targets","product_id","send_all_commands_to_new_servers","send_new_commands_to_all_servers","status","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"migration_targets":{"type":"array","items":{"$ref":"#/components/schemas/ProductDependentMigrationTargetDto"}},"status":{"$ref":"#/components/schemas/ProductDependentMigrationStatusDto"},"send_new_commands_to_all_servers":{"type":"boolean"},"send_all_commands_to_new_servers":{"type":"boolean"},"completed_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"},"ProductDependentMigrationTargetDto":{"required":["type","versions"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/ProductDependentMigrationTargetTypeDto"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ProductDependentMigrationTargetVersionDto"}}},"additionalProperties":false},"ProductDependentMigrationTargetTypeDto":{"enum":["invalid","active_subscriptions","active_unused_delivery_items","non_expirable_delivery_items"],"type":"string"},"ProductDependentMigrationTargetVersionDto":{"required":["migrated","new_product_version_id","old_product_version_created_at","old_product_version_id","total_entities_migrated"],"type":"object","properties":{"old_product_version_id":{"$ref":"#/components/schemas/FlakeId"},"old_product_version_created_at":{"type":"string","format":"date-time"},"new_product_version_id":{"$ref":"#/components/schemas/FlakeId"},"total_entities_migrated":{"type":"integer","format":"int32"},"migrated":{"type":"boolean"}},"additionalProperties":false},"ProductDependentMigrationStatusDto":{"enum":["invalid","created","completed"],"type":"string"}}}}
```

## The ProductDependentMigrationEstimateTargetCountDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDependentMigrationEstimateTargetCountDto":{"required":["total_entities","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/ProductDependentMigrationTargetTypeDto"},"total_entities":{"type":"integer","format":"int32"}},"additionalProperties":false},"ProductDependentMigrationTargetTypeDto":{"enum":["invalid","active_subscriptions","active_unused_delivery_items","non_expirable_delivery_items"],"type":"string"}}}}
```

## The ProductDependentMigrationEstimateVersionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDependentMigrationEstimateVersionDto":{"required":["product_version_created_at","product_version_id","target_counts"],"type":"object","properties":{"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_created_at":{"type":"string","format":"date-time"},"target_counts":{"type":"array","items":{"$ref":"#/components/schemas/ProductDependentMigrationEstimateTargetCountDto"}}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"ProductDependentMigrationEstimateTargetCountDto":{"required":["total_entities","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/ProductDependentMigrationTargetTypeDto"},"total_entities":{"type":"integer","format":"int32"}},"additionalProperties":false},"ProductDependentMigrationTargetTypeDto":{"enum":["invalid","active_subscriptions","active_unused_delivery_items","non_expirable_delivery_items"],"type":"string"}}}}
```

## The ProductDependentMigrationStatusDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDependentMigrationStatusDto":{"enum":["invalid","created","completed"],"type":"string"}}}}
```

## The ProductDependentMigrationTargetDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDependentMigrationTargetDto":{"required":["type","versions"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/ProductDependentMigrationTargetTypeDto"},"versions":{"type":"array","items":{"$ref":"#/components/schemas/ProductDependentMigrationTargetVersionDto"}}},"additionalProperties":false},"ProductDependentMigrationTargetTypeDto":{"enum":["invalid","active_subscriptions","active_unused_delivery_items","non_expirable_delivery_items"],"type":"string"},"ProductDependentMigrationTargetVersionDto":{"required":["migrated","new_product_version_id","old_product_version_created_at","old_product_version_id","total_entities_migrated"],"type":"object","properties":{"old_product_version_id":{"$ref":"#/components/schemas/FlakeId"},"old_product_version_created_at":{"type":"string","format":"date-time"},"new_product_version_id":{"$ref":"#/components/schemas/FlakeId"},"total_entities_migrated":{"type":"integer","format":"int32"},"migrated":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ProductDependentMigrationTargetTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDependentMigrationTargetTypeDto":{"enum":["invalid","active_subscriptions","active_unused_delivery_items","non_expirable_delivery_items"],"type":"string"}}}}
```

## The ProductDependentMigrationTargetVersionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDependentMigrationTargetVersionDto":{"required":["migrated","new_product_version_id","old_product_version_created_at","old_product_version_id","total_entities_migrated"],"type":"object","properties":{"old_product_version_id":{"$ref":"#/components/schemas/FlakeId"},"old_product_version_created_at":{"type":"string","format":"date-time"},"new_product_version_id":{"$ref":"#/components/schemas/FlakeId"},"total_entities_migrated":{"type":"integer","format":"int32"},"migrated":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ProductDownloadableFileDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDownloadableFileDto":{"required":["created_at","created_by","id","is_uploaded","product_id","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"is_uploaded":{"type":"boolean"},"file_name":{"type":["null","string"]},"file_content_type":{"type":["null","string"]},"file_size":{"type":["null","integer"],"format":"int64"},"file_hash":{"type":["null","string"]},"description":{"type":["null","string"]},"created_at":{"type":"string","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The ProductDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductDto":{"required":["allow_one_time_purchase","allow_subscription","commands","customer_stock_limit","description","gameservers","id","name","price","remove_after_enabled","remove_after_time_scale","remove_after_time_value","single_game_server_only","slug","sort_order","stock_available","store_id","store_stock_limit","subscription_interval_scale","subscription_interval_value","tags","trial","upselling","version_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"version_id":{"$ref":"#/components/schemas/FlakeId"},"image_url":{"type":["null","string"],"description":"The URL to the product image."},"slug":{"type":"string","description":"The unique slug for the product."},"name":{"type":"string","description":"The display name of the product."},"description":{"type":"string","description":"The detailed description of the product."},"label":{"type":["null","string"],"description":"The display label for the product."},"sort_order":{"type":"integer","description":"The sort order for displaying the product.","format":"int32"},"price":{"type":"integer","description":"The price of the product, in the lowest denominator (e.g. cents).","format":"int64"},"single_game_server_only":{"type":"boolean","description":"Indicates whether the product is limited to a single game server."},"allow_one_time_purchase":{"type":"boolean","description":"Indicates whether one-time purchases are allowed."},"allow_subscription":{"type":"boolean","description":"Indicates whether subscription purchases are allowed."},"subscription_interval_value":{"type":"integer","description":"The subscription interval value.","format":"int32"},"subscription_interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"trial":{"$ref":"#/components/schemas/ProductTrialConfigurationDto"},"upselling":{"$ref":"#/components/schemas/ProductUpsellConfigurationDto"},"remove_after_enabled":{"type":"boolean","description":"Indicates whether automatic removal is enabled."},"remove_after_time_value":{"type":"integer","description":"The time value for automatic removal.","format":"int32"},"remove_after_time_scale":{"$ref":"#/components/schemas/ProductRemoveAfterIntervalScale"},"stock_available":{"$ref":"#/components/schemas/ProductStockAvailableDto"},"store_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"customer_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"stock_limit_do_not_include_removed":{"type":["null","boolean"],"description":"Indicates whether removed items should be excluded from stock limits."},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ProductTagDto"},"description":"The tags associated with the product."},"gameservers":{"type":"array","items":{"$ref":"#/components/schemas/ProductGameServerDto"},"description":"The game servers associated with the product."},"commands":{"type":"array","items":{"$ref":"#/components/schemas/ProductCommandDto"},"description":"The commands to be executed at different stages."},"created_by":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":["null","string"],"description":"The date and time when the product was created.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"The date and time when the product was last updated.","format":"date-time"},"deliverable_actions":{"$ref":"#/components/schemas/ProductDeliverableActionsDto"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Additional metadata for the product."},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductPayoutSplitDto"},"description":"The payout splits for revenue distribution."},"tax_code":{"$ref":"#/components/schemas/ProductTaxCode"},"allow_concurrent_active_items":{"type":["null","boolean"],"description":"Indicates whether concurrent active items are allowed."},"is_hidden":{"type":["null","boolean"],"description":"Indicates whether the product is hidden."},"is_gifting_disabled":{"type":["null","boolean"],"description":"Indicates whether gifting is disabled."},"enabled_at":{"type":["null","string"],"description":"The date and time when the product becomes enabled.","format":"date-time"},"enabled_until":{"type":["null","string"],"description":"The date and time until which the product remains enabled.","format":"date-time"},"required_product_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of products required for purchasing this product."},"required_product_all":{"type":["null","boolean"],"description":"Indicates whether all required products are needed."},"custom_variable_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of associated custom variables."},"is_gift_cards_disabled":{"type":["null","boolean"],"description":"Indicates if applying gift cards should be disabled on the product."},"is_coupons_disabled":{"type":["null","boolean"],"description":"Indicates if applying coupons should be disabled on the product."},"is_affiliate_links_disabled":{"type":["null","boolean"],"description":"Indicates if applying affiliate links should be disabled on the product."},"tier_group_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"ProductTrialConfigurationDto":{"required":["allow_repeat_trials","enabled","new_customer_order_lookback_scale","new_customer_order_lookback_value","new_customers_only","period_scale","period_value","repeat_trial_cooldown_scale","repeat_trial_cooldown_value","revoke_immediately_when_canceled"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates if trials should be enabled for the product."},"period_value":{"type":"integer","description":"The trial period value.","format":"int32"},"period_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"revoke_immediately_when_canceled":{"type":"boolean","description":"Indicates if the trial should be revoked immediately when canceled or at the end of the trial."},"new_customers_only":{"type":"boolean","description":"Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."},"new_customer_order_lookback_value":{"type":"integer","description":"The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.","format":"int32"},"new_customer_order_lookback_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"allow_repeat_trials":{"type":"boolean","description":"Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."},"repeat_trial_cooldown_value":{"type":"integer","description":"The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trial is enabled.","format":"int32"},"repeat_trial_cooldown_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"}},"additionalProperties":false,"description":"Represents the configuration for trials of a product"},"ProductUpsellConfigurationDto":{"required":["enabled","recommendations"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates if upselling should be enabled for the product.\nIf disabled, the product will never be recommended regardless of the global config."},"recommendations":{"type":"array","items":{"$ref":"#/components/schemas/ProductUpsellRecommendationDto"},"description":"Upselling recommendation for the product."}},"additionalProperties":false},"ProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"ProductRemoveAfterIntervalScale":{"enum":["invalid","day","week","month"],"type":"string"},"ProductStockAvailableDto":{"required":["customer_available","store_available"],"type":"object","properties":{"store_available":{"type":"integer","description":"Indicates how many stock is left store-wide.","format":"int32"},"customer_available":{"type":"integer","format":"int32"}},"additionalProperties":false},"ProductStockLimitDto":{"required":["enabled","include_trials","time_scale"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates whether stock limit is enabled."},"quantity":{"type":["null","integer"],"description":"The quantity limit.","format":"int32"},"time_value":{"type":["null","integer"],"description":"The time value for stock limit period.","format":"int32"},"time_scale":{"$ref":"#/components/schemas/ProductStockTimeScale"},"include_trials":{"type":"boolean","description":"Indicates if trials should be included in the active stock limit calculation."}},"additionalProperties":false},"ProductStockTimeScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"ProductTagDto":{"required":["id","name","slug"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string","description":"The unique slug for the tag."},"name":{"type":"string","description":"The display name of the tag."}},"additionalProperties":false},"ProductGameServerDto":{"required":["enabled","id","name"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"The name of the game server."},"enabled":{"type":"boolean","description":"Indicates whether this game server is enabled."}},"additionalProperties":false},"ProductCommandDto":{"required":["content","online_only","stage"],"type":"object","properties":{"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"Content of the command."},"online_only":{"type":"boolean","description":"Value indicating whether the command should only execute when the player is online."},"override_execute_on_gameserver_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"Value indicating on which game servers should the command be executed.\nIf left empty or null, then the default behavior applies\n(executing on all game servers or on the selected game server is selection is enabled)"}},"additionalProperties":false},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"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"},"ProductDeliverableActionsDto":{"required":["grant_giftcard"],"type":"object","properties":{"grant_giftcard":{"type":"boolean","description":"Value indicating whether to grant a giftcard with the product with the subtotal amount."}},"additionalProperties":false},"ProductPayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the payment allocated to the user, in basis points (500 = 5%).\nThe last payout split must have this field set to `null` to receive the remaining portion.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage your platform receives, in basis points (500 = 5%).","format":"int64"}},"additionalProperties":false},"ProductTaxCode":{"enum":["unknown","digital_goods_subscription","digital_goods_permanent","saas","downloaded_software","digital_goods_subscription_gaming","digital_goods_permanent_gaming","iaas","paas","saas_security","saas_storage"],"type":"string","description":"Determines the category of the product for taxation purposes.\nContact support for help with setting the correct tax code."}}}}
```

## The ProductGameServerDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductGameServerDto":{"required":["enabled","id","name"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"The name of the game server."},"enabled":{"type":"boolean","description":"Indicates whether this game server is enabled."}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ProductPayoutSplitDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductPayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the payment allocated to the user, in basis points (500 = 5%).\nThe last payout split must have this field set to `null` to receive the remaining portion.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage your platform receives, in basis points (500 = 5%).","format":"int64"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ProductPricingRegionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductPricingRegionDto":{"required":["blended_vat_rate","country_codes","enabled","group_id","id","local_currency","local_currency_fx_rate","name"],"type":"object","properties":{"id":{"type":"string"},"group_id":{"type":"string"},"local_currency":{"type":"string"},"local_currency_fx_rate":{"type":"number","format":"double"},"blended_vat_rate":{"type":"number","format":"double"},"name":{"type":"string"},"country_codes":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"},"price":{"type":["null","integer"],"format":"int64"},"default_price_multiplier":{"type":["null","integer"],"format":"int64"},"currency":{"type":["null","string"]},"tax_inclusive":{"type":["null","boolean"]},"updated_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false}}}}
```

## The ProductPricingRegionGroupDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductPricingRegionGroupDto":{"required":["description","id","name","recommended_base_price_multiplier"],"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"recommended_base_price_multiplier":{"type":"integer","format":"int64"}},"additionalProperties":false}}}}
```

## The ProductPricingRegionOverrideDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductPricingRegionOverrideDto":{"type":"object","properties":{"price":{"type":["null","integer"],"format":"int64"},"enabled":{"type":["null","boolean"]},"currency":{"type":["null","string"]},"tax_inclusive":{"type":["null","boolean"]}},"additionalProperties":false}}}}
```

## The ProductRemoveAfterIntervalScale object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductRemoveAfterIntervalScale":{"enum":["invalid","day","week","month"],"type":"string"}}}}
```

## The ProductStockAvailableDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductStockAvailableDto":{"required":["customer_available","store_available"],"type":"object","properties":{"store_available":{"type":"integer","description":"Indicates how many stock is left store-wide.","format":"int32"},"customer_available":{"type":"integer","format":"int32"}},"additionalProperties":false}}}}
```

## The ProductStockLimitDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductStockLimitDto":{"required":["enabled","include_trials","time_scale"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates whether stock limit is enabled."},"quantity":{"type":["null","integer"],"description":"The quantity limit.","format":"int32"},"time_value":{"type":["null","integer"],"description":"The time value for stock limit period.","format":"int32"},"time_scale":{"$ref":"#/components/schemas/ProductStockTimeScale"},"include_trials":{"type":"boolean","description":"Indicates if trials should be included in the active stock limit calculation."}},"additionalProperties":false},"ProductStockTimeScale":{"enum":["invalid","day","week","month","year"],"type":"string"}}}}
```

## The ProductStockTimeScale object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductStockTimeScale":{"enum":["invalid","day","week","month","year"],"type":"string"}}}}
```

## The ProductSubscriptionIntervalScale object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"}}}}
```

## The ProductTagDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductTagDto":{"required":["id","name","slug"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"slug":{"type":"string","description":"The unique slug for the tag."},"name":{"type":"string","description":"The display name of the tag."}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ProductTaxCode object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductTaxCode":{"enum":["unknown","digital_goods_subscription","digital_goods_permanent","saas","downloaded_software","digital_goods_subscription_gaming","digital_goods_permanent_gaming","iaas","paas","saas_security","saas_storage"],"type":"string","description":"Determines the category of the product for taxation purposes.\nContact support for help with setting the correct tax code."}}}}
```

## The ProductTrialConfigurationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductTrialConfigurationDto":{"required":["allow_repeat_trials","enabled","new_customer_order_lookback_scale","new_customer_order_lookback_value","new_customers_only","period_scale","period_value","repeat_trial_cooldown_scale","repeat_trial_cooldown_value","revoke_immediately_when_canceled"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates if trials should be enabled for the product."},"period_value":{"type":"integer","description":"The trial period value.","format":"int32"},"period_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"revoke_immediately_when_canceled":{"type":"boolean","description":"Indicates if the trial should be revoked immediately when canceled or at the end of the trial."},"new_customers_only":{"type":"boolean","description":"Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."},"new_customer_order_lookback_value":{"type":"integer","description":"The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.","format":"int32"},"new_customer_order_lookback_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"allow_repeat_trials":{"type":"boolean","description":"Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."},"repeat_trial_cooldown_value":{"type":"integer","description":"The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trial is enabled.","format":"int32"},"repeat_trial_cooldown_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"}},"additionalProperties":false,"description":"Represents the configuration for trials of a product"},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"}}}}
```

## The ProductUpsellConfigurationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductUpsellConfigurationDto":{"required":["enabled","recommendations"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates if upselling should be enabled for the product.\nIf disabled, the product will never be recommended regardless of the global config."},"recommendations":{"type":"array","items":{"$ref":"#/components/schemas/ProductUpsellRecommendationDto"},"description":"Upselling recommendation for the product."}},"additionalProperties":false},"ProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"}}}}
```

## The ProductUpsellRecommendationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"}}}}
```

## The ProrationBehaviorDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ProrationBehaviorDto":{"enum":["invalid","immediate","next_billing_period","none"],"type":"string","description":"Describes how proration is handled when a subscription change is applied."}}}}
```

## The PublicPlatformDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"PlatformType":{"enum":["invalid","marketplace","store_platform","other"],"type":"string"},"PlatformCapability":{"enum":["invalid","connected_users"],"type":"string"}}}}
```

## The PurchaseFollowUpStoreConfigurationCommandDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PurchaseFollowUpStoreConfigurationCommandDto":{"required":["command","id","online_only","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level purchase follow uo configuration."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The PurchaseFollowUpStoreConfigurationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PurchaseFollowUpStoreConfigurationDto":{"required":["commands","coupon_configuration","enabled","invalid","minimum_order_value","store_id","trigger_after","updated_at","updated_by"],"type":"object","properties":{"store_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"A value indicating whether the abandoned checkout feature is enabled for the store."},"invalid":{"type":"boolean","description":"A value indicating whether the abandoned checkout configuration for the store is invalid."},"trigger_after":{"$ref":"#/components/schemas/Period"},"minimum_order_value":{"type":"integer","description":"The minimum order value required to trigger an abandoned checkout email.","format":"int64"},"maximum_order_value":{"type":["null","integer"],"description":"The optional maximum order value beyond which an abandoned checkout email will not be sent.","format":"int64"},"max_coupons_per_customer_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_per_customer_period":{"$ref":"#/components/schemas/Period"},"max_coupons_global_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_global_period":{"$ref":"#/components/schemas/Period"},"coupon_configuration":{"$ref":"#/components/schemas/MarketingCouponConfigurationDto"},"commands":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseFollowUpStoreConfigurationCommandDto"},"description":"The commands you want to execute when the email is sent."},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":"string","description":"The date and time when the configuration was last updated.","format":"date-time"}},"additionalProperties":false,"description":"Represents the store-level configuration for abandoned checkout settings."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"Period":{"type":"string","additionalProperties":false,"description":"ISO 8601 duration format","format":"period"},"MarketingCouponConfigurationDto":{"required":["customer_redeem_limit","customer_redeem_limit_enabled","discount_amount","discount_apply_before_sales","discount_only_required_tags_or_products","discount_type","duration","minimum_order_value","required_product_ids","required_tag_ids","usable_on_one_time_purchases","usable_on_subscriptions"],"type":"object","properties":{"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"description":"Gets or sets the duration of the coupon in months, applicable only for repeating coupons.","format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","description":"Gets or sets the discount amount.","format":"int64"},"discount_only_required_tags_or_products":{"type":"boolean","description":"Gets or sets a value indicating whether the discount only applies to specific tags or products."},"discount_apply_before_sales":{"type":"boolean","description":"Gets or sets a value indicating whether the discount is applied before any existing sales or discounts."},"required_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of tag IDs required for the discount to apply."},"required_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of product IDs required for the discount to apply."},"minimum_order_value":{"type":"integer","description":"Gets or sets the minimum order value required for the discount to be applied.","format":"int64"},"customer_redeem_limit_enabled":{"type":"boolean","description":"Gets or sets a value indicating whether a customer-specific redeem limit is enabled."},"customer_redeem_limit":{"type":"integer","description":"Gets or sets the maximum number of times a single customer can redeem the coupon.","format":"int64"},"usable_on_one_time_purchases":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on one-time purchases."},"usable_on_subscriptions":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on subscription purchases."},"expires_after":{"$ref":"#/components/schemas/Period"}},"additionalProperties":false,"description":"Represents the configuration settings for a coupon applied to marketing features."},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"PurchaseFollowUpStoreConfigurationCommandDto":{"required":["command","id","online_only","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level purchase follow uo configuration."},"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"}}}}
```

## The PurchaseFollowUpStoreConfigurationUpdateCommandDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PurchaseFollowUpStoreConfigurationUpdateCommandDto":{"required":["command","online_only"],"type":"object","properties":{"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level purchase follow uo configuration."}}}}
```

## The PurchaseFollowUpStoreConfigurationUpdateDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"PurchaseFollowUpStoreConfigurationUpdateDto":{"required":["commands","coupon_configuration","enabled","minimum_order_value","trigger_after"],"type":"object","properties":{"enabled":{"type":"boolean","description":"A value indicating whether the abandoned checkout feature is enabled for the store."},"trigger_after":{"$ref":"#/components/schemas/Period"},"minimum_order_value":{"type":"integer","description":"The minimum order value required to trigger an abandoned checkout email.","format":"int64"},"maximum_order_value":{"type":["null","integer"],"description":"The optional maximum order value beyond which an abandoned checkout email will not be sent.","format":"int64"},"max_coupons_per_customer_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit per customer beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_per_customer_period":{"$ref":"#/components/schemas/Period"},"max_coupons_global_amount":{"type":["null","integer"],"description":"The optional maximum coupons limit store wide beyond which an abandoned checkout email will not be sent.","format":"int32"},"max_coupons_global_period":{"$ref":"#/components/schemas/Period"},"commands":{"type":"array","items":{"$ref":"#/components/schemas/PurchaseFollowUpStoreConfigurationUpdateCommandDto"}},"coupon_configuration":{"$ref":"#/components/schemas/MarketingCouponConfigurationDto"}},"additionalProperties":false,"description":"Used for updating the store-level configuration for abandoned checkout settings."},"Period":{"type":"string","additionalProperties":false,"description":"ISO 8601 duration format","format":"period"},"PurchaseFollowUpStoreConfigurationUpdateCommandDto":{"required":["command","online_only"],"type":"object","properties":{"command":{"type":"string","description":"The command to execute."},"online_only":{"type":"boolean","description":"Indicates if the command should be executed if the player is online."}},"additionalProperties":false,"description":"Represents a command associated with the store-level purchase follow uo configuration."},"MarketingCouponConfigurationDto":{"required":["customer_redeem_limit","customer_redeem_limit_enabled","discount_amount","discount_apply_before_sales","discount_only_required_tags_or_products","discount_type","duration","minimum_order_value","required_product_ids","required_tag_ids","usable_on_one_time_purchases","usable_on_subscriptions"],"type":"object","properties":{"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"description":"Gets or sets the duration of the coupon in months, applicable only for repeating coupons.","format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","description":"Gets or sets the discount amount.","format":"int64"},"discount_only_required_tags_or_products":{"type":"boolean","description":"Gets or sets a value indicating whether the discount only applies to specific tags or products."},"discount_apply_before_sales":{"type":"boolean","description":"Gets or sets a value indicating whether the discount is applied before any existing sales or discounts."},"required_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of tag IDs required for the discount to apply."},"required_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"Gets or sets the list of product IDs required for the discount to apply."},"minimum_order_value":{"type":"integer","description":"Gets or sets the minimum order value required for the discount to be applied.","format":"int64"},"customer_redeem_limit_enabled":{"type":"boolean","description":"Gets or sets a value indicating whether a customer-specific redeem limit is enabled."},"customer_redeem_limit":{"type":"integer","description":"Gets or sets the maximum number of times a single customer can redeem the coupon.","format":"int64"},"usable_on_one_time_purchases":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on one-time purchases."},"usable_on_subscriptions":{"type":"boolean","description":"Gets or sets a value indicating whether the coupon can be used on subscription purchases."},"expires_after":{"$ref":"#/components/schemas/Period"}},"additionalProperties":false,"description":"Represents the configuration settings for a coupon applied to marketing features."},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The QueuedDiscordActionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"QueuedDiscordActionDto":{"required":["action_type","delivery_item_id","discord_server_id","enqueued_at","execution_stage","executions","id","product_id","product_version_id","revocation_stages","status","store_id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"execution_stage":{"$ref":"#/components/schemas/DiscordActionExecutionStage"},"status":{"$ref":"#/components/schemas/QueuedDiscordActionStatus"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"order_id":{"$ref":"#/components/schemas/FlakeId"},"delivery_item_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"discord_server_id":{"$ref":"#/components/schemas/FlakeId"},"action_type":{"$ref":"#/components/schemas/DiscordActionType"},"discord_user_id":{"$ref":"#/components/schemas/FlakeId"},"channel_id":{"$ref":"#/components/schemas/FlakeId"},"role_id":{"$ref":"#/components/schemas/FlakeId"},"message":{"type":["null","string"]},"revocation_stages":{"type":"array","items":{"$ref":"#/components/schemas/DiscordActionRevocationStage"}},"enqueued_at":{"type":"string","format":"date-time"},"finalised_at":{"type":["null","string"],"format":"date-time"},"executions":{"type":"array","items":{"$ref":"#/components/schemas/QueuedDiscordActionExecutionDto"}}},"additionalProperties":false},"DiscordActionExecutionStage":{"enum":["on_purchase","on_expire","on_refund","on_chargeback"],"type":"string"},"QueuedDiscordActionStatus":{"enum":["active","complete","errored","canceled"],"type":"string"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"DiscordActionType":{"enum":["persist_role","send_message","ban_user","kick_user","generate_invite_link"],"type":"string"},"DiscordActionRevocationStage":{"enum":["on_expire","on_refund","on_chargeback"],"type":"string"},"QueuedDiscordActionExecutionDto":{"required":["executed_at","execution_status","id","queue_id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"queue_id":{"type":"integer","format":"int64"},"executed_at":{"type":"string","format":"date-time"},"execution_status":{"$ref":"#/components/schemas/QueuedDiscordActionExecutionStatus"},"message":{"type":["null","string"]},"trace_id":{"type":["null","string"]}},"additionalProperties":false},"QueuedDiscordActionExecutionStatus":{"enum":["success","failure"],"type":"string"}}}}
```

## The QueuedDiscordActionExecutionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"QueuedDiscordActionExecutionDto":{"required":["executed_at","execution_status","id","queue_id"],"type":"object","properties":{"id":{"type":"integer","format":"int64"},"queue_id":{"type":"integer","format":"int64"},"executed_at":{"type":"string","format":"date-time"},"execution_status":{"$ref":"#/components/schemas/QueuedDiscordActionExecutionStatus"},"message":{"type":["null","string"]},"trace_id":{"type":["null","string"]}},"additionalProperties":false},"QueuedDiscordActionExecutionStatus":{"enum":["success","failure"],"type":"string"}}}}
```

## The QueuedDiscordActionExecutionStatus object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"QueuedDiscordActionExecutionStatus":{"enum":["success","failure"],"type":"string"}}}}
```

## The QueuedDiscordActionStatus object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"QueuedDiscordActionStatus":{"enum":["active","complete","errored","canceled"],"type":"string"}}}}
```

## The QueuedWebhookDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"QueuedWebhookDto":{"required":["created_at","event","executions","id","payload","state","webhook_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"webhook_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","format":"date-time"},"state":{"$ref":"#/components/schemas/WebhookState"},"next_retry":{"type":["null","string"],"format":"date-time"},"event":{"$ref":"#/components/schemas/WebhookEventType"},"payload":{},"executions":{"type":"array","items":{"$ref":"#/components/schemas/ExecutedWebhookDto"}}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"WebhookState":{"enum":["success","pending","failed","all"],"type":"string"},"WebhookEventType":{"enum":["OnIgnore","OnOrderCompleted","OnRefund","OnChargeback","OnDeliveryItemAdded","OnDeliveryItemActivated","OnDeliveryItemUsed","OnDeliveryItemRevoked","OnSubscriptionActivated","OnSubscriptionRenewed","OnSubscriptionCanceled","OnDiscordOrderActionsQueued","OnConnectedUserRegistered","OnConnectedUserBecamePayable","OnConnectedUserPayoutCreated","OnConnectedUserPayoutCompleted","OnConnectedUserTransactionInserted","OnConnectedUserBecameUnpayable","OnTrialActivated","OnTrialCompleted","OnTrialCanceled","OnPurchaseFollowUpAttemptEmailSent","OnPurchaseFollowUpAttemptSucceeded","OnAbandonedCheckoutRecoveryAttemptEmailSent","OnAbandonedCheckoutRecoveryAttemptSucceeded","OnChargebackClosed"],"type":"string"},"ExecutedWebhookDto":{"required":["id","started_at","status_code"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"started_at":{"type":"string","format":"date-time"},"finished_at":{"type":["null","string"],"format":"date-time"},"status_code":{"type":"integer","format":"int32"},"response":{"type":["null","string"]}},"additionalProperties":false}}}}
```

## The RefundDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"RefundDto":{"required":["amount","amount_str","created_at","currency","customer_id","gateway_fee_amount","gateway_fee_amount_str","id","payment_id","platform_fee_amount","platform_fee_amount_str","refund_from_connected_user_balance","status","store_id","store_net_amount","store_net_amount_str","store_refund_amount","store_refund_amount_str","tax_amount","tax_amount_str"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"payment_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"order_line_id":{"$ref":"#/components/schemas/FlakeId"},"status":{"$ref":"#/components/schemas/RefundStatus"},"failure_reason":{"type":["null","string"],"description":"Reason for failure if the refund has failed"},"currency":{"type":"string","description":"Three-letter currency code of the refund"},"amount":{"type":"integer","description":"Amount of the refund in smallest currency unit (e.g., cents)","format":"int64"},"amount_str":{"type":"string","description":"String representation of the refund amount, formatted for display"},"gateway_fee_amount":{"type":"integer","description":"Amount of payment processor fees in smallest currency unit","format":"int64"},"gateway_fee_amount_str":{"type":"string","description":"String representation of gateway fee amount, formatted for display"},"tax_amount":{"type":"integer","description":"Amount of tax being refunded in smallest currency unit","format":"int64"},"tax_amount_str":{"type":"string","description":"String representation of tax amount, formatted for display"},"platform_fee_amount":{"type":"integer","description":"Amount of platform fees in smallest currency unit","format":"int64"},"platform_fee_amount_str":{"type":"string","description":"String representation of platform fee amount, formatted for display"},"store_net_amount":{"type":"integer","description":"Net amount for the store after fees in smallest currency unit","format":"int64"},"store_net_amount_str":{"type":"string","description":"String representation of store net amount, formatted for display"},"store_refund_amount":{"type":"integer","description":"Amount of the refund to be paid by the store in smallest currency unit","format":"int64"},"store_refund_amount_str":{"type":"string","description":"String representation of store refund amount, formatted for display"},"presentment_currency":{"type":["null","string"],"description":"Optional currency code used for presentment to the customer if different from the base currency"},"presentment_amount":{"type":["null","integer"],"description":"Optional amount in presentment currency in smallest currency unit","format":"int64"},"fx_rate":{"type":["null","string"],"description":"Exchange rate used while refunding. Only present for payments made in non-settlement currency."},"refund_from_connected_user_balance":{"type":"boolean","description":"Indicates whether the refund should be taken from the connected user's balance.\nOnly relevant for platforms."},"created_at":{"type":"string","description":"Date and time when the refund was created","format":"date-time"},"approved_at":{"type":["null","string"],"description":"Optional date and time when the refund was approved","format":"date-time"},"pending_at":{"type":["null","string"],"description":"Optional date and time when the refund entered pending status","format":"date-time"},"completed_at":{"type":["null","string"],"description":"Optional date and time when the refund was completed","format":"date-time"},"canceled_at":{"type":["null","string"],"description":"Optional date and time when the refund was canceled","format":"date-time"},"failed_at":{"type":["null","string"],"description":"Optional date and time when the refund failed","format":"date-time"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"RefundStatus":{"enum":["created","approved","processing","completed","canceled","failed"],"type":"string","description":"Represents the current status of a refund in the system"}}}}
```

## The RefundStatus object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"RefundStatus":{"enum":["created","approved","processing","completed","canceled","failed"],"type":"string","description":"Represents the current status of a refund in the system"}}}}
```

## The ResendCommandsForGameServerRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ResendCommandsForGameServerRequestDto":{"type":"object","properties":{"starts_at":{"type":["null","string"],"format":"date-time"},"ends_at":{"type":["null","string"],"format":"date-time"},"inventory_item_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"order_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"subscription_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The ResendCommandsForGameServerResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ResendCommandsForGameServerResponseDto":{"required":["enqueued_commands_count"],"type":"object","properties":{"enqueued_commands_count":{"type":"integer","format":"int32"}},"additionalProperties":false}}}}
```

## The ResendWebhookDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ResendWebhookDto":{"required":["webhook_id"],"type":"object","properties":{"webhook_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The SaleDiscountType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"SaleDiscountType":{"enum":["percent","amount"],"type":"string"}}}}
```

## The SaleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"SaleDto":{"required":["apply_to_product_ids","apply_to_tag_ids","begins_at","created_at","created_by","discount_amount","discount_type","enabled","id","minimum_order_value","name","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"enabled":{"type":"boolean","description":"Indicates whether the sale is enabled."},"name":{"type":"string","description":"The name of the sale."},"discount_type":{"$ref":"#/components/schemas/SaleDiscountType"},"discount_amount":{"type":"integer","description":"The discount value. For percent discounts, this represents the percentage \nmultiplied by 10 (e.g., 250 = 25%). For amount discounts, this represents \nthe value in the smallest currency unit (e.g., cents).","format":"int32"},"apply_to_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"A list of product IDs the sale applies to."},"apply_to_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"A list of tag IDs the sale applies to."},"minimum_order_value":{"type":"integer","description":"The minimum order value required to apply the sale, in the smallest currency unit (e.g., cents).","format":"int32"},"begins_at":{"type":"string","description":"The date and time when the sale begins.","format":"date-time"},"ends_at":{"type":["null","string"],"description":"The date and time when the sale ends.","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"created_at":{"type":"string","description":"The date and time when the sale was created.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"The date and time when the sale was last updated.","format":"date-time"}},"additionalProperties":false,"description":"Represents a detailed view of a Sale, including configuration and audit information."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"SaleDiscountType":{"enum":["percent","amount"],"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"}}}}
```

## The SalesTaxJurisdictionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The SalesTaxJurisdictionTaxDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The SetDiscordActionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"SetDiscordActionDto":{"required":["action_type","discord_server_id","execution_stage"],"type":"object","properties":{"discord_server_id":{"$ref":"#/components/schemas/FlakeId"},"action_type":{"$ref":"#/components/schemas/DiscordActionType"},"execution_stage":{"$ref":"#/components/schemas/DiscordActionExecutionStage"},"revocation_stages":{"type":["null","array"],"items":{"$ref":"#/components/schemas/DiscordActionRevocationStage"}},"channel_id":{"$ref":"#/components/schemas/FlakeId"},"role_id":{"$ref":"#/components/schemas/FlakeId"},"message":{"type":["null","string"]}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"DiscordActionType":{"enum":["persist_role","send_message","ban_user","kick_user","generate_invite_link"],"type":"string"},"DiscordActionExecutionStage":{"enum":["on_purchase","on_expire","on_refund","on_chargeback"],"type":"string"},"DiscordActionRevocationStage":{"enum":["on_expire","on_refund","on_chargeback"],"type":"string"}}}}
```

## The StartDataMigrationFromTebexRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StartDataMigrationFromTebexRequestDto":{"required":["headless_token","plugin_token"],"type":"object","properties":{"headless_token":{"type":"string","description":"The public-facing Headless API token."},"plugin_token":{"type":"string","description":"An API token associated to a Tebex game server."}},"additionalProperties":false}}}}
```

## The StartDownloadableFileUploadRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StartDownloadableFileUploadRequestDto":{"required":["file_content_type","file_name"],"type":"object","properties":{"file_name":{"type":"string"},"file_content_type":{"type":"string"},"description":{"type":["null","string"]}},"additionalProperties":false}}}}
```

## The SteamId object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"SteamId":{"type":"string","additionalProperties":false,"description":"A 64-bit Steam account identifier. Accepts string or numeric format.","format":"steam-id"}}}}
```

## The SteamProfileDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"SteamId":{"type":"string","additionalProperties":false,"description":"A 64-bit Steam account identifier. Accepts string or numeric format.","format":"steam-id"}}}}
```

## The SteamSkinsDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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}}}}
```

## The SteamSkinsInventoryItemDetailsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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}}}}
```

## The StoreDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StoreDto":{"required":["currency","description","game","id","live_mode","name","owner_id","platform","slug"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"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"}},"additionalProperties":false,"description":"Represents a PayNow store and its associated configuration."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The StoreMemberDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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."},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"ActorDto":{"required":["type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/PayNowActorType"},"id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false}}}}
```

## The StoreMemberUserDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"PayNowActorType":{"enum":["anonymous","user","api_key","customer","game_server","internal","admin","platform","global_customer"],"type":"string"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The StorePaymentSettingsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StorePaymentSettingsDto":{"required":["adaptive_currency_enabled","block_prepaid_cards","chargeback_coverage","force_3d_secure","max_checkout_amount","promo_code_stacking_behavior","show_adaptive_currency_on_storefront","show_all_payment_methods_for_subscriptions","store_tax_inclusive_pricing"],"type":"object","properties":{"show_all_payment_methods_for_subscriptions":{"type":"boolean","description":"Whether to show all available payment methods for subscription purchases."},"store_tax_inclusive_pricing":{"type":"boolean","description":"Whether store pricing is tax-inclusive."},"block_prepaid_cards":{"$ref":"#/components/schemas/PrepaidCardsBlockingTypeDto"},"promo_code_stacking_behavior":{"$ref":"#/components/schemas/StorePromoCodeStackingBehaviorDto"},"adaptive_currency_enabled":{"type":"boolean","description":"Whether the 'Adaptive Currency' feature is enabled."},"show_adaptive_currency_on_storefront":{"type":"boolean","description":"Whether the displayed currency on the storefront should be the Adaptive Currency by default."},"max_checkout_amount":{"type":"integer","description":"Maximum checkout amount allowed in cents.","format":"int64"},"force_3d_secure":{"type":"boolean","description":"Whether to force 3D Secure authentication for all transactions."},"chargeback_coverage":{"$ref":"#/components/schemas/ChargebackCoverageTypeDto"},"chargeback_coverage_max_amount":{"type":["null","integer"],"description":"Maximum per-transaction chargeback coverage amount in cents.","format":"int64"}},"additionalProperties":false,"description":"Store payment configuration settings."},"PrepaidCardsBlockingTypeDto":{"enum":["unspecified","none","trials","all_recurring"],"type":"string","description":"Defines when prepaid cards should be blocked from use."},"StorePromoCodeStackingBehaviorDto":{"enum":["invalid","disabled","enabled","gift_cards_only"],"type":"string","description":"Defines the behavior of promo code stacking."},"ChargebackCoverageTypeDto":{"enum":["unspecified","none","fraudulent","all"],"type":"string","description":"Defines the type of chargeback coverage provided."}}}}
```

## The StorePricingRegionOverrideDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StorePricingRegionOverrideDto":{"type":"object","properties":{"default_price_multiplier":{"type":["null","integer"],"format":"int64"},"enabled":{"type":["null","boolean"]},"currency":{"type":["null","string"]},"tax_inclusive":{"type":["null","boolean"]}},"additionalProperties":false}}}}
```

## The StorePromoCodeStackingBehaviorDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StorePromoCodeStackingBehaviorDto":{"enum":["invalid","disabled","enabled","gift_cards_only"],"type":"string","description":"Defines the behavior of promo code stacking."}}}}
```

## The StoreRequirementActionParty object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The StoreRequirementCategory object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The StoreRequirementStatus object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StoreRequirementStatus":{"enum":["invalid","pending","under_review","requires_revision","approved","expired","waived","rejected_final"],"type":"string"}}}}
```

## The StoreRestrictionFlagDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StoreRestrictionFlagDto":{"enum":["none","payments_disabled","payouts_disabled"],"type":"string"}}}}
```

## The StoreTrustDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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}}}}
```

## The StoreTrustEventDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The StoreTrustEventTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"}}}}
```

## The StoreTrustOnboardingStepsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The StoreTrustStatusDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StoreTrustStatusDto":{"enum":["invalid","pending_review","requires_action","under_review","active","restricted","offboarded"],"type":"string"}}}}
```

## The StoreUpsellCheckoutStyleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StoreUpsellCheckoutStyleDto":{"enum":["unknown","inline","inline_and_prepayment_dialog","dedicated_step"],"type":"string"}}}}
```

## The StoreUpsellRecommendationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StoreUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"}}}}
```

## The StoreUpsellSettingsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"StoreUpsellSettingsDto":{"required":["automatic_recommendations_discount_amount","automatic_recommendations_discount_type","automatic_recommendations_enabled","checkout_style","enabled","recommendation_overrides","recommendation_overrides_enabled","updated_at","updated_by"],"type":"object","properties":{"enabled":{"type":"boolean"},"automatic_recommendations_enabled":{"type":"boolean"},"automatic_recommendations_discount_type":{"$ref":"#/components/schemas/UpsellDiscountType"},"automatic_recommendations_discount_amount":{"type":"integer","format":"int64"},"recommendation_overrides_enabled":{"type":"boolean"},"recommendation_overrides":{"type":"array","items":{"$ref":"#/components/schemas/StoreUpsellRecommendationDto"}},"checkout_style":{"$ref":"#/components/schemas/StoreUpsellCheckoutStyleDto"},"updated_at":{"type":"string","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"UpsellDiscountType":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"StoreUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"StoreUpsellCheckoutStyleDto":{"enum":["unknown","inline","inline_and_prepayment_dialog","dedicated_step"],"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"}}}}
```

## The StorefrontStoreDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The SubscriptionBillingAmountDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The SubscriptionChangeAmountDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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)."}}}}
```

## The SubscriptionChangeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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)."}}}}
```

## The SubscriptionChangeLineAmountDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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)."}}}}
```

## The SubscriptionChangeLineDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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)."}}}}
```

## The SubscriptionChangeLineProductDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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}}}}
```

## The SubscriptionChangeProratedAmountDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The SubscriptionChangeStatusDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"SubscriptionChangeStatusDto":{"enum":["invalid","pending_payment","pending_renewal","applied","canceled","pending_verification"],"type":"string","description":"Represents the status of a subscription change."}}}}
```

## The SubscriptionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"},"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"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."},"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"},"paysafecard":{"$ref":"#/components/schemas/PaysafeCardDetailsDto"}},"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"},"PaysafeCardDetailsDto":{"type":"object","properties":{"first_name":{"type":["null","string"]},"last_name":{"type":["null","string"]},"psc_id":{"type":["null","string"]},"association_id":{"type":["null","string"]}},"additionalProperties":false,"description":"Paysafecard 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"},"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."}}}}
```

## The SubscriptionLineDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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"},"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The SubscriptionStatus object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"SubscriptionStatus":{"enum":["invalid","created","active","canceled"],"type":"string","description":"Represents the current state of a subscription."}}}}
```

## The TagDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"TagDto":{"required":["created_at","created_by","enabled","id","name","slug","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","description":"When the tag was created","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"name":{"type":"string","description":"The unique name for the tag."},"slug":{"type":"string","description":"The unique slug for the tag."},"description":{"type":["null","string"],"description":"The description of the tag."},"image_url":{"type":["null","string"],"description":"The Image URL associated with the tag."},"enabled":{"type":"boolean","description":"Indicates whether this tag is enabled."},"updated_at":{"type":["null","string"],"description":"When the tag was last updated.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The TierGroupDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"TierGroupDto":{"required":["created_at","created_by","id","name","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"The name of the tier group."},"created_at":{"type":"string","description":"When the tier group was created.","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"updated_at":{"type":["null","string"],"description":"When was the tier group last updated.","format":"date-time"},"updated_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The ToggleStorePaymentMethodTypeRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"ToggleStorePaymentMethodTypeRequestDto":{"required":["enabled"],"type":"object","properties":{"enabled":{"type":"boolean"}},"additionalProperties":false}}}}
```

## The TrialDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"TrialDto":{"required":["created_at","customer","customer_id","id","period_scale","period_value","pretty_id","product_id","product_name","product_version_id","status","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"pretty_id":{"type":"string","description":"The human-readable formatted version of the trial identifier.","readOnly":true},"store_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_id":{"$ref":"#/components/schemas/FlakeId"},"checkout_line_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"customer":{"$ref":"#/components/schemas/CustomerDto"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_version_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":"string","description":"The name of the product being trialed."},"product_image_url":{"type":["null","string"],"description":"The URL of the product image, if available."},"period_value":{"type":"integer","description":"The duration value of the trial period.","format":"int32"},"period_scale":{"type":"string","description":"The timescale unit for the trial period (e.g., \"days\", \"weeks\", \"months\")."},"starts_at":{"type":["null","string"],"description":"The date and time when the trial period starts, if applicable.","format":"date-time"},"ends_at":{"type":["null","string"],"description":"The date and time when the trial period ends, if applicable.","format":"date-time"},"status":{"$ref":"#/components/schemas/TrialStatusDto"},"created_at":{"type":"string","description":"The date and time when the trial was created.","format":"date-time"},"canceled_at":{"type":["null","string"],"description":"The date and time when the trial was canceled, if applicable.","format":"date-time"},"canceled_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomerDto":{"required":["created_at","id","metadata","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"store_id":{"$ref":"#/components/schemas/FlakeId"},"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."},"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"},"TrialStatusDto":{"enum":["created","active","canceled","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"}}}}
```

## The TrialEligibilityOverrideDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"TrialEligibilityOverrideDto":{"required":["created_at","created_by","customer_id","expires_at","id","pretty_id","product_id","product_name","store_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"pretty_id":{"type":"string","description":"The human-readable formatted version of the override identifier.","readOnly":true},"store_id":{"$ref":"#/components/schemas/FlakeId"},"customer_id":{"$ref":"#/components/schemas/FlakeId"},"product_id":{"$ref":"#/components/schemas/FlakeId"},"product_name":{"type":"string","description":"The name of the product associated with this override."},"product_image_url":{"type":["null","string"],"description":"The URL of the product image, if available."},"created_at":{"type":"string","description":"The date and time when this override was created.","format":"date-time"},"created_by":{"$ref":"#/components/schemas/ActorDto"},"expires_at":{"type":"string","description":"The date and time when this override expires and is no longer valid.","format":"date-time"},"used_at":{"type":["null","string"],"description":"The date and time when this override was used to start a trial, if applicable.","format":"date-time"},"used_on_trial_id":{"$ref":"#/components/schemas/FlakeId"},"note":{"type":["null","string"],"description":"An optional note or comment about this override."},"deleted_at":{"type":["null","string"],"description":"The date and time when this override was deleted, if applicable.","format":"date-time"},"deleted_by":{"$ref":"#/components/schemas/ActorDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The TrialStatusDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"TrialStatusDto":{"enum":["created","active","canceled","completed"],"type":"string"}}}}
```

## The TrustStoreRequirementDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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},"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"}}}}
```

## The TrustStoreRequirementSubmissionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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"}}}}
```

## The UnqueueCommandsRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UnqueueCommandsRequestDto":{"required":["attempt_ids"],"type":"object","properties":{"attempt_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UnqueueCommandsResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UnqueueCommandsResponseDto":{"required":["unqueued_count"],"type":"object","properties":{"unqueued_count":{"type":"integer","format":"int64"}},"additionalProperties":false}}}}
```

## The UpdateAffiliateLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateAffiliateLinkDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"]},"code":{"type":["null","string"]},"referer_type":{"$ref":"#/components/schemas/AffiliateLinkRefererType"},"tracking_length_days":{"type":["null","integer"],"format":"int32"},"apply_for_subscriptions":{"type":["null","boolean"]},"discount_type":{"$ref":"#/components/schemas/AffiliateLinkDiscountType"},"discount_amount":{"type":["null","integer"],"format":"int64"},"commission_type":{"$ref":"#/components/schemas/AffiliateLinkCommissionType"},"commission_amount":{"type":["null","integer"],"format":"int64"}},"additionalProperties":false},"AffiliateLinkRefererType":{"enum":["invalid","first_referer","last_referer"],"type":"string"},"AffiliateLinkDiscountType":{"enum":["none","fixed","percentage"],"type":"string"},"AffiliateLinkCommissionType":{"enum":["none","fixed","percentage"],"type":"string"}}}}
```

## The UpdateCouponDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateCouponDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"code":{"type":"string"},"note":{"type":"string"},"duration":{"$ref":"#/components/schemas/CouponDurationEnum"},"duration_in_months":{"type":["null","integer"],"format":"int32"},"discount_type":{"$ref":"#/components/schemas/CouponDiscountTypeEnum"},"discount_amount":{"type":"integer","format":"int64"},"discount_apply_individually":{"type":"boolean"},"discount_apply_before_sales":{"type":"boolean"},"apply_to_products":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"apply_to_tags":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"usable_by_customer_id":{"$ref":"#/components/schemas/FlakeId"},"minimum_order_value":{"type":"integer","format":"int64"},"redeem_limit_store_enabled":{"type":"boolean"},"redeem_limit_store_amount":{"type":"integer","format":"int64"},"redeem_limit_customer_enabled":{"type":"boolean"},"redeem_limit_customer_amount":{"type":"integer","format":"int64"},"usable_on_one_time_purchase":{"type":"boolean"},"usable_on_subscription":{"type":"boolean"},"usable_at":{"type":["null","string"],"format":"date-time"},"expires_at":{"type":["null","string"],"format":"date-time"}}},"CouponDurationEnum":{"enum":["once","forever","repeating"],"type":"string","description":"Defines the duration for which a coupon remains valid."},"CouponDiscountTypeEnum":{"enum":["unspecified","percent","amount"],"type":"string","description":"Specifies the type of discount applied by a coupon."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateGameServerConsoleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateGameServerConsoleDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"host":{"type":"string"},"port":{"type":"integer","format":"int32"},"password":{"type":"string"},"secure":{"type":"boolean"}}}}}}
```

## The UpdateGameServerDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateGameServerDto":{"type":"object","properties":{"name":{"type":"string"},"enabled":{"type":"boolean"}}}}}}
```

## The UpdateGiftCardDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateGiftCardDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"code":{"type":"string"},"note":{"type":"string"},"balance":{"type":"integer","format":"int64"},"usable_at":{"type":"string","format":"date-time"},"expires_at":{"type":["null","string"],"format":"date-time"}}}}}}
```

## The UpdateNavLinkDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateNavLinkDto":{"type":"object","properties":{"tag_id":{"$ref":"#/components/schemas/FlakeId"},"parent_node_id":{"type":"string"},"order":{"type":["null","integer"],"format":"int32"}}},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateNavLinkOrderChangeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateNavLinkOrderChangeDto":{"required":["node_id","order"],"type":"object","properties":{"node_id":{"$ref":"#/components/schemas/FlakeId"},"order":{"type":"integer","format":"int32"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateProductSortOrderRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateProductSortOrderRequestDto":{"required":["product_ids"],"type":"object","properties":{"product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"},"description":"An array of product IDs in the order that they should be sorted."}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateSaleDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateSaleDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"name":{"type":"string"},"discount_type":{"$ref":"#/components/schemas/SaleDiscountType"},"discount_amount":{"type":"integer","format":"int32"},"apply_to_product_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"apply_to_tag_ids":{"type":"array","items":{"$ref":"#/components/schemas/FlakeId"}},"minimum_order_value":{"type":"integer","format":"int32"},"begins_at":{"type":"string","format":"date-time"},"ends_at":{"type":["null","string"],"format":"date-time"}}},"SaleDiscountType":{"enum":["percent","amount"],"type":"string"},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateStoreDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateStoreDto":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"platform":{"type":"string"},"game":{"type":"string"},"description":{"type":"string"},"website_url":{"type":"string"},"contact_email":{"type":"string"},"support_email":{"type":"string"},"support_url":{"type":"string"},"integration_type":{"type":"string"},"live_mode":{"type":"boolean"},"minecraft_bedrock_username_prefix":{"type":"string"}}}}}}
```

## The UpdateStoreMemberDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateStoreMemberDto":{"required":["role_id"],"type":"object","properties":{"role_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateStorePaymentSettingsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateStorePaymentSettingsDto":{"type":"object","properties":{"show_all_payment_methods_for_subscriptions":{"type":"boolean"},"store_tax_inclusive_pricing":{"type":"boolean"},"block_prepaid_cards":{"$ref":"#/components/schemas/PrepaidCardsBlockingTypeDto"},"promo_code_stacking_behavior":{"$ref":"#/components/schemas/StorePromoCodeStackingBehaviorDto"},"adaptive_currency_enabled":{"type":"boolean"},"show_adaptive_currency_on_storefront":{"type":"boolean"}}},"PrepaidCardsBlockingTypeDto":{"enum":["unspecified","none","trials","all_recurring"],"type":"string","description":"Defines when prepaid cards should be blocked from use."},"StorePromoCodeStackingBehaviorDto":{"enum":["invalid","disabled","enabled","gift_cards_only"],"type":"string","description":"Defines the behavior of promo code stacking."}}}}
```

## The UpdateStoreUpsellSettingsDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateStoreUpsellSettingsDto":{"type":"object","properties":{"enabled":{"type":"boolean"},"automatic_recommendations_enabled":{"type":"boolean"},"automatic_recommendations_discount_type":{"$ref":"#/components/schemas/UpsellDiscountType"},"automatic_recommendations_discount_amount":{"type":"integer","format":"int64"},"recommendation_overrides_enabled":{"type":"boolean"},"recommendation_overrides":{"type":"array","items":{"$ref":"#/components/schemas/StoreUpsellRecommendationDto"}},"checkout_style":{"$ref":"#/components/schemas/StoreUpsellCheckoutStyleDto"}}},"UpsellDiscountType":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"StoreUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"StoreUpsellCheckoutStyleDto":{"enum":["unknown","inline","inline_and_prepayment_dialog","dedicated_step"],"type":"string"}}}}
```

## The UpdateSubscriptionLineRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateSubscriptionRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"ProrationBehaviorDto":{"enum":["invalid","immediate","next_billing_period","none"],"type":"string","description":"Describes how proration is handled when a subscription change is applied."}}}}
```

## The UpdateSubscriptionResponseDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"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)."},"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."}}}}
```

## The UpdateTierGroupRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateTierGroupRequestDto":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the tier group."}},"additionalProperties":false}}}}
```

## The UpdateTrialEligibilityOverrideDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateTrialEligibilityOverrideDto":{"type":"object","properties":{"product_id":{"$ref":"#/components/schemas/FlakeId"},"expires_at":{"type":"string","format":"date-time"},"note":{"type":"string"}}},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"}}}}
```

## The UpdateWebhookDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpdateWebhookDto":{"required":["reset_secret","subscribed_to","url"],"type":"object","properties":{"url":{"type":"string"},"reset_secret":{"type":"boolean"},"subscribed_to":{"$ref":"#/components/schemas/WebhookEventType"},"discord_description_template":{"type":["null","string"]},"discord_title":{"type":["null","string"]},"discord_color":{"type":["null","string"]},"discord_format":{"$ref":"#/components/schemas/WebhookDiscordFormatDto"}},"additionalProperties":false},"WebhookEventType":{"enum":["OnIgnore","OnOrderCompleted","OnRefund","OnChargeback","OnDeliveryItemAdded","OnDeliveryItemActivated","OnDeliveryItemUsed","OnDeliveryItemRevoked","OnSubscriptionActivated","OnSubscriptionRenewed","OnSubscriptionCanceled","OnDiscordOrderActionsQueued","OnConnectedUserRegistered","OnConnectedUserBecamePayable","OnConnectedUserPayoutCreated","OnConnectedUserPayoutCompleted","OnConnectedUserTransactionInserted","OnConnectedUserBecameUnpayable","OnTrialActivated","OnTrialCompleted","OnTrialCanceled","OnPurchaseFollowUpAttemptEmailSent","OnPurchaseFollowUpAttemptSucceeded","OnAbandonedCheckoutRecoveryAttemptEmailSent","OnAbandonedCheckoutRecoveryAttemptSucceeded","OnChargebackClosed"],"type":"string"},"WebhookDiscordFormatDto":{"enum":["Invalid","Embed","Text"],"type":"string"}}}}
```

## The UpsellDiscountType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsellDiscountType":{"enum":["unknown","none","fixed","percentage"],"type":"string"}}}}
```

## The UpsellDiscountTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"}}}}
```

## The UpsellTypeDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"}}}}
```

## The UpsertBanRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertBanRequestDto":{"type":"object","properties":{"reason":{"type":["null","string"]},"identities":{"type":["null","array"],"items":{"$ref":"#/components/schemas/BanIdentityDto"}},"expires_at":{"type":["null","string"],"format":"date-time"}},"additionalProperties":false},"BanIdentityDto":{"required":["ban_type","ban_type_value"],"type":"object","properties":{"ban_type":{"$ref":"#/components/schemas/BanType"},"ban_type_value":{"type":"string"}},"additionalProperties":false},"BanType":{"enum":["unknown","steam","ip","customer","customer_name","email"],"type":"string"}}}}
```

## The UpsertCustomVariableRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertCustomVariableRequestDto":{"required":["identifier","name","options","type"],"type":"object","properties":{"identifier":{"type":"string","description":"Unique identifier string for programmatic reference.\nMust contain only letters, numbers, underscores, and hyphens."},"name":{"type":"string","description":"Display name shown to customers."},"description":{"type":["null","string"],"description":"Description explaining the purpose of this custom variable."},"type":{"$ref":"#/components/schemas/CustomVariableType"},"value_regex":{"type":["null","string"],"description":"Optional regex pattern for validating customer input.\nOnly applies to text and number types. Ignored for dropdown types."},"options":{"type":"array","items":{"$ref":"#/components/schemas/CustomVariableOptionRequestDto"},"description":"Predefined options for dropdown-type custom variables.\nRequired for dropdown types, ignored for text and number types.\nWhen updating, this completely replaces all existing options."}},"additionalProperties":false,"description":"Unified request model for creating or updating custom variables.\nContains all the configurable properties of a custom variable."},"CustomVariableType":{"enum":["dropdown","text","number"],"type":"string","description":"Defines the type of input method for a custom variable."},"CustomVariableOptionRequestDto":{"required":["is_default","name","price","price_type","value"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"name":{"type":"string","description":"Display name shown to customers for this option."},"value":{"type":"string","description":"The value the command variable will be replaced with."},"price":{"type":"integer","description":"Price modification when this option is selected.\nInterpretation depends on PriceType (fixed amount or percentage).\nIf fixed, the value is in cents, if a percentage, in permille.","format":"int64"},"price_type":{"$ref":"#/components/schemas/CustomVariableOptionPriceType"},"is_default":{"type":"boolean","description":"Whether this option is selected by default.\nOnly one option per custom variable should be marked as default."}},"additionalProperties":false,"description":"Request model for defining custom variable options.\nUsed within UpsertCustomVariableRequestDto for dropdown-type variables."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"CustomVariableOptionPriceType":{"enum":["fixed","percentage"],"type":"string","description":"Defines how option pricing should be applied to the base product price."}}}}
```

## The UpsertCustomerRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertCustomerRequestDto":{"type":"object","properties":{"steam_id":{"$ref":"#/components/schemas/SteamId"},"minecraft_uuid":{"type":["null","string"],"description":"The Minecraft UUID for the customer."},"minecraft_platform":{"$ref":"#/components/schemas/CustomerMinecraftPlatform"},"xbox_xuid":{"type":["null","string"],"description":"The Xbox XUID (Xbox User ID) for the customer."},"name":{"type":["null","string"],"description":"The name of the customer."},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Additional customer information stored as key-value pairs."}},"additionalProperties":false},"SteamId":{"type":"string","additionalProperties":false,"description":"A 64-bit Steam account identifier. Accepts string or numeric format.","format":"steam-id"},"CustomerMinecraftPlatform":{"enum":["unknown","java","bedrock"],"type":"string"}}}}
```

## The UpsertGlobalCommandDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertGlobalCommandDto":{"required":["content","execution_rule","online_only","stage"],"type":"object","properties":{"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"The command content to be executed."},"online_only":{"type":"boolean","description":"Indicates whether the command should only be executed when the player is online."},"override_execute_on_gameserver_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"List of specific game server IDs where this command should be executed."},"execution_rule":{"$ref":"#/components/schemas/ProductCommandExecutionRuleDto"}},"additionalProperties":false,"description":"Data transfer object used for creating new global commands or updating existing ones.\nSupports partial updates following PATCH semantics."},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"ProductCommandExecutionRuleDto":{"enum":["invalid","once_per_item","once_per_order"],"type":"string"}}}}
```

## The UpsertProductRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertProductRequestDto":{"type":"object","properties":{"slug":{"type":["null","string"],"description":"The unique URL-safe identifier (slug) for the product."},"name":{"type":["null","string"],"description":"The display name of the product."},"description":{"type":["null","string"],"description":"The detailed description of the product."},"label":{"type":["null","string"],"description":"The display label for the product."},"price":{"type":["null","integer"],"description":"The price of the product in the lowest denominator (e.g. cents).","format":"int64"},"single_game_server_only":{"type":["null","boolean"],"description":"Indicates whether the customer is prompted to select a game server before purchasing."},"allow_one_time_purchase":{"type":["null","boolean"],"description":"Indicates whether one-time purchases are allowed."},"allow_subscription":{"type":["null","boolean"],"description":"Indicates whether subscription purchases are allowed."},"subscription_interval_value":{"type":["null","integer"],"description":"The subscription interval value.","format":"int32"},"subscription_interval_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"trial":{"$ref":"#/components/schemas/UpsertProductTrialConfigurationDto"},"upselling":{"$ref":"#/components/schemas/UpsertProductUpsellConfigurationDto"},"remove_after_enabled":{"type":["null","boolean"],"description":"Indicates whether automatic removal is enabled."},"remove_after_time_value":{"type":["null","integer"],"description":"The time value for automatic removal.","format":"int32"},"remove_after_time_scale":{"$ref":"#/components/schemas/ProductRemoveAfterIntervalScale"},"store_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"customer_stock_limit":{"$ref":"#/components/schemas/ProductStockLimitDto"},"stock_limit_do_not_include_removed":{"type":["null","boolean"],"description":"Indicates whether removed items should be excluded from stock limits."},"tags":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The tag IDs associated with the product."},"gameservers":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The gameserver IDs associated with the product."},"commands":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductCommandDto"},"description":"The commands to be executed at different stages."},"deliverable_actions":{"$ref":"#/components/schemas/ProductDeliverableActionsDto"},"metadata":{"type":["null","object"],"additionalProperties":{"type":"string"},"description":"Additional metadata for the product."},"payout_splits":{"type":["null","array"],"items":{"$ref":"#/components/schemas/ProductPayoutSplitDto"},"description":"The payout splits for revenue distribution.\nRequires special approval."},"tax_code":{"$ref":"#/components/schemas/ProductTaxCode"},"allow_concurrent_active_items":{"type":["null","boolean"],"description":"Indicates whether concurrent active items are allowed."},"is_hidden":{"type":["null","boolean"],"description":"Indicates whether the product is hidden."},"is_gifting_disabled":{"type":["null","boolean"],"description":"Indicates whether gifting is disabled."},"enabled_at":{"type":["null","string"],"description":"The date and time when the product becomes enabled.\nSet to `null` to keep enabled.","format":"date-time"},"enabled_until":{"type":["null","string"],"description":"The date and time until which the product remains enabled.\nSet to `null` to keep enabled.","format":"date-time"},"required_product_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of products required for purchasing this product."},"required_product_all":{"type":["null","boolean"],"description":"Indicates whether all required products are needed."},"custom_variable_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"The IDs of associated custom variables."},"is_gift_cards_disabled":{"type":["null","boolean"],"description":"Indicates if applying gift cards should be disabled on the product."},"is_coupons_disabled":{"type":["null","boolean"],"description":"Indicates if applying coupons should be disabled on the product."},"is_affiliate_links_disabled":{"type":["null","boolean"],"description":"Indicates if applying affiliate links should be disabled on the product."},"tier_group_id":{"$ref":"#/components/schemas/FlakeId"}},"additionalProperties":false},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"UpsertProductTrialConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"],"description":"Indicates if trials should be enabled for the product."},"period_value":{"type":["null","integer"],"description":"The trial period value.","format":"int32"},"period_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"revoke_immediately_when_canceled":{"type":["null","boolean"],"description":"Indicates if the trial should be revoked immediately when canceled or at the end of the trial."},"new_customers_only":{"type":["null","boolean"],"description":"Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."},"new_customer_order_lookback_value":{"type":["null","integer"],"description":"The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.","format":"int32"},"new_customer_order_lookback_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"allow_repeat_trials":{"type":["null","boolean"],"description":"Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."},"repeat_trial_cooldown_value":{"type":["null","integer"],"description":"The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trials is enabled.","format":"int32"},"repeat_trial_cooldown_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"}},"additionalProperties":false,"description":"Represents the configuration for trials of a product"},"UpsertProductUpsellConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"]},"recommendations":{"type":["null","array"],"items":{"$ref":"#/components/schemas/UpsertProductUpsellRecommendationDto"}}},"additionalProperties":false},"UpsertProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"},"ProductRemoveAfterIntervalScale":{"enum":["invalid","day","week","month"],"type":"string"},"ProductStockLimitDto":{"required":["enabled","include_trials","time_scale"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Indicates whether stock limit is enabled."},"quantity":{"type":["null","integer"],"description":"The quantity limit.","format":"int32"},"time_value":{"type":["null","integer"],"description":"The time value for stock limit period.","format":"int32"},"time_scale":{"$ref":"#/components/schemas/ProductStockTimeScale"},"include_trials":{"type":"boolean","description":"Indicates if trials should be included in the active stock limit calculation."}},"additionalProperties":false},"ProductStockTimeScale":{"enum":["invalid","day","week","month","year"],"type":"string"},"ProductCommandDto":{"required":["content","online_only","stage"],"type":"object","properties":{"stage":{"$ref":"#/components/schemas/ProductCommandStage"},"content":{"type":"string","description":"Content of the command."},"online_only":{"type":"boolean","description":"Value indicating whether the command should only execute when the player is online."},"override_execute_on_gameserver_ids":{"type":["null","array"],"items":{"$ref":"#/components/schemas/FlakeId"},"description":"Value indicating on which game servers should the command be executed.\nIf left empty or null, then the default behavior applies\n(executing on all game servers or on the selected game server is selection is enabled)"}},"additionalProperties":false},"ProductCommandStage":{"enum":["invalid","on_purchase","on_expire","on_refund","on_renew","on_chargeback","on_trial_start","on_trial_expire"],"type":"string","description":"Defines the stages at which product commands can be executed."},"ProductDeliverableActionsDto":{"required":["grant_giftcard"],"type":"object","properties":{"grant_giftcard":{"type":"boolean","description":"Value indicating whether to grant a giftcard with the product with the subtotal amount."}},"additionalProperties":false},"ProductPayoutSplitDto":{"required":["platform_fee","user_id"],"type":"object","properties":{"user_id":{"$ref":"#/components/schemas/FlakeId"},"percentage":{"type":["null","integer"],"description":"The percentage of the payment allocated to the user, in basis points (500 = 5%).\nThe last payout split must have this field set to `null` to receive the remaining portion.","format":"int64"},"platform_fee":{"type":"integer","description":"The platform fee percentage your platform receives, in basis points (500 = 5%).","format":"int64"}},"additionalProperties":false},"ProductTaxCode":{"enum":["unknown","digital_goods_subscription","digital_goods_permanent","saas","downloaded_software","digital_goods_subscription_gaming","digital_goods_permanent_gaming","iaas","paas","saas_security","saas_storage"],"type":"string","description":"Determines the category of the product for taxation purposes.\nContact support for help with setting the correct tax code."}}}}
```

## The UpsertProductTrialConfigurationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertProductTrialConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"],"description":"Indicates if trials should be enabled for the product."},"period_value":{"type":["null","integer"],"description":"The trial period value.","format":"int32"},"period_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"revoke_immediately_when_canceled":{"type":["null","boolean"],"description":"Indicates if the trial should be revoked immediately when canceled or at the end of the trial."},"new_customers_only":{"type":["null","boolean"],"description":"Restricts trials to customers who have no orders within the lookback period.\nWhen enabled, customers with recent orders will be ineligible for trials."},"new_customer_order_lookback_value":{"type":["null","integer"],"description":"The lookback period value for determining if a customer is \"new\".\nOnly used when new_customers_only is enabled.","format":"int32"},"new_customer_order_lookback_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"},"allow_repeat_trials":{"type":["null","boolean"],"description":"Allows customers to trial again after a cooldown period following their previous trial.\nWhen disabled, customers can only trial once and never become eligible again."},"repeat_trial_cooldown_value":{"type":["null","integer"],"description":"The cooldown period value before a customer becomes eligible for another trial.\nOnly used when allow_repeat_trials is enabled.","format":"int32"},"repeat_trial_cooldown_scale":{"$ref":"#/components/schemas/ProductSubscriptionIntervalScale"}},"additionalProperties":false,"description":"Represents the configuration for trials of a product"},"ProductSubscriptionIntervalScale":{"enum":["invalid","day","week","month","year"],"type":"string"}}}}
```

## The UpsertProductUpsellConfigurationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertProductUpsellConfigurationDto":{"type":"object","properties":{"enabled":{"type":["null","boolean"]},"recommendations":{"type":["null","array"],"items":{"$ref":"#/components/schemas/UpsertProductUpsellRecommendationDto"}}},"additionalProperties":false},"UpsertProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"}}}}
```

## The UpsertProductUpsellRecommendationDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertProductUpsellRecommendationDto":{"required":["discount_amount","discount_type","prefer_as_subscription","recommended_product_id","type"],"type":"object","properties":{"recommended_product_id":{"$ref":"#/components/schemas/FlakeId"},"type":{"$ref":"#/components/schemas/UpsellTypeDto"},"discount_type":{"$ref":"#/components/schemas/UpsellDiscountTypeDto"},"discount_amount":{"type":"integer","format":"int64"},"minimum_base_product_quantity":{"type":["null","integer"],"format":"int32"},"minimum_recommended_product_quantity":{"type":["null","integer"],"format":"int32"},"quantity_to_add":{"type":["null","integer"],"format":"int32"},"prefer_as_subscription":{"type":"boolean"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"UpsellTypeDto":{"enum":["unknown","additional","alternative","increase_quantity"],"type":"string"},"UpsellDiscountTypeDto":{"enum":["unknown","none","fixed","percentage"],"type":"string"}}}}
```

## The UpsertTagRequestDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"UpsertTagRequestDto":{"type":"object","properties":{"name":{"type":["null","string"]},"slug":{"type":["null","string"]},"description":{"type":["null","string"]},"enabled":{"type":["null","boolean"]}},"additionalProperties":false}}}}
```

## The ValidationError object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"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."}}}}
```

## The WebhookDiscordFormatDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"WebhookDiscordFormatDto":{"enum":["Invalid","Embed","Text"],"type":"string"}}}}
```

## The WebhookEventType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"WebhookEventType":{"enum":["OnIgnore","OnOrderCompleted","OnRefund","OnChargeback","OnDeliveryItemAdded","OnDeliveryItemActivated","OnDeliveryItemUsed","OnDeliveryItemRevoked","OnSubscriptionActivated","OnSubscriptionRenewed","OnSubscriptionCanceled","OnDiscordOrderActionsQueued","OnConnectedUserRegistered","OnConnectedUserBecamePayable","OnConnectedUserPayoutCreated","OnConnectedUserPayoutCompleted","OnConnectedUserTransactionInserted","OnConnectedUserBecameUnpayable","OnTrialActivated","OnTrialCompleted","OnTrialCanceled","OnPurchaseFollowUpAttemptEmailSent","OnPurchaseFollowUpAttemptSucceeded","OnAbandonedCheckoutRecoveryAttemptEmailSent","OnAbandonedCheckoutRecoveryAttemptSucceeded","OnChargebackClosed"],"type":"string"}}}}
```

## The WebhookHistoryDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"WebhookHistoryDto":{"required":["history","page"],"type":"object","properties":{"page":{"type":"integer","format":"int32"},"history":{"type":"array","items":{"$ref":"#/components/schemas/QueuedWebhookDto"}}},"additionalProperties":false},"QueuedWebhookDto":{"required":["created_at","event","executions","id","payload","state","webhook_id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"webhook_id":{"$ref":"#/components/schemas/FlakeId"},"created_at":{"type":"string","format":"date-time"},"state":{"$ref":"#/components/schemas/WebhookState"},"next_retry":{"type":["null","string"],"format":"date-time"},"event":{"$ref":"#/components/schemas/WebhookEventType"},"payload":{},"executions":{"type":"array","items":{"$ref":"#/components/schemas/ExecutedWebhookDto"}}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"WebhookState":{"enum":["success","pending","failed","all"],"type":"string"},"WebhookEventType":{"enum":["OnIgnore","OnOrderCompleted","OnRefund","OnChargeback","OnDeliveryItemAdded","OnDeliveryItemActivated","OnDeliveryItemUsed","OnDeliveryItemRevoked","OnSubscriptionActivated","OnSubscriptionRenewed","OnSubscriptionCanceled","OnDiscordOrderActionsQueued","OnConnectedUserRegistered","OnConnectedUserBecamePayable","OnConnectedUserPayoutCreated","OnConnectedUserPayoutCompleted","OnConnectedUserTransactionInserted","OnConnectedUserBecameUnpayable","OnTrialActivated","OnTrialCompleted","OnTrialCanceled","OnPurchaseFollowUpAttemptEmailSent","OnPurchaseFollowUpAttemptSucceeded","OnAbandonedCheckoutRecoveryAttemptEmailSent","OnAbandonedCheckoutRecoveryAttemptSucceeded","OnChargebackClosed"],"type":"string"},"ExecutedWebhookDto":{"required":["id","started_at","status_code"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"started_at":{"type":"string","format":"date-time"},"finished_at":{"type":["null","string"],"format":"date-time"},"status_code":{"type":"integer","format":"int32"},"response":{"type":["null","string"]}},"additionalProperties":false}}}}
```

## The WebhookState object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"WebhookState":{"enum":["success","pending","failed","all"],"type":"string"}}}}
```

## The WebhookSubscriptionDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"WebhookSubscriptionDto":{"required":["id","secret","subscribed_to","type","url"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/FlakeId"},"url":{"type":"string"},"secret":{"type":"string"},"subscribed_to":{"$ref":"#/components/schemas/WebhookEventType"},"type":{"$ref":"#/components/schemas/WebhookType"},"discord_description_template":{"type":["null","string"]},"discord_title":{"type":["null","string"]},"discord_color":{"type":["null","string"]},"discord_format":{"$ref":"#/components/schemas/WebhookDiscordFormatDto"}},"additionalProperties":false},"FlakeId":{"type":"string","additionalProperties":false,"format":"flake-id"},"WebhookEventType":{"enum":["OnIgnore","OnOrderCompleted","OnRefund","OnChargeback","OnDeliveryItemAdded","OnDeliveryItemActivated","OnDeliveryItemUsed","OnDeliveryItemRevoked","OnSubscriptionActivated","OnSubscriptionRenewed","OnSubscriptionCanceled","OnDiscordOrderActionsQueued","OnConnectedUserRegistered","OnConnectedUserBecamePayable","OnConnectedUserPayoutCreated","OnConnectedUserPayoutCompleted","OnConnectedUserTransactionInserted","OnConnectedUserBecameUnpayable","OnTrialActivated","OnTrialCompleted","OnTrialCanceled","OnPurchaseFollowUpAttemptEmailSent","OnPurchaseFollowUpAttemptSucceeded","OnAbandonedCheckoutRecoveryAttemptEmailSent","OnAbandonedCheckoutRecoveryAttemptSucceeded","OnChargebackClosed"],"type":"string"},"WebhookType":{"enum":["json_v1","discord_v1"],"type":"string"},"WebhookDiscordFormatDto":{"enum":["Invalid","Embed","Text"],"type":"string"}}}}
```

## The WebhookType object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"WebhookType":{"enum":["json_v1","discord_v1"],"type":"string"}}}}
```

## The WebhookVariablesDto object

```json
{"openapi":"3.1.1","info":{"title":"PayNow Management API","version":"v1"},"components":{"schemas":{"WebhookVariablesDto":{"required":["event_type","variables"],"type":"object","properties":{"event_type":{"$ref":"#/components/schemas/WebhookEventType"},"variables":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"WebhookEventType":{"enum":["OnIgnore","OnOrderCompleted","OnRefund","OnChargeback","OnDeliveryItemAdded","OnDeliveryItemActivated","OnDeliveryItemUsed","OnDeliveryItemRevoked","OnSubscriptionActivated","OnSubscriptionRenewed","OnSubscriptionCanceled","OnDiscordOrderActionsQueued","OnConnectedUserRegistered","OnConnectedUserBecamePayable","OnConnectedUserPayoutCreated","OnConnectedUserPayoutCompleted","OnConnectedUserTransactionInserted","OnConnectedUserBecameUnpayable","OnTrialActivated","OnTrialCompleted","OnTrialCanceled","OnPurchaseFollowUpAttemptEmailSent","OnPurchaseFollowUpAttemptSucceeded","OnAbandonedCheckoutRecoveryAttemptEmailSent","OnAbandonedCheckoutRecoveryAttemptSucceeded","OnChargebackClosed"],"type":"string"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paynow.gg/management/management-api/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
