@paynow-gg/typescript-sdk 1.0.53 → 1.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1620,6 +1620,80 @@ export interface paths {
1620
1620
  patch?: never;
1621
1621
  trace?: never;
1622
1622
  };
1623
+ "/v1/stores/{storeId}/subscriptions/{subscriptionId}/change": {
1624
+ parameters: {
1625
+ query?: never;
1626
+ header?: never;
1627
+ path?: never;
1628
+ cookie?: never;
1629
+ };
1630
+ get?: never;
1631
+ put?: never;
1632
+ /**
1633
+ * Update items on a subscription
1634
+ * @description Updates the subscription lines, including the pricing, on an active subscription. The subscription must not be within 1 hour of its
1635
+ * next renewal, and only one change can be pending at a time.
1636
+ *
1637
+ * **Access**
1638
+ *
1639
+ * This endpoint requires the Subscription Updates API feature flag to be enabled on your store. Contact
1640
+ * PayNow to request access.
1641
+ *
1642
+ * **Proration behavior**
1643
+ *
1644
+ * Controlled by the `proration_behavior` field on the request:
1645
+ *
1646
+ * - `immediate` - the change is applied as soon as possible.
1647
+ * Proration is calculated for the remaining period. If the prorated amount is ≥ $0.50 (or equivalent in other currencies), an order is
1648
+ * initiated against the subscription's payment method; the change is applied once the payment succeeds.
1649
+ * If the prorated amount is below $0.50, no order is created and the change is
1650
+ * applied instantly.
1651
+ * Only one proration order is allowed per billing cycle - a second immediate change in the same
1652
+ * period will be rejected if a proration was already charged.
1653
+ * When a payment is triggered, the response will include a `pending_payment` object. The payment result
1654
+ * is synchronous - check `pending_payment.declined` to determine whether the charge succeeded. If
1655
+ * declined, `pending_payment.decline_code` contains the reason.
1656
+ *
1657
+ * - `next_billing_period` - no payment is created. The change is queued and will be applied automatically
1658
+ * at the start of the next renewal cycle. Ideal for downgrades.
1659
+ *
1660
+ * - `none` - the change is applied instantly with no proration calculated or charged.
1661
+ *
1662
+ * **Reverting a pending change**
1663
+ *
1664
+ * If a `next_billing_period` change is pending and the new request specifies the same product versions
1665
+ * that are already on the subscription (i.e. reverting back to the current state), the pending change
1666
+ * is canceled rather than rejected. The canceled change record is returned in the response.
1667
+ */
1668
+ post: operations["Subscriptions_UpdateSubscription"];
1669
+ delete?: never;
1670
+ options?: never;
1671
+ head?: never;
1672
+ patch?: never;
1673
+ trace?: never;
1674
+ };
1675
+ "/v1/stores/{storeId}/subscriptions/{subscriptionId}/change/preview": {
1676
+ parameters: {
1677
+ query?: never;
1678
+ header?: never;
1679
+ path?: never;
1680
+ cookie?: never;
1681
+ };
1682
+ get?: never;
1683
+ put?: never;
1684
+ /**
1685
+ * Preview a subscription change
1686
+ * @description Simulates a subscription change and returns the pricing breakdown without creating any records or
1687
+ * initiating a payment. Accepts the same request body as `POST change` — see that endpoint for
1688
+ * full parameter documentation. Does not return the `pending_payment` field.
1689
+ */
1690
+ post: operations["Subscriptions_PreviewSubscriptionChange"];
1691
+ delete?: never;
1692
+ options?: never;
1693
+ head?: never;
1694
+ patch?: never;
1695
+ trace?: never;
1696
+ };
1623
1697
  "/v1/stores/{storeId}/tags": {
1624
1698
  parameters: {
1625
1699
  query?: never;
@@ -2192,6 +2266,16 @@ export interface components {
2192
2266
  is_banned: boolean;
2193
2267
  ban_id?: components["schemas"]["FlakeId"];
2194
2268
  };
2269
+ /** @description Payment outcome information returned after a subscription change triggers an immediate charge. */
2270
+ CheckoutPaymentInfoDto: {
2271
+ /** @description Status string from the payment provider. */
2272
+ status: string;
2273
+ /** @description Indicates whether the payment was declined. */
2274
+ declined: boolean;
2275
+ decline_code: components["schemas"]["PaymentDeclineCode"];
2276
+ /** @description Client-side payment token for completing 3DS or other redirect-based flows. */
2277
+ payment_token?: null | string;
2278
+ };
2195
2279
  CommandAttemptDto: {
2196
2280
  id: components["schemas"]["FlakeId"];
2197
2281
  store_id: components["schemas"]["FlakeId"];
@@ -2537,6 +2621,7 @@ export interface components {
2537
2621
  show_all_payment_methods_for_subscriptions: boolean;
2538
2622
  store_tax_inclusive_pricing: boolean;
2539
2623
  block_prepaid_cards: components["schemas"]["PrepaidCardsBlockingTypeDto"];
2624
+ promo_code_stacking_behavior: components["schemas"]["StorePromoCodeStackingBehaviorDto"];
2540
2625
  adaptive_currency_enabled: boolean;
2541
2626
  show_adaptive_currency_on_storefront: boolean;
2542
2627
  };
@@ -3356,6 +3441,11 @@ export interface components {
3356
3441
  /** Format: int32 */
3357
3442
  order?: null | number;
3358
3443
  };
3444
+ OrderCouponUsageDto: {
3445
+ coupon_id: components["schemas"]["FlakeId"];
3446
+ /** Format: int64 */
3447
+ usage_amount: number;
3448
+ };
3359
3449
  /** @description Represents a customer order */
3360
3450
  OrderDto: {
3361
3451
  id: components["schemas"]["FlakeId"];
@@ -3379,7 +3469,11 @@ export interface components {
3379
3469
  /** @description Signifies if the order is a subscription order */
3380
3470
  readonly is_subscription: boolean;
3381
3471
  coupon_id?: components["schemas"]["FlakeId"];
3472
+ /** @description Applied coupons to this order */
3473
+ applied_coupons: components["schemas"]["OrderCouponUsageDto"][];
3382
3474
  giftcard_id?: components["schemas"]["FlakeId"];
3475
+ /** @description Applied gift cards to this order */
3476
+ applied_giftcards: components["schemas"]["OrderGiftCardUsageDto"][];
3383
3477
  affiliate_id?: components["schemas"]["FlakeId"];
3384
3478
  /**
3385
3479
  * @description The billing name for this order
@@ -3544,10 +3638,15 @@ export interface components {
3544
3638
  tax_jurisdictions?: null | components["schemas"]["SalesTaxJurisdictionDto"][];
3545
3639
  last_payment_error?: components["schemas"]["LastPaymentErrorDto"];
3546
3640
  };
3641
+ OrderGiftCardUsageDto: {
3642
+ giftcard_id: components["schemas"]["FlakeId"];
3643
+ /** Format: int64 */
3644
+ usage_amount: number;
3645
+ };
3547
3646
  /** @description Represents an order line item in a customer's order */
3548
3647
  OrderLineDto: {
3549
3648
  id: components["schemas"]["FlakeId"];
3550
- checkout_line_id: components["schemas"]["FlakeId"];
3649
+ checkout_line_id?: components["schemas"]["FlakeId"];
3551
3650
  product_id: components["schemas"]["FlakeId"];
3552
3651
  product_version_id: components["schemas"]["FlakeId"];
3553
3652
  /**
@@ -3560,9 +3659,13 @@ export interface components {
3560
3659
  * @example https://cdn.example.com/images/premium-game-pass.jpg
3561
3660
  */
3562
3661
  product_image_url?: null | string;
3662
+ /** @description Customer-presentable description of the order line. */
3663
+ description?: null | string;
3563
3664
  /** @description The Gift Card ID of that product in this order line */
3564
3665
  created_giftcard_id?: null | string;
3565
3666
  subscription_id?: components["schemas"]["FlakeId"];
3667
+ subscription_line_id?: components["schemas"]["FlakeId"];
3668
+ subscription_change_line_id?: components["schemas"]["FlakeId"];
3566
3669
  trial_id?: components["schemas"]["FlakeId"];
3567
3670
  /**
3568
3671
  * Format: int32
@@ -3745,7 +3848,7 @@ export interface components {
3745
3848
  * @description Defines the type of items contained in an order
3746
3849
  * @enum {string}
3747
3850
  */
3748
- OrderType: "one_time" | "subscription" | "mixed";
3851
+ OrderType: "one_time" | "subscription_initial" | "subscription_renewal" | "subscription_proration" | "mixed";
3749
3852
  /** @description Przelewy24 payment method details */
3750
3853
  P24DetailsDto: {
3751
3854
  /**
@@ -4572,6 +4675,11 @@ export interface components {
4572
4675
  quantity_to_add?: null | number;
4573
4676
  prefer_as_subscription: boolean;
4574
4677
  };
4678
+ /**
4679
+ * @description Describes how proration is handled when a subscription change is applied.
4680
+ * @enum {string}
4681
+ */
4682
+ ProrationBehaviorDto: "invalid" | "immediate" | "next_billing_period" | "none";
4575
4683
  PublicPlatformDto: {
4576
4684
  id: components["schemas"]["FlakeId"];
4577
4685
  slug: string;
@@ -5072,6 +5180,7 @@ export interface components {
5072
5180
  /** @description Whether store pricing is tax-inclusive. */
5073
5181
  store_tax_inclusive_pricing: boolean;
5074
5182
  block_prepaid_cards: components["schemas"]["PrepaidCardsBlockingTypeDto"];
5183
+ promo_code_stacking_behavior: components["schemas"]["StorePromoCodeStackingBehaviorDto"];
5075
5184
  /** @description Whether the 'Adaptive Currency' feature is enabled. */
5076
5185
  adaptive_currency_enabled: boolean;
5077
5186
  /** @description Whether the displayed currency on the storefront should be the Adaptive Currency by default. */
@@ -5097,6 +5206,11 @@ export interface components {
5097
5206
  currency?: null | string;
5098
5207
  tax_inclusive?: null | boolean;
5099
5208
  };
5209
+ /**
5210
+ * @description Defines the behavior of promo code stacking.
5211
+ * @enum {string}
5212
+ */
5213
+ StorePromoCodeStackingBehaviorDto: "invalid" | "disabled" | "enabled" | "gift_cards_only";
5100
5214
  /**
5101
5215
  * @description Determines the party that needs to perform or requests a verification
5102
5216
  * @enum {string}
@@ -5111,19 +5225,321 @@ export interface components {
5111
5225
  StoreRequirementStatus: "invalid" | "pending" | "under_review" | "requires_revision" | "approved" | "expired" | "waived" | "rejected_final";
5112
5226
  /** @enum {string} */
5113
5227
  StoreRestrictionFlagDto: "none" | "payments_disabled" | "payouts_disabled";
5228
+ StoreTrustDto: {
5229
+ store_id: components["schemas"]["FlakeId"];
5230
+ status: components["schemas"]["StoreTrustStatusDto"];
5231
+ status_reason?: null | string;
5232
+ restrictions: components["schemas"]["StoreRestrictionFlagDto"];
5233
+ /** Format: date-time */
5234
+ created_at: string;
5235
+ /** Format: date-time */
5236
+ updated_at?: null | string;
5237
+ onboarding_steps?: components["schemas"]["StoreTrustOnboardingStepsDto"];
5238
+ events: components["schemas"]["StoreTrustEventDto"][];
5239
+ pending_requirements: components["schemas"]["TrustStoreRequirementDto"][];
5240
+ };
5241
+ StoreTrustEventDto: {
5242
+ id: components["schemas"]["FlakeId"];
5243
+ store_id: components["schemas"]["FlakeId"];
5244
+ type: components["schemas"]["StoreTrustEventTypeDto"];
5245
+ description?: null | string;
5246
+ store_requirement_id?: components["schemas"]["FlakeId"];
5247
+ store_review_id?: components["schemas"]["FlakeId"];
5248
+ actor: components["schemas"]["ActorDto"];
5249
+ /** Format: date-time */
5250
+ created_at: string;
5251
+ };
5252
+ /** @enum {string} */
5253
+ StoreTrustEventTypeDto: "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";
5254
+ StoreTrustOnboardingStepsDto: {
5255
+ store_id: components["schemas"]["FlakeId"];
5256
+ store_owner_id: components["schemas"]["FlakeId"];
5257
+ payout_onboarding_completed: boolean;
5258
+ kyc_completed: boolean;
5259
+ products_created: boolean;
5260
+ gameserver_linked: boolean;
5261
+ webhooks_active: boolean;
5262
+ downloadable_files_added: boolean;
5263
+ };
5264
+ /** @enum {string} */
5265
+ StoreTrustStatusDto: "invalid" | "pending_review" | "requires_action" | "under_review" | "active" | "restricted" | "offboarded";
5266
+ /** @enum {string} */
5267
+ StoreUpsellCheckoutStyleDto: "unknown" | "inline" | "inline_and_prepayment_dialog" | "dedicated_step";
5268
+ StoreUpsellRecommendationDto: {
5269
+ recommended_product_id: components["schemas"]["FlakeId"];
5270
+ type: components["schemas"]["UpsellTypeDto"];
5271
+ discount_type: components["schemas"]["UpsellDiscountTypeDto"];
5272
+ /** Format: int64 */
5273
+ discount_amount: number;
5274
+ /** Format: int32 */
5275
+ minimum_base_product_quantity?: null | number;
5276
+ /** Format: int32 */
5277
+ quantity_to_add?: null | number;
5278
+ prefer_as_subscription: boolean;
5279
+ };
5280
+ StoreUpsellSettingsDto: {
5281
+ enabled: boolean;
5282
+ automatic_recommendations_enabled: boolean;
5283
+ automatic_recommendations_discount_type: components["schemas"]["UpsellDiscountType"];
5284
+ /** Format: int64 */
5285
+ automatic_recommendations_discount_amount: number;
5286
+ recommendation_overrides_enabled: boolean;
5287
+ recommendation_overrides: components["schemas"]["StoreUpsellRecommendationDto"][];
5288
+ checkout_style: components["schemas"]["StoreUpsellCheckoutStyleDto"];
5289
+ /** Format: date-time */
5290
+ updated_at: string;
5291
+ updated_by: components["schemas"]["ActorDto"];
5292
+ };
5293
+ /** @description Represents a store entity within the storefront system. */
5294
+ StorefrontStoreDto: {
5295
+ id: components["schemas"]["FlakeId"];
5296
+ /**
5297
+ * @description The URL-friendly identifier for the store, used in store URLs.
5298
+ * @example m0ukas-awesome-store
5299
+ */
5300
+ slug: string;
5301
+ /**
5302
+ * @description The display name of the store shown to customers.
5303
+ * @example m0uka's awesome store
5304
+ */
5305
+ name: string;
5306
+ /**
5307
+ * @description The platform or the game of the store.
5308
+ * @example rust
5309
+ */
5310
+ platform: string;
5311
+ /** @description The game of the store. Equivalent to the `platform` for backwards compatibility. */
5312
+ readonly game: string;
5313
+ /**
5314
+ * @description The three-letter ISO currency code used for pricing in this store.
5315
+ * If using the Adaptive Currency feature, this will be updated to reflect customer's local currency
5316
+ * (based on passed in IP / country headers).
5317
+ * @example eur
5318
+ */
5319
+ currency: string;
5320
+ /**
5321
+ * @description The three-letter ISO currency code signifying the main currency of the store.
5322
+ * @example usd
5323
+ */
5324
+ creator_currency: string;
5325
+ /** @description A detailed description of the store. Only present for some platform types. */
5326
+ description?: null | string;
5327
+ /** @description The URL of the store's main website, if not using Hosted Webstores. */
5328
+ website_url?: null | string;
5329
+ /**
5330
+ * @description The email address customers can use to contact store support.
5331
+ * @example support@example.com
5332
+ */
5333
+ support_email?: null | string;
5334
+ /** @description The URL of the store's support page. */
5335
+ support_url?: null | string;
5336
+ /** @description The type of integration this store uses with external systems. */
5337
+ integration_type?: null | string;
5338
+ /** @description Indicates whether the store is in live mode (true) or test mode (false). */
5339
+ live_mode: boolean;
5340
+ /** @description The URL to the store's main logo image. */
5341
+ logo_url?: null | string;
5342
+ /** @description The URL to the store's square logo image. */
5343
+ logo_square_url?: null | string;
5344
+ /**
5345
+ * Format: date-time
5346
+ * @description The date and time when the store was created.
5347
+ */
5348
+ created_at?: null | string;
5349
+ /**
5350
+ * Format: date-time
5351
+ * @description The date and time when the store was last updated.
5352
+ */
5353
+ updated_at?: null | string;
5354
+ };
5355
+ /** @description Represents a billing amount breakdown for a subscription. */
5356
+ SubscriptionBillingAmountDto: {
5357
+ /** @description ISO 4217 currency code, in lowercase. */
5358
+ currency: string;
5359
+ /**
5360
+ * Format: int64
5361
+ * @description Base amount before discounts or tax, in smallest currency units.
5362
+ */
5363
+ subtotal: number;
5364
+ /**
5365
+ * Format: int64
5366
+ * @description Total discount applied, in smallest currency units.
5367
+ */
5368
+ discount: number;
5369
+ /**
5370
+ * Format: int64
5371
+ * @description Tax amount, in smallest currency units.
5372
+ */
5373
+ tax: number;
5374
+ /**
5375
+ * Format: int64
5376
+ * @description Amount due after discounts and tax, in smallest currency units.
5377
+ */
5378
+ total: number;
5379
+ };
5380
+ /** @description Pricing breakdown for a subscription change, in the smallest units of the given currency (e.g. cents). */
5381
+ SubscriptionChangeAmountDto: {
5382
+ /** @description ISO 4217 currency code, in lowercase. */
5383
+ currency: string;
5384
+ /**
5385
+ * Format: int64
5386
+ * @description Base amount before discounts or tax, in smallest currency units.
5387
+ */
5388
+ subtotal: number;
5389
+ /**
5390
+ * Format: int64
5391
+ * @description Total discount applied, in smallest currency units.
5392
+ */
5393
+ discount: number;
5394
+ /**
5395
+ * Format: int64
5396
+ * @description Tax amount, in smallest currency units.
5397
+ */
5398
+ tax: number;
5399
+ /**
5400
+ * Format: int64
5401
+ * @description Amount due after discounts and tax, in smallest currency units.
5402
+ */
5403
+ total: number;
5404
+ };
5405
+ /** @description A pending or applied change to a subscription. */
5406
+ SubscriptionChangeDto: {
5407
+ id: components["schemas"]["FlakeId"];
5408
+ subscription_id: components["schemas"]["FlakeId"];
5409
+ prorated_order_id?: components["schemas"]["FlakeId"];
5410
+ status: components["schemas"]["SubscriptionChangeStatusDto"];
5411
+ proration_behavior: components["schemas"]["ProrationBehaviorDto"];
5412
+ /** @description Whether this change was initiated without active customer interaction. */
5413
+ off_session: boolean;
5414
+ prorated_amount: components["schemas"]["SubscriptionChangeProratedAmountDto"];
5415
+ /** Format: date-time */
5416
+ created_at: string;
5417
+ /** Format: date-time */
5418
+ applied_at?: null | string;
5419
+ lines: components["schemas"]["SubscriptionChangeLineDto"][];
5420
+ next_billing_amount: components["schemas"]["SubscriptionChangeAmountDto"];
5421
+ next_billing_presentment_amount: components["schemas"]["SubscriptionChangeAmountDto"];
5422
+ };
5423
+ /** @description Pricing breakdown for a single subscription change line, in the smallest units of the given currency (e.g. cents). */
5424
+ SubscriptionChangeLineAmountDto: {
5425
+ /** @description ISO 4217 currency code in lowercase. */
5426
+ currency: string;
5427
+ /**
5428
+ * Format: int64
5429
+ * @description Base amount before discounts or tax, in smallest currency units.
5430
+ */
5431
+ subtotal: number;
5432
+ /**
5433
+ * Format: int64
5434
+ * @description Total discount applied, in smallest currency units.
5435
+ */
5436
+ discount: number;
5437
+ /**
5438
+ * Format: int64
5439
+ * @description Tax amount, in smallest currency units.
5440
+ */
5441
+ tax: number;
5442
+ /**
5443
+ * Format: int64
5444
+ * @description Amount due after discounts and tax, in smallest currency units.
5445
+ */
5446
+ total: number;
5447
+ };
5448
+ /** @description A single line item within a subscription change. */
5449
+ SubscriptionChangeLineDto: {
5450
+ id: components["schemas"]["FlakeId"];
5451
+ subscription_line_id?: components["schemas"]["FlakeId"];
5452
+ /** @description Whether this line is being removed by the change. */
5453
+ is_deleted: boolean;
5454
+ /** @description Whether tax is included in the base price. */
5455
+ tax_inclusive: boolean;
5456
+ /**
5457
+ * Format: int64
5458
+ * @description Base price in smallest settlement currency units.
5459
+ */
5460
+ price: number;
5461
+ product: components["schemas"]["SubscriptionChangeLineProductDto"];
5462
+ amount: components["schemas"]["SubscriptionChangeLineAmountDto"];
5463
+ presentment_amount: components["schemas"]["SubscriptionChangeLineAmountDto"];
5464
+ /**
5465
+ * Format: int64
5466
+ * @description Prorated charge for this line in smallest settlement currency units.
5467
+ */
5468
+ prorated_amount: number;
5469
+ /**
5470
+ * Format: int64
5471
+ * @description Prorated charge for this line in smallest presentment currency units.
5472
+ */
5473
+ prorated_presentment_amount: number;
5474
+ /**
5475
+ * Format: int64
5476
+ * @description Minutes remaining in the billing period at the time of change - used to calculate proration.
5477
+ */
5478
+ remaining_minutes: number;
5479
+ /**
5480
+ * Format: int64
5481
+ * @description Total minutes in the billing period - used to calculate proration.
5482
+ */
5483
+ total_minutes: number;
5484
+ };
5485
+ /** @description The product associated with a subscription change line. */
5486
+ SubscriptionChangeLineProductDto: {
5487
+ id: components["schemas"]["FlakeId"];
5488
+ version_id: components["schemas"]["FlakeId"];
5489
+ /** @description Display name of the product. */
5490
+ name: string;
5491
+ /** @description URL of the product image, if set. */
5492
+ image_url?: null | string;
5493
+ selected_gameserver_id?: components["schemas"]["FlakeId"];
5494
+ /** @description The pricing region used to determine the price, if applicable. */
5495
+ pricing_region_id?: null | string;
5496
+ /** @description Custom variables set on this line item, keyed by variable identifier. */
5497
+ custom_variables: {
5498
+ [key: string]: components["schemas"]["CustomVariableLineItemDto"];
5499
+ };
5500
+ };
5501
+ /** @description The total prorated charge for a subscription change, expressed in both settlement and presentment currencies. */
5502
+ SubscriptionChangeProratedAmountDto: {
5503
+ /** @description ISO 4217 settlement currency code, in lowercase. */
5504
+ currency: string;
5505
+ /**
5506
+ * Format: int64
5507
+ * @description Total prorated charge in smallest settlement currency units, including tax.
5508
+ */
5509
+ prorated_amount: number;
5510
+ /** @description ISO 4217 presentment currency code, in lowercase. */
5511
+ presentment_currency: string;
5512
+ /**
5513
+ * Format: int64
5514
+ * @description Total prorated charge in smallest presentment currency units, including tax.
5515
+ */
5516
+ presentment_prorated_amount: number;
5517
+ };
5518
+ /**
5519
+ * @description Represents the status of a subscription change.
5520
+ * @enum {string}
5521
+ */
5522
+ SubscriptionChangeStatusDto: "invalid" | "pending_payment" | "pending_renewal" | "applied" | "canceled";
5114
5523
  /** @description Data transfer object representing a store subscription. */
5115
- StoreSubscriptionDto: {
5524
+ SubscriptionDto: {
5116
5525
  id: components["schemas"]["FlakeId"];
5117
5526
  /** @description Human-readable identifier for the subscription. */
5118
5527
  pretty_id: string;
5119
5528
  store_id: components["schemas"]["FlakeId"];
5529
+ store?: components["schemas"]["StorefrontStoreDto"];
5120
5530
  customer: components["schemas"]["CustomerDto"];
5121
5531
  payment_method_id?: components["schemas"]["FlakeId"];
5122
5532
  payment_method?: components["schemas"]["PaymentMethodDto"];
5533
+ pending_change?: components["schemas"]["SubscriptionChangeDto"];
5534
+ next_billing_amount: components["schemas"]["SubscriptionBillingAmountDto"];
5535
+ next_billing_presentment_amount: components["schemas"]["SubscriptionBillingAmountDto"];
5123
5536
  status: components["schemas"]["SubscriptionStatus"];
5124
5537
  coupon_id?: components["schemas"]["FlakeId"];
5538
+ /** @description Identifiers of coupons applied to this subscription. */
5539
+ coupon_ids: components["schemas"]["FlakeId"][];
5125
5540
  /**
5126
5541
  * Format: date-time
5542
+ * @deprecated
5127
5543
  * @description Date when a repeating coupon ends for this subscription.
5128
5544
  */
5129
5545
  coupon_repeating_ends_at?: null | string;
@@ -5144,20 +5560,21 @@ export interface components {
5144
5560
  * @deprecated
5145
5561
  * @description Indicates whether this subscription is a gift.
5146
5562
  */
5147
- gift: boolean;
5563
+ readonly gift: boolean;
5564
+ gift_to_customer_id?: components["schemas"]["FlakeId"];
5148
5565
  gift_to_customer?: components["schemas"]["CustomerDto"];
5149
- product_id: components["schemas"]["FlakeId"];
5150
- product_version_id: components["schemas"]["FlakeId"];
5566
+ product_id?: components["schemas"]["FlakeId"];
5567
+ product_version_id?: components["schemas"]["FlakeId"];
5151
5568
  /**
5152
5569
  * @deprecated
5153
5570
  * @description Name of the product associated with this subscription.
5154
5571
  */
5155
- product_name: string;
5572
+ readonly product_name?: null | string;
5156
5573
  /**
5157
5574
  * @deprecated
5158
5575
  * @description URL for the product image.
5159
5576
  */
5160
- product_image_url?: null | string;
5577
+ readonly product_image_url?: null | string;
5161
5578
  /**
5162
5579
  * Format: int32
5163
5580
  * @description Numeric value of the billing interval.
@@ -5170,81 +5587,81 @@ export interface components {
5170
5587
  * @deprecated
5171
5588
  * @description Indicates whether tax is included in the base price itself.
5172
5589
  */
5173
- tax_inclusive: boolean;
5590
+ readonly tax_inclusive: boolean;
5174
5591
  /**
5175
5592
  * Format: int64
5176
5593
  * @deprecated
5177
5594
  * @description Base price of the subscription in smallest currency units (e.g., cents).
5178
5595
  */
5179
- price: number;
5596
+ readonly price: number;
5180
5597
  /**
5181
5598
  * @deprecated
5182
5599
  * @description Formatted string representation of the price.
5183
5600
  */
5184
- price_str: string;
5601
+ readonly price_str?: null | string;
5185
5602
  /**
5186
5603
  * Format: int64
5187
5604
  * @description Amount of discount applied in smallest currency units.
5188
5605
  */
5189
5606
  discount_amount: number;
5190
5607
  /** @description Formatted string representation of the discount amount. */
5191
- discount_amount_str: string;
5608
+ readonly discount_amount_str: string;
5192
5609
  /**
5193
5610
  * Format: int64
5194
5611
  * @description Subtotal amount in smallest currency units.
5195
5612
  */
5196
5613
  subtotal_amount: number;
5197
5614
  /** @description Formatted string representation of the subtotal amount. */
5198
- subtotal_amount_str: string;
5615
+ readonly subtotal_amount_str: string;
5199
5616
  /**
5200
5617
  * Format: int64
5201
5618
  * @description Tax amount in smallest currency units.
5202
5619
  */
5203
5620
  tax_amount: number;
5204
5621
  /** @description Formatted string representation of the tax amount. */
5205
- tax_amount_str: string;
5622
+ readonly tax_amount_str: string;
5206
5623
  /**
5207
5624
  * Format: int64
5208
5625
  * @description Total amount in smallest currency units.
5209
5626
  */
5210
5627
  total_amount: number;
5211
5628
  /** @description Formatted string representation of the total amount. */
5212
- total_amount_str: string;
5629
+ readonly total_amount_str: string;
5213
5630
  /**
5214
5631
  * Format: int64
5215
5632
  * @description Initial discount amount in smallest currency units for the first billing cycle.
5216
5633
  */
5217
5634
  initial_discount_amount: number;
5218
5635
  /** @description Formatted string representation of the initial discount amount. */
5219
- initial_discount_amount_str: string;
5636
+ readonly initial_discount_amount_str: string;
5220
5637
  /**
5221
5638
  * Format: int64
5222
5639
  * @description Initial subtotal amount in smallest currency units for the first billing cycle.
5223
5640
  */
5224
5641
  initial_subtotal_amount: number;
5225
5642
  /** @description Formatted string representation of the initial subtotal amount. */
5226
- initial_subtotal_amount_str: string;
5643
+ readonly initial_subtotal_amount_str: string;
5227
5644
  /**
5228
5645
  * Format: int64
5229
5646
  * @description Initial gift card usage amount in smallest currency units.
5230
5647
  */
5231
5648
  initial_giftcard_usage_amount: number;
5232
5649
  /** @description Formatted string representation of the initial gift card usage amount. */
5233
- initial_giftcard_usage_amount_str: string;
5650
+ readonly initial_giftcard_usage_amount_str: string;
5234
5651
  /**
5235
5652
  * Format: int64
5236
5653
  * @description Initial tax amount in smallest currency units for the first billing cycle.
5237
5654
  */
5238
5655
  initial_tax_amount: number;
5239
5656
  /** @description Formatted string representation of the initial tax amount. */
5240
- initial_tax_amount_str: string;
5657
+ readonly initial_tax_amount_str: string;
5241
5658
  /**
5242
5659
  * Format: int64
5243
5660
  * @description Initial total amount in smallest currency units for the first billing cycle.
5244
5661
  */
5245
5662
  initial_total_amount: number;
5246
5663
  /** @description Formatted string representation of the initial total amount. */
5247
- initial_total_amount_str: string;
5664
+ readonly initial_total_amount_str: string;
5248
5665
  /** @description Presentment currency code (currency shown to customer). */
5249
5666
  presentment_currency?: null | string;
5250
5667
  /**
@@ -5316,7 +5733,7 @@ export interface components {
5316
5733
  * @deprecated
5317
5734
  * @description Identifier for the pricing region associated with this subscription.
5318
5735
  */
5319
- pricing_region_id?: null | string;
5736
+ readonly pricing_region_id?: null | string;
5320
5737
  /**
5321
5738
  * Format: date-time
5322
5739
  * @description Start date of the current billing period.
@@ -5364,73 +5781,8 @@ export interface components {
5364
5781
  canceled_at?: null | string;
5365
5782
  /** @description Reason provided for cancellation. */
5366
5783
  cancel_reason?: null | string;
5367
- /** @description Associated subscription lines. */
5368
- readonly lines: components["schemas"]["SubscriptionLineDto"][];
5369
- };
5370
- StoreTrustDto: {
5371
- store_id: components["schemas"]["FlakeId"];
5372
- status: components["schemas"]["StoreTrustStatusDto"];
5373
- status_reason?: null | string;
5374
- restrictions: components["schemas"]["StoreRestrictionFlagDto"];
5375
- /** Format: date-time */
5376
- created_at: string;
5377
- /** Format: date-time */
5378
- updated_at?: null | string;
5379
- onboarding_steps?: components["schemas"]["StoreTrustOnboardingStepsDto"];
5380
- events: components["schemas"]["StoreTrustEventDto"][];
5381
- pending_requirements: components["schemas"]["TrustStoreRequirementDto"][];
5382
- };
5383
- StoreTrustEventDto: {
5384
- id: components["schemas"]["FlakeId"];
5385
- store_id: components["schemas"]["FlakeId"];
5386
- type: components["schemas"]["StoreTrustEventTypeDto"];
5387
- description?: null | string;
5388
- store_requirement_id?: components["schemas"]["FlakeId"];
5389
- store_review_id?: components["schemas"]["FlakeId"];
5390
- actor: components["schemas"]["ActorDto"];
5391
- /** Format: date-time */
5392
- created_at: string;
5393
- };
5394
- /** @enum {string} */
5395
- StoreTrustEventTypeDto: "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";
5396
- StoreTrustOnboardingStepsDto: {
5397
- store_id: components["schemas"]["FlakeId"];
5398
- store_owner_id: components["schemas"]["FlakeId"];
5399
- payout_onboarding_completed: boolean;
5400
- kyc_completed: boolean;
5401
- products_created: boolean;
5402
- gameserver_linked: boolean;
5403
- webhooks_active: boolean;
5404
- downloadable_files_added: boolean;
5405
- };
5406
- /** @enum {string} */
5407
- StoreTrustStatusDto: "invalid" | "pending_review" | "requires_action" | "under_review" | "active" | "restricted" | "offboarded";
5408
- /** @enum {string} */
5409
- StoreUpsellCheckoutStyleDto: "unknown" | "inline" | "inline_and_prepayment_dialog" | "dedicated_step";
5410
- StoreUpsellRecommendationDto: {
5411
- recommended_product_id: components["schemas"]["FlakeId"];
5412
- type: components["schemas"]["UpsellTypeDto"];
5413
- discount_type: components["schemas"]["UpsellDiscountTypeDto"];
5414
- /** Format: int64 */
5415
- discount_amount: number;
5416
- /** Format: int32 */
5417
- minimum_base_product_quantity?: null | number;
5418
- /** Format: int32 */
5419
- quantity_to_add?: null | number;
5420
- prefer_as_subscription: boolean;
5421
- };
5422
- StoreUpsellSettingsDto: {
5423
- enabled: boolean;
5424
- automatic_recommendations_enabled: boolean;
5425
- automatic_recommendations_discount_type: components["schemas"]["UpsellDiscountType"];
5426
- /** Format: int64 */
5427
- automatic_recommendations_discount_amount: number;
5428
- recommendation_overrides_enabled: boolean;
5429
- recommendation_overrides: components["schemas"]["StoreUpsellRecommendationDto"][];
5430
- checkout_style: components["schemas"]["StoreUpsellCheckoutStyleDto"];
5431
- /** Format: date-time */
5432
- updated_at: string;
5433
- updated_by: components["schemas"]["ActorDto"];
5784
+ /** @description Line items associated with this subscription. */
5785
+ lines: components["schemas"]["SubscriptionLineDto"][];
5434
5786
  };
5435
5787
  /** @description Represents a line item within a subscription. */
5436
5788
  SubscriptionLineDto: {
@@ -5441,6 +5793,7 @@ export interface components {
5441
5793
  /** @description Identifier for the pricing region associated with this subscription line. */
5442
5794
  pricing_region_id?: null | string;
5443
5795
  gift_to_customer_id?: components["schemas"]["FlakeId"];
5796
+ gift_to_customer?: components["schemas"]["CustomerDto"];
5444
5797
  selected_gameserver_id?: components["schemas"]["FlakeId"];
5445
5798
  sale_id?: components["schemas"]["FlakeId"];
5446
5799
  trial_id?: components["schemas"]["FlakeId"];
@@ -5592,7 +5945,7 @@ export interface components {
5592
5945
  * @description Represents the current state of a subscription.
5593
5946
  * @enum {string}
5594
5947
  */
5595
- SubscriptionStatus: "created" | "active" | "canceled";
5948
+ SubscriptionStatus: "invalid" | "created" | "active" | "canceled";
5596
5949
  TagDto: {
5597
5950
  id: components["schemas"]["FlakeId"];
5598
5951
  store_id: components["schemas"]["FlakeId"];
@@ -5920,6 +6273,7 @@ export interface components {
5920
6273
  show_all_payment_methods_for_subscriptions?: boolean;
5921
6274
  store_tax_inclusive_pricing?: boolean;
5922
6275
  block_prepaid_cards?: components["schemas"]["PrepaidCardsBlockingTypeDto"];
6276
+ promo_code_stacking_behavior?: components["schemas"]["StorePromoCodeStackingBehaviorDto"];
5923
6277
  adaptive_currency_enabled?: boolean;
5924
6278
  show_adaptive_currency_on_storefront?: boolean;
5925
6279
  };
@@ -5933,6 +6287,25 @@ export interface components {
5933
6287
  recommendation_overrides?: components["schemas"]["StoreUpsellRecommendationDto"][];
5934
6288
  checkout_style?: components["schemas"]["StoreUpsellCheckoutStyleDto"];
5935
6289
  };
6290
+ UpdateSubscriptionLineRequestDto: {
6291
+ product_id?: components["schemas"]["FlakeId"];
6292
+ product_version_id?: components["schemas"]["FlakeId"];
6293
+ /** @description Custom variable values keyed by variable name. */
6294
+ custom_variables: {
6295
+ [key: string]: string;
6296
+ };
6297
+ selected_gameserver_id?: components["schemas"]["FlakeId"];
6298
+ };
6299
+ UpdateSubscriptionRequestDto: {
6300
+ /** @description The line items describing the desired state of the subscription after the change. */
6301
+ lines: components["schemas"]["UpdateSubscriptionLineRequestDto"][];
6302
+ proration_behavior: components["schemas"]["ProrationBehaviorDto"];
6303
+ };
6304
+ /** @description Response returned after a subscription change is initiated. */
6305
+ UpdateSubscriptionResponseDto: {
6306
+ subscription_change: components["schemas"]["SubscriptionChangeDto"];
6307
+ pending_payment?: components["schemas"]["CheckoutPaymentInfoDto"];
6308
+ };
5936
6309
  UpdateTrialEligibilityOverrideDto: {
5937
6310
  product_id?: components["schemas"]["FlakeId"];
5938
6311
  /** Format: date-time */
@@ -10618,7 +10991,7 @@ export interface operations {
10618
10991
  [name: string]: unknown;
10619
10992
  };
10620
10993
  content: {
10621
- "application/json": components["schemas"]["StoreSubscriptionDto"][];
10994
+ "application/json": components["schemas"]["SubscriptionDto"][];
10622
10995
  };
10623
10996
  };
10624
10997
  /** @description Error response */
@@ -10650,7 +11023,7 @@ export interface operations {
10650
11023
  [name: string]: unknown;
10651
11024
  };
10652
11025
  content: {
10653
- "application/json": components["schemas"]["StoreSubscriptionDto"];
11026
+ "application/json": components["schemas"]["SubscriptionDto"];
10654
11027
  };
10655
11028
  };
10656
11029
  /** @description Error response */
@@ -10694,6 +11067,80 @@ export interface operations {
10694
11067
  };
10695
11068
  };
10696
11069
  };
11070
+ Subscriptions_UpdateSubscription: {
11071
+ parameters: {
11072
+ query?: never;
11073
+ header?: never;
11074
+ path: {
11075
+ subscriptionId: components["schemas"]["FlakeId"];
11076
+ };
11077
+ cookie?: never;
11078
+ };
11079
+ requestBody?: {
11080
+ content: {
11081
+ "application/json": components["schemas"]["UpdateSubscriptionRequestDto"];
11082
+ "text/json": components["schemas"]["UpdateSubscriptionRequestDto"];
11083
+ "application/*+json": components["schemas"]["UpdateSubscriptionRequestDto"];
11084
+ };
11085
+ };
11086
+ responses: {
11087
+ /** @description OK */
11088
+ 200: {
11089
+ headers: {
11090
+ [name: string]: unknown;
11091
+ };
11092
+ content: {
11093
+ "application/json": components["schemas"]["UpdateSubscriptionResponseDto"];
11094
+ };
11095
+ };
11096
+ /** @description Error response */
11097
+ default: {
11098
+ headers: {
11099
+ [name: string]: unknown;
11100
+ };
11101
+ content: {
11102
+ "application/json": components["schemas"]["PayNowError"];
11103
+ };
11104
+ };
11105
+ };
11106
+ };
11107
+ Subscriptions_PreviewSubscriptionChange: {
11108
+ parameters: {
11109
+ query?: never;
11110
+ header?: never;
11111
+ path: {
11112
+ subscriptionId: components["schemas"]["FlakeId"];
11113
+ };
11114
+ cookie?: never;
11115
+ };
11116
+ requestBody?: {
11117
+ content: {
11118
+ "application/json": components["schemas"]["UpdateSubscriptionRequestDto"];
11119
+ "text/json": components["schemas"]["UpdateSubscriptionRequestDto"];
11120
+ "application/*+json": components["schemas"]["UpdateSubscriptionRequestDto"];
11121
+ };
11122
+ };
11123
+ responses: {
11124
+ /** @description OK */
11125
+ 200: {
11126
+ headers: {
11127
+ [name: string]: unknown;
11128
+ };
11129
+ content: {
11130
+ "application/json": components["schemas"]["UpdateSubscriptionResponseDto"];
11131
+ };
11132
+ };
11133
+ /** @description Error response */
11134
+ default: {
11135
+ headers: {
11136
+ [name: string]: unknown;
11137
+ };
11138
+ content: {
11139
+ "application/json": components["schemas"]["PayNowError"];
11140
+ };
11141
+ };
11142
+ };
11143
+ };
10697
11144
  Tags_GetTags: {
10698
11145
  parameters: {
10699
11146
  query?: never;
@@ -11966,6 +12413,14 @@ export declare const operationMappings: {
11966
12413
  readonly method: "POST";
11967
12414
  readonly path: "/v1/stores/{storeId}/subscriptions/{subscriptionId}/cancel";
11968
12415
  };
12416
+ readonly Subscriptions_UpdateSubscription: {
12417
+ readonly method: "POST";
12418
+ readonly path: "/v1/stores/{storeId}/subscriptions/{subscriptionId}/change";
12419
+ };
12420
+ readonly Subscriptions_PreviewSubscriptionChange: {
12421
+ readonly method: "POST";
12422
+ readonly path: "/v1/stores/{storeId}/subscriptions/{subscriptionId}/change/preview";
12423
+ };
11969
12424
  readonly Tags_GetTags: {
11970
12425
  readonly method: "GET";
11971
12426
  readonly path: "/v1/stores/{storeId}/tags";