@raideno/convex-stripe 0.1.4 → 0.1.6

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.
package/dist/server.js CHANGED
@@ -856,7 +856,7 @@ class ConvexError extends (_b = Error, _a = IDENTIFYING_FIELD, _b) {
856
856
  this.data = data;
857
857
  }
858
858
  }
859
- const version = "1.27.0";
859
+ const version = "1.27.1";
860
860
  function performSyscall(op, arg) {
861
861
  if (typeof Convex === "undefined" || Convex.syscall === void 0) {
862
862
  throw new Error(
@@ -2779,7 +2779,66 @@ const buildRedirectImplementation = (configuration) => httpActionGeneric(async (
2779
2779
  });
2780
2780
  const CheckoutSessionStripeToConvex = (session) => {
2781
2781
  const object = {
2782
- ...session,
2782
+ id: session.id,
2783
+ automatic_tax: session.automatic_tax,
2784
+ client_reference_id: session.client_reference_id || null,
2785
+ currency: session.currency || null,
2786
+ customer_email: session.customer_email || null,
2787
+ metadata: session.metadata,
2788
+ mode: session.mode,
2789
+ payment_status: session.payment_status,
2790
+ return_url: session.return_url || null,
2791
+ status: session.status || null,
2792
+ success_url: session.success_url || null,
2793
+ ui_mode: session.ui_mode || null,
2794
+ url: session.url || null,
2795
+ object: session.object,
2796
+ adaptive_pricing: session.adaptive_pricing || null,
2797
+ after_expiration: session.after_expiration || null,
2798
+ allow_promotion_codes: typeof session.allow_promotion_codes === "boolean" ? session.allow_promotion_codes : null,
2799
+ amount_subtotal: session.amount_subtotal ?? null,
2800
+ amount_total: session.amount_total ?? null,
2801
+ billing_address_collection: session.billing_address_collection || null,
2802
+ cancel_url: session.cancel_url || null,
2803
+ client_secret: session.client_secret || null,
2804
+ collected_information: session.collected_information || null,
2805
+ consent: session.consent || null,
2806
+ consent_collection: session.consent_collection || null,
2807
+ created: session.created,
2808
+ currency_conversion: session.currency_conversion || null,
2809
+ custom_fields: session.custom_fields || [],
2810
+ // custom_text: session.custom_text || null,
2811
+ custom_text: session.custom_text || {},
2812
+ customer_creation: session.customer_creation || null,
2813
+ customer_details: session.customer_details || null,
2814
+ discounts: session.discounts || null,
2815
+ expires_at: session.expires_at,
2816
+ invoice_creation: session.invoice_creation || null,
2817
+ livemode: session.livemode,
2818
+ locale: session.locale || null,
2819
+ optional_items: session.optional_items || null,
2820
+ origin_context: session.origin_context || null,
2821
+ payment_method_collection: session.payment_method_collection || null,
2822
+ payment_method_configuration_details: session.payment_method_configuration_details || null,
2823
+ payment_method_options: session.payment_method_options || null,
2824
+ payment_method_types: session.payment_method_types,
2825
+ permissions: session.permissions || null,
2826
+ phone_number_collection: session.phone_number_collection || null,
2827
+ presentment_details: session.presentment_details || null,
2828
+ recovered_from: session.recovered_from || null,
2829
+ redirect_on_completion: session.redirect_on_completion || null,
2830
+ saved_payment_method_options: session.saved_payment_method_options || null,
2831
+ shipping_address_collection: session.shipping_address_collection || null,
2832
+ shipping_cost: session.shipping_cost || null,
2833
+ shipping_options: session.shipping_options || [],
2834
+ submit_type: session.submit_type || null,
2835
+ tax_id_collection: session.tax_id_collection || null,
2836
+ total_details: session.total_details || null,
2837
+ wallet_options: session.wallet_options || null,
2838
+ // References
2839
+ // Some of these can be expanded objects or just IDs, we store only the ID in Convex
2840
+ // see https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer
2841
+ // for more details
2783
2842
  subscription: typeof session.subscription === "string" ? session.subscription : session.subscription?.id || null,
2784
2843
  customer: typeof session.customer === "string" ? session.customer : session.customer?.id || null,
2785
2844
  line_items: Array.isArray(session.line_items) ? session.line_items : session.line_items?.data || null,
@@ -3764,13 +3823,13 @@ const ChargeSchema = {
3764
3823
  // payment_method_details: optionalnullableobject({
3765
3824
  // // TODO: complete
3766
3825
  // }),
3767
- payment_method_details: v.any(),
3826
+ payment_method_details: v.optional(v.any()),
3768
3827
  receipt_email: v.optional(nullablestring()),
3769
3828
  refunded: v.boolean(),
3770
3829
  // shipping: optionalnullableobject({
3771
3830
  // // TODO: complete
3772
3831
  // }),
3773
- shipping: v.any(),
3832
+ shipping: v.optional(v.any()),
3774
3833
  statement_descriptor: v.optional(nullablestring()),
3775
3834
  statement_descriptor_suffix: v.optional(nullablestring()),
3776
3835
  status: v.union(
@@ -3793,40 +3852,40 @@ const ChargeSchema = {
3793
3852
  // fraud_details: optionalnullableobject({
3794
3853
  // // TODO: complete
3795
3854
  // }),
3796
- fraud_details: v.any(),
3855
+ fraud_details: v.optional(v.any()),
3797
3856
  livemode: v.boolean(),
3798
3857
  on_behalf_of: v.optional(nullablestring()),
3799
3858
  // outcome: optionalnullableobject({
3800
3859
  // // TODO: complete
3801
3860
  // }),
3802
- outcome: v.any(),
3861
+ outcome: v.optional(v.any()),
3803
3862
  paid: v.boolean(),
3804
3863
  payment_method: v.optional(nullablestring()),
3805
3864
  // presentment_details: optionalnullableobject({
3806
3865
  // // TODO: complete
3807
3866
  // }),
3808
- presentment_details: v.any(),
3867
+ presentment_details: v.optional(v.any()),
3809
3868
  // radar_options: optionalnullableobject({
3810
3869
  // // TODO: complete
3811
3870
  // }),
3812
- radar_options: v.any(),
3871
+ radar_options: v.optional(v.any()),
3813
3872
  receipt_number: v.optional(nullablestring()),
3814
3873
  receipt_url: v.optional(nullablestring()),
3815
3874
  // refunds: optionalnullableobject({
3816
3875
  // // TODO: complete
3817
3876
  // }),
3818
- refunds: v.any(),
3877
+ refunds: v.optional(v.any()),
3819
3878
  review: v.optional(nullablestring()),
3820
3879
  source_transfer: v.optional(nullablestring()),
3821
3880
  transfer: v.optional(nullablestring()),
3822
3881
  // transfer_data: optionalnullableobject({
3823
3882
  // // TODO: complete
3824
3883
  // }),
3825
- transfer_data: v.any(),
3884
+ transfer_data: v.optional(v.any()),
3826
3885
  // transfer_group: optionalnullableobject({
3827
3886
  // // TODO: complete
3828
3887
  // }),
3829
- transfer_group: v.any()
3888
+ transfer_group: v.optional(v.any())
3830
3889
  };
3831
3890
  v.object(ChargeSchema);
3832
3891
  const ChargesSyncImplementation = defineActionImplementation({
@@ -3950,8 +4009,25 @@ const __vite_glob_0_1$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
3950
4009
  }, Symbol.toStringTag, { value: "Module" }));
3951
4010
  const CouponStripeToConvex = (coupon) => {
3952
4011
  const object = {
3953
- ...coupon,
3954
- currency: coupon.currency || void 0
4012
+ id: coupon.id,
4013
+ amount_off: coupon.amount_off ?? null,
4014
+ currency: coupon.currency ?? null,
4015
+ duration: coupon.duration,
4016
+ metadata: coupon.metadata,
4017
+ name: coupon.name ?? null,
4018
+ percent_off: coupon.percent_off ?? null,
4019
+ object: coupon.object,
4020
+ applies_to: coupon.applies_to ? {
4021
+ products: coupon.applies_to.products
4022
+ } : null,
4023
+ created: coupon.created,
4024
+ currency_options: coupon.currency_options ?? null,
4025
+ duration_in_months: coupon.duration_in_months ?? null,
4026
+ livemode: coupon.livemode,
4027
+ max_redemptions: coupon.max_redemptions ?? null,
4028
+ redeem_by: coupon.redeem_by ?? null,
4029
+ times_redeemed: coupon.times_redeemed,
4030
+ valid: coupon.valid
3955
4031
  };
3956
4032
  return object;
3957
4033
  };
@@ -4168,13 +4244,13 @@ const CreditNoteSchema = {
4168
4244
  // shipping_cost: optionalnullableobject({
4169
4245
  // // TODO: complete
4170
4246
  // }),
4171
- shipping_cost: v.any(),
4247
+ shipping_cost: v.optional(v.any()),
4172
4248
  subtotal_excluding_tax: v.optional(nullablenumber()),
4173
4249
  total_excluding_tax: v.optional(nullablenumber()),
4174
4250
  // total_taxes: optionalnullableobject({
4175
4251
  // // TODO: complete
4176
4252
  // }),
4177
- total_taxes: v.any(),
4253
+ total_taxes: v.optional(v.any()),
4178
4254
  type: v.union(
4179
4255
  v.literal("mixed"),
4180
4256
  v.literal("post_payment"),
@@ -4243,7 +4319,39 @@ const __vite_glob_0_3$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
4243
4319
  }, Symbol.toStringTag, { value: "Module" }));
4244
4320
  const CustomerStripeToConvex = (customer) => {
4245
4321
  const object = {
4246
- ...customer,
4322
+ id: customer.id,
4323
+ address: customer.address ? {
4324
+ city: customer.address.city ?? null,
4325
+ country: customer.address.country ?? null,
4326
+ line1: customer.address.line1 ?? null,
4327
+ line2: customer.address.line2 ?? null,
4328
+ postal_code: customer.address.postal_code ?? null,
4329
+ state: customer.address.state ?? null
4330
+ } : null,
4331
+ description: customer.description ?? null,
4332
+ email: customer.email ?? null,
4333
+ metadata: customer.metadata,
4334
+ name: customer.name ?? null,
4335
+ phone: customer.phone ?? null,
4336
+ shipping: customer.shipping,
4337
+ tax: customer.tax,
4338
+ object: customer.object,
4339
+ balance: customer.balance,
4340
+ cash_balance: customer.cash_balance ?? null,
4341
+ created: customer.created,
4342
+ currency: customer.currency ?? null,
4343
+ delinquent: typeof customer.delinquent === "boolean" ? customer.delinquent : null,
4344
+ discount: customer.discount ?? null,
4345
+ invoice_credit_balance: customer.invoice_credit_balance,
4346
+ invoice_prefix: customer.invoice_prefix ?? null,
4347
+ invoice_settings: customer.invoice_settings ?? {},
4348
+ livemode: customer.livemode,
4349
+ next_invoice_sequence: customer.next_invoice_sequence ?? null,
4350
+ preferred_locales: customer.preferred_locales ?? null,
4351
+ sources: customer.sources ?? null,
4352
+ subscriptions: customer.subscriptions ?? null,
4353
+ tax_exempt: customer.tax_exempt === "exempt" || customer.tax_exempt === "none" || customer.tax_exempt === "reverse" ? customer.tax_exempt : null,
4354
+ tax_ids: customer.tax_ids ?? null,
4247
4355
  default_source: typeof customer.default_source === "string" ? customer.default_source : customer.default_source?.id,
4248
4356
  test_clock: typeof customer.test_clock === "string" ? customer.test_clock : customer.test_clock?.id
4249
4357
  };
@@ -4504,7 +4612,7 @@ const DisputeSchema = {
4504
4612
  // payment_method_details: optionalnullableobject({
4505
4613
  // // TODO: complete
4506
4614
  // }),
4507
- payment_method_details: v.any()
4615
+ payment_method_details: v.optional(v.any())
4508
4616
  };
4509
4617
  v.object(DisputeSchema);
4510
4618
  const DisputesSyncImplementation = defineActionImplementation({
@@ -5139,7 +5247,7 @@ const PaymentMethodSchema = {
5139
5247
  // billing_details: optionalnullableobject({
5140
5248
  // // TODO: complete
5141
5249
  // }),
5142
- billing_details: v.any(),
5250
+ billing_details: v.optional(v.any()),
5143
5251
  customer: v.optional(nullablestring()),
5144
5252
  metadata: v.optional(v.union(metadata(), v.null())),
5145
5253
  type: v.string(),
@@ -5147,19 +5255,19 @@ const PaymentMethodSchema = {
5147
5255
  // acss_debit: optionalnullableobject({
5148
5256
  // // TODO: complete
5149
5257
  // }),
5150
- acss_debit: v.any(),
5258
+ acss_debit: v.optional(v.any()),
5151
5259
  // affirm: optionalnullableobject({
5152
5260
  // // TODO: complete
5153
5261
  // }),
5154
- affirm: v.any(),
5262
+ affirm: v.optional(v.any()),
5155
5263
  // afterpay_clearpay: optionalnullableobject({
5156
5264
  // // TODO: complete
5157
5265
  // }),
5158
- afterpay_clearpay: v.any(),
5266
+ afterpay_clearpay: v.optional(v.any()),
5159
5267
  // alipay: optionalnullableobject({
5160
5268
  // // TODO: complete
5161
5269
  // }),
5162
- alipay: v.any(),
5270
+ alipay: v.optional(v.any()),
5163
5271
  allow_redisplay: v.union(
5164
5272
  v.literal("always"),
5165
5273
  v.literal("limited"),
@@ -5169,193 +5277,193 @@ const PaymentMethodSchema = {
5169
5277
  // alma: optionalnullableobject({
5170
5278
  // // TODO: complete
5171
5279
  // }),
5172
- alma: v.any(),
5280
+ alma: v.optional(v.any()),
5173
5281
  // amazon_pay: optionalnullableobject({
5174
5282
  // // TODO: complete
5175
5283
  // }),
5176
- amazon_pay: v.any(),
5284
+ amazon_pay: v.optional(v.any()),
5177
5285
  // au_becs_debit: optionalnullableobject({
5178
5286
  // // TODO: complete
5179
5287
  // }),
5180
- au_becs_debit: v.any(),
5288
+ au_becs_debit: v.optional(v.any()),
5181
5289
  // bacs_debit: optionalnullableobject({
5182
5290
  // // TODO: complete
5183
5291
  // }),
5184
- bacs_debit: v.any(),
5292
+ bacs_debit: v.optional(v.any()),
5185
5293
  // bancontact: optionalnullableobject({
5186
5294
  // // TODO: complete
5187
5295
  // }),
5188
- bancontact: v.any(),
5296
+ bancontact: v.optional(v.any()),
5189
5297
  // billie: optionalnullableobject({
5190
5298
  // // TODO: complete
5191
5299
  // }),
5192
- billie: v.any(),
5300
+ billie: v.optional(v.any()),
5193
5301
  // blik: optionalnullableobject({
5194
5302
  // // TODO: complete
5195
5303
  // }),
5196
- blik: v.any(),
5304
+ blik: v.optional(v.any()),
5197
5305
  // boleto: optionalnullableobject({
5198
5306
  // // TODO: complete
5199
5307
  // }),
5200
- boleto: v.any(),
5308
+ boleto: v.optional(v.any()),
5201
5309
  // card: optionalnullableobject({
5202
5310
  // // TODO: complete
5203
5311
  // }),
5204
- card: v.any(),
5312
+ card: v.optional(v.any()),
5205
5313
  // card_present: optionalnullableobject({
5206
5314
  // // TODO: complete
5207
5315
  // }),
5208
- card_present: v.any(),
5316
+ card_present: v.optional(v.any()),
5209
5317
  // cashapp: optionalnullableobject({
5210
5318
  // // TODO: complete
5211
5319
  // }),
5212
- cashapp: v.any(),
5320
+ cashapp: v.optional(v.any()),
5213
5321
  created: v.number(),
5214
5322
  // crypto: optionalnullableobject({
5215
5323
  // // TODO: complete
5216
5324
  // }),
5217
- crypto: v.any(),
5325
+ crypto: v.optional(v.any()),
5218
5326
  // customer_balance: optionalnullableobject({
5219
5327
  // // TODO: complete
5220
5328
  // }),
5221
- customer_balance: v.any(),
5329
+ customer_balance: v.optional(v.any()),
5222
5330
  // eps: optionalnullableobject({
5223
5331
  // // TODO: complete
5224
5332
  // }),
5225
- eps: v.any(),
5333
+ eps: v.optional(v.any()),
5226
5334
  // fpx: optionalnullableobject({
5227
5335
  // // TODO: complete
5228
5336
  // }),
5229
- fpx: v.any(),
5337
+ fpx: v.optional(v.any()),
5230
5338
  // giropay: optionalnullableobject({
5231
5339
  // // TODO: complete
5232
5340
  // }),
5233
- giropay: v.any(),
5341
+ giropay: v.optional(v.any()),
5234
5342
  // grabpay: optionalnullableobject({
5235
5343
  // // TODO: complete
5236
5344
  // }),
5237
- grabpay: v.any(),
5345
+ grabpay: v.optional(v.any()),
5238
5346
  // ideal: optionalnullableobject({
5239
5347
  // // TODO: complete
5240
5348
  // }),
5241
- ideal: v.any(),
5349
+ ideal: v.optional(v.any()),
5242
5350
  // interac_present: optionalnullableobject({
5243
5351
  // // TODO: complete
5244
5352
  // }),
5245
- interac_present: v.any(),
5353
+ interac_present: v.optional(v.any()),
5246
5354
  // kakao_pay: optionalnullableobject({
5247
5355
  // // TODO: complete
5248
5356
  // }),
5249
- kakao_pay: v.any(),
5357
+ kakao_pay: v.optional(v.any()),
5250
5358
  // klarna: optionalnullableobject({
5251
5359
  // // TODO: complete
5252
5360
  // }),
5253
- klarna: v.any(),
5361
+ klarna: v.optional(v.any()),
5254
5362
  // konbini: optionalnullableobject({
5255
5363
  // // TODO: complete
5256
5364
  // }),
5257
- konbini: v.any(),
5365
+ konbini: v.optional(v.any()),
5258
5366
  // kr_card: optionalnullableobject({
5259
5367
  // // TODO: complete
5260
5368
  // }),
5261
- kr_card: v.any(),
5369
+ kr_card: v.optional(v.any()),
5262
5370
  // link: optionalnullableobject({
5263
5371
  // // TODO: complete
5264
5372
  // }),
5265
- link: v.any(),
5373
+ link: v.optional(v.any()),
5266
5374
  livemode: v.boolean(),
5267
5375
  // mobilepay: optionalnullableobject({
5268
5376
  // // TODO: complete
5269
5377
  // }),
5270
- mobilepay: v.any(),
5378
+ mobilepay: v.optional(v.any()),
5271
5379
  // multibanco: optionalnullableobject({
5272
5380
  // // TODO: complete
5273
5381
  // }),
5274
- multibanco: v.any(),
5382
+ multibanco: v.optional(v.any()),
5275
5383
  // naver_pay: optionalnullableobject({
5276
5384
  // // TODO: complete
5277
5385
  // }),
5278
- naver_pay: v.any(),
5386
+ naver_pay: v.optional(v.any()),
5279
5387
  // nz_bank_account: optionalnullableobject({
5280
5388
  // // TODO: complete
5281
5389
  // }),
5282
- nz_bank_account: v.any(),
5390
+ nz_bank_account: v.optional(v.any()),
5283
5391
  // oxxo: optionalnullableobject({
5284
5392
  // // TODO: complete
5285
5393
  // }),
5286
- oxxo: v.any(),
5394
+ oxxo: v.optional(v.any()),
5287
5395
  // p24: optionalnullableobject({
5288
5396
  // // TODO: complete
5289
5397
  // }),
5290
- p24: v.any(),
5398
+ p24: v.optional(v.any()),
5291
5399
  // pay_by_bank: optionalnullableobject({
5292
5400
  // // TODO: complete
5293
5401
  // }),
5294
- pay_by_bank: v.any(),
5402
+ pay_by_bank: v.optional(v.any()),
5295
5403
  // payco: optionalnullableobject({
5296
5404
  // // TODO: complete
5297
5405
  // }),
5298
- payco: v.any(),
5406
+ payco: v.optional(v.any()),
5299
5407
  // paynow: optionalnullableobject({
5300
5408
  // // TODO: complete
5301
5409
  // }),
5302
- paynow: v.any(),
5410
+ paynow: v.optional(v.any()),
5303
5411
  // paypal: optionalnullableobject({
5304
5412
  // // TODO: complete
5305
5413
  // }),
5306
- paypal: v.any(),
5414
+ paypal: v.optional(v.any()),
5307
5415
  // pix: optionalnullableobject({
5308
5416
  // // TODO: complete
5309
5417
  // }),
5310
- pix: v.any(),
5418
+ pix: v.optional(v.any()),
5311
5419
  // promptpay: optionalnullableobject({
5312
5420
  // // TODO: complete
5313
5421
  // }),
5314
- promptpay: v.any(),
5422
+ promptpay: v.optional(v.any()),
5315
5423
  // radar_options: optionalnullableobject({
5316
5424
  // // TODO: complete
5317
5425
  // }),
5318
- radar_options: v.any(),
5426
+ radar_options: v.optional(v.any()),
5319
5427
  // revolut_pay: optionalnullableobject({
5320
5428
  // // TODO: complete
5321
5429
  // }),
5322
- revolut_pay: v.any(),
5430
+ revolut_pay: v.optional(v.any()),
5323
5431
  // samsung_pay: optionalnullableobject({
5324
5432
  // // TODO: complete
5325
5433
  // }),
5326
- samsung_pay: v.any(),
5434
+ samsung_pay: v.optional(v.any()),
5327
5435
  // satispay: optionalnullableobject({
5328
5436
  // // TODO: complete
5329
5437
  // }),
5330
- satispay: v.any(),
5438
+ satispay: v.optional(v.any()),
5331
5439
  // sepa_debit: optionalnullableobject({
5332
5440
  // // TODO: complete
5333
5441
  // }),
5334
- sepa_debit: v.any(),
5442
+ sepa_debit: v.optional(v.any()),
5335
5443
  // sofort: optionalnullableobject({
5336
5444
  // // TODO: complete
5337
5445
  // }),
5338
- sofort: v.any(),
5446
+ sofort: v.optional(v.any()),
5339
5447
  // swish: optionalnullableobject({
5340
5448
  // // TODO: complete
5341
5449
  // }),
5342
- swish: v.any(),
5450
+ swish: v.optional(v.any()),
5343
5451
  // twint: optionalnullableobject({
5344
5452
  // // TODO: complete
5345
5453
  // }),
5346
- twint: v.any(),
5454
+ twint: v.optional(v.any()),
5347
5455
  // us_bank_account: optionalnullableobject({
5348
5456
  // // TODO: complete
5349
5457
  // }),
5350
- us_bank_account: v.any(),
5458
+ us_bank_account: v.optional(v.any()),
5351
5459
  // wechat_pay: optionalnullableobject({
5352
5460
  // // TODO: complete
5353
5461
  // }),
5354
- wechat_pay: v.any(),
5462
+ wechat_pay: v.optional(v.any()),
5355
5463
  // zip: optionalnullableobject({
5356
5464
  // // TODO: complete
5357
5465
  // }),
5358
- zip: v.any()
5466
+ zip: v.optional(v.any())
5359
5467
  };
5360
5468
  v.object(PaymentMethodSchema);
5361
5469
  const PaymentMethodsSyncImplementation = defineActionImplementation({
@@ -5421,7 +5529,26 @@ const __vite_glob_0_9$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.d
5421
5529
  }, Symbol.toStringTag, { value: "Module" }));
5422
5530
  const PayoutStripeToConvex = (payout) => {
5423
5531
  const object = {
5424
- ...payout,
5532
+ id: payout.id,
5533
+ amount: payout.amount,
5534
+ arrival_date: payout.arrival_date,
5535
+ application_fee: typeof payout.application_fee === "string" ? payout.application_fee : payout.application_fee?.id || null,
5536
+ application_fee_amount: payout.application_fee_amount ?? null,
5537
+ automatic: payout.automatic,
5538
+ created: payout.created,
5539
+ description: payout.description ?? null,
5540
+ failure_code: payout.failure_code ?? null,
5541
+ failure_message: payout.failure_message ?? null,
5542
+ livemode: payout.livemode,
5543
+ metadata: payout.metadata,
5544
+ method: payout.method,
5545
+ object: payout.object,
5546
+ payout_method: payout.payout_method ?? null,
5547
+ reconciliation_status: payout.reconciliation_status,
5548
+ source_type: payout.source_type,
5549
+ status: payout.status,
5550
+ trace_id: payout.trace_id,
5551
+ type: payout.type,
5425
5552
  original_payout: typeof payout.original_payout === "string" ? payout.original_payout : payout.original_payout?.id || null,
5426
5553
  reversed_by: typeof payout.reversed_by === "string" ? payout.reversed_by : payout.reversed_by?.id || null,
5427
5554
  destination: typeof payout.destination === "string" ? payout.destination : payout.destination?.id || null,
@@ -5442,7 +5569,7 @@ const PayoutSchema = {
5442
5569
  statement_descriptor: v.optional(nullablestring()),
5443
5570
  status: v.string(),
5444
5571
  object: v.string(),
5445
- application_only: v.optional(nullablestring()),
5572
+ application_fee: v.optional(nullablestring()),
5446
5573
  application_fee_amount: v.optional(nullablenumber()),
5447
5574
  automatic: v.boolean(),
5448
5575
  balance_transaction: v.optional(nullablestring()),
@@ -5481,7 +5608,8 @@ const PayoutSchema = {
5481
5608
  v.union(
5482
5609
  v.literal("completed"),
5483
5610
  v.literal("in_progress"),
5484
- v.literal("not_applicable")
5611
+ v.literal("not_applicable"),
5612
+ v.null()
5485
5613
  )
5486
5614
  ),
5487
5615
  reversed_by: v.optional(nullablestring()),
@@ -5920,12 +6048,19 @@ const __vite_glob_0_13$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
5920
6048
  }, Symbol.toStringTag, { value: "Module" }));
5921
6049
  const PromotionCodeStripeToConvex = (promotionCode) => {
5922
6050
  const object = {
5923
- ...promotionCode,
6051
+ id: promotionCode.id,
6052
+ code: promotionCode.code,
6053
+ metadata: promotionCode.metadata,
6054
+ object: promotionCode.object,
6055
+ active: promotionCode.active,
6056
+ created: promotionCode.created,
6057
+ expires_at: promotionCode.expires_at ?? null,
6058
+ livemode: promotionCode.livemode,
6059
+ max_redemptions: promotionCode.max_redemptions ?? null,
6060
+ restrictions: promotionCode.restrictions,
6061
+ times_redeemed: promotionCode.times_redeemed,
5924
6062
  customer: typeof promotionCode.customer === "string" ? promotionCode.customer : promotionCode.customer?.id || null,
5925
- coupon: {
5926
- ...promotionCode.coupon,
5927
- currency: promotionCode.coupon.currency
5928
- }
6063
+ coupon: promotionCode.coupon
5929
6064
  };
5930
6065
  return object;
5931
6066
  };
@@ -6026,7 +6161,21 @@ const __vite_glob_0_14$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.
6026
6161
  }, Symbol.toStringTag, { value: "Module" }));
6027
6162
  const RefundStripeToConvex = (refund) => {
6028
6163
  const object = {
6029
- ...refund,
6164
+ id: refund.id,
6165
+ amount: refund.amount,
6166
+ created: refund.created,
6167
+ currency: refund.currency,
6168
+ description: refund.description,
6169
+ failure_reason: refund.failure_reason,
6170
+ instructions_email: refund.instructions_email,
6171
+ metadata: refund.metadata,
6172
+ next_action: refund.next_action,
6173
+ object: refund.object,
6174
+ pending_reason: refund.pending_reason,
6175
+ receipt_number: refund.receipt_number,
6176
+ reason: refund.reason,
6177
+ status: refund.status,
6178
+ destination_details: refund.destination_details,
6030
6179
  charge: typeof refund.charge === "string" ? refund.charge : refund.charge?.id,
6031
6180
  balance_transaction: typeof refund.balance_transaction === "string" ? refund.balance_transaction : refund.balance_transaction?.id || null,
6032
6181
  failure_balance_transaction: typeof refund.failure_balance_transaction === "string" ? refund.failure_balance_transaction : refund.failure_balance_transaction?.id || null,
@@ -6295,12 +6444,12 @@ const SetupIntentSchema = {
6295
6444
  // last_setup_error: optionalnullableobject({
6296
6445
  // // TODO: complete
6297
6446
  // }),
6298
- last_setup_error: v.any(),
6447
+ last_setup_error: v.optional(v.any()),
6299
6448
  metadata: v.optional(v.union(metadata(), v.null())),
6300
6449
  // next_action: optionalnullableobject({
6301
6450
  // // TODO: complete
6302
6451
  // }),
6303
- next_action: v.any(),
6452
+ next_action: v.optional(v.any()),
6304
6453
  payment_method: v.optional(nullablestring()),
6305
6454
  status: v.union(
6306
6455
  v.literal("canceled"),
@@ -6338,7 +6487,7 @@ const SetupIntentSchema = {
6338
6487
  // payment_method_options: optionalnullableobject({
6339
6488
  // // TODO: complete
6340
6489
  // }),
6341
- payment_method_options: v.any(),
6490
+ payment_method_options: v.optional(v.any()),
6342
6491
  payment_method_types: v.array(v.string()),
6343
6492
  single_use_mandate: v.optional(nullablestring())
6344
6493
  };
@@ -6462,7 +6611,7 @@ const SubscriptionScheduleSchema = {
6462
6611
  // phases: optionalnullableobject({
6463
6612
  // // TODO: complete
6464
6613
  // }),
6465
- phases: v.any(),
6614
+ phases: v.optional(v.any()),
6466
6615
  status: v.union(
6467
6616
  v.literal("active"),
6468
6617
  v.literal("canceled"),
@@ -6610,63 +6759,29 @@ const SubscriptionsSyncImplementation = defineActionImplementation({
6610
6759
  expand: ["data.default_payment_method", "data.customer"]
6611
6760
  }).autoPagingToArray({ limit: 1e4 });
6612
6761
  for (const subscription of subscriptions) {
6613
- if (typeof subscription.customer !== "string" && !subscription.customer.deleted && !Object.keys(subscription.customer.metadata).includes("entityId")) {
6614
- configuration.logger.error(
6615
- `Skipping subscription ${subscription.id} because it has no entityId metadata. This is due to the subscription being created outside of the checkout flow created by convex-stripe.`
6616
- );
6617
- continue;
6618
- }
6619
- if (typeof subscription.customer !== "string" && subscription.customer.deleted) {
6620
- await storeDispatchTyped(
6621
- {
6622
- operation: "deleteById",
6623
- table: "stripe_customers",
6624
- idField: "customerId",
6625
- idValue: subscription.customer.id
6626
- },
6627
- context,
6628
- configuration
6629
- );
6630
- } else if (typeof subscription.customer !== "string" && !subscription.customer.deleted) {
6631
- const customer = subscription.customer;
6632
- const entityId = subscription.customer.metadata["entityId"];
6633
- const customerId = subscription.customer.id;
6634
- await storeDispatchTyped(
6635
- {
6636
- operation: "upsert",
6637
- table: "stripe_customers",
6638
- idField: "entityId",
6639
- data: {
6640
- entityId,
6641
- customerId,
6642
- stripe: CustomerStripeToConvex(customer),
6643
- last_synced_at: Date.now()
6644
- }
6645
- },
6646
- context,
6647
- configuration
6648
- );
6649
- await storeDispatchTyped(
6650
- {
6651
- operation: "upsert",
6652
- table: "stripe_subscriptions",
6653
- idField: "customerId",
6654
- data: {
6655
- customerId,
6656
- subscriptionId: subscription.id,
6657
- stripe: SubscriptionStripeToConvex(subscription),
6658
- last_synced_at: Date.now()
6659
- }
6660
- },
6661
- context,
6662
- configuration
6663
- );
6664
- } else {
6665
- configuration.logger.error(
6666
- `Skipping subscription ${subscription.id} because it has no entityId metadata. This is due to the subscription being created outside of the checkout flow created by convex-stripe.`
6762
+ const customer = subscription.customer;
6763
+ const customerId = typeof subscription.customer === "string" ? subscription.customer : subscription.customer.id;
6764
+ const entityId = typeof customer !== "string" && "metadata" in customer ? customer.metadata["entityId"] : null;
6765
+ if (!entityId) {
6766
+ configuration.logger.warn(
6767
+ `Subscription (${subscription.id}) don't have any entityId associated with it. This can be due to the subscription being created outside of convex-stripe's checkout flow.`
6667
6768
  );
6668
- continue;
6669
6769
  }
6770
+ await storeDispatchTyped(
6771
+ {
6772
+ operation: "upsert",
6773
+ table: "stripe_subscriptions",
6774
+ idField: "customerId",
6775
+ data: {
6776
+ customerId,
6777
+ subscriptionId: subscription.id,
6778
+ stripe: SubscriptionStripeToConvex(subscription),
6779
+ last_synced_at: Date.now()
6780
+ }
6781
+ },
6782
+ context,
6783
+ configuration
6784
+ );
6670
6785
  }
6671
6786
  const localSubsResponse = await storeDispatchTyped(
6672
6787
  { operation: "selectAll", table: "stripe_subscriptions" },
@@ -6848,15 +6963,17 @@ const SyncAllImplementation = defineActionImplementation({
6848
6963
  args: v.object({}),
6849
6964
  name: "sync",
6850
6965
  handler: async (context, args, configuration) => {
6851
- for (const handler of HANDLERS$1) {
6852
- try {
6853
- await handler.handler(context, {}, configuration);
6854
- } catch (error) {
6855
- configuration.logger.error(
6856
- `[STRIPE SYNC ${handler.name}](Error): ${error}`
6857
- );
6858
- }
6859
- }
6966
+ await Promise.all(
6967
+ HANDLERS$1.map(async (handler) => {
6968
+ try {
6969
+ await handler.handler(context, {}, configuration);
6970
+ } catch (error) {
6971
+ configuration.logger.error(
6972
+ `[STRIPE SYNC ${handler.name}](Error): ${error}`
6973
+ );
6974
+ }
6975
+ })
6976
+ );
6860
6977
  }
6861
6978
  });
6862
6979
  function defineWebhookHandler(handler) {