@paykit-sdk/gopay 1.0.0 → 1.0.4

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/index.mjs CHANGED
@@ -4050,7 +4050,11 @@ var AuthController = class {
4050
4050
  constructor(opts) {
4051
4051
  this.opts = opts;
4052
4052
  const debug = opts.debug ?? true;
4053
- this._client = new HTTPClient({ baseUrl: this.opts.baseUrl, headers: {}, retryOptions: { max: 3, baseDelay: 1e3, debug } });
4053
+ this._client = new HTTPClient({
4054
+ baseUrl: this.opts.baseUrl,
4055
+ headers: {},
4056
+ retryOptions: { max: 3, baseDelay: 1e3, debug }
4057
+ });
4054
4058
  }
4055
4059
  _client;
4056
4060
  _accessToken = null;
@@ -4060,10 +4064,18 @@ var AuthController = class {
4060
4064
  const expiry = parseInt(expiryStr || "0", 10);
4061
4065
  if (expiry > Date.now()) return token;
4062
4066
  }
4063
- const credentials = Buffer.from(`${this.opts.clientId}:${this.opts.clientSecret}`).toString("base64");
4067
+ const credentials = Buffer.from(
4068
+ `${this.opts.clientId}:${this.opts.clientSecret}`
4069
+ ).toString("base64");
4064
4070
  const response = await this._client.post("/oauth2/token", {
4065
- headers: { Authorization: `Basic ${credentials}`, "Content-Type": "application/x-www-form-urlencoded" },
4066
- body: new URLSearchParams({ grant_type: "client_credentials", scope: "payment-all" }).toString()
4071
+ headers: {
4072
+ Authorization: `Basic ${credentials}`,
4073
+ "Content-Type": "application/x-www-form-urlencoded"
4074
+ },
4075
+ body: new URLSearchParams({
4076
+ grant_type: "client_credentials",
4077
+ scope: "payment-all"
4078
+ }).toString()
4067
4079
  });
4068
4080
  if (!response.ok || !response.value.access_token) {
4069
4081
  throw new OperationFailedError("getAccessToken", "gopay", {
@@ -4077,11 +4089,17 @@ var AuthController = class {
4077
4089
  };
4078
4090
  getAuthHeaders = async () => {
4079
4091
  const token = await this.getAccessToken();
4080
- return { Authorization: `Bearer ${token}`, "Content-Type": "application/json", Accept: "application/json" };
4092
+ return {
4093
+ Authorization: `Bearer ${token}`,
4094
+ "Content-Type": "application/json",
4095
+ Accept: "application/json"
4096
+ };
4081
4097
  };
4082
4098
  };
4083
4099
  var paykitPayment$InboundSchema = (data) => {
4084
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
4100
+ const itemId = JSON.parse(
4101
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
4102
+ ).itemId;
4085
4103
  const metadata = omitInternalMetadata(
4086
4104
  data.additional_params?.reduce(
4087
4105
  (acc, param) => {
@@ -4097,13 +4115,17 @@ var paykitPayment$InboundSchema = (data) => {
4097
4115
  currency: data.currency,
4098
4116
  customer: data.payer ?? { email: data.payer?.email ?? "" },
4099
4117
  status: data.state,
4100
- product_id: itemId,
4118
+ item_id: itemId,
4101
4119
  metadata
4102
4120
  };
4103
4121
  };
4104
4122
  var paykitInvoice$InboundSchema = (data, isSubscription) => {
4105
- const quantity = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").qty;
4106
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
4123
+ const quantity = JSON.parse(
4124
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
4125
+ ).qty;
4126
+ const itemId = JSON.parse(
4127
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
4128
+ ).itemId;
4107
4129
  const status = (() => {
4108
4130
  if (data.state === "PAID") return "paid";
4109
4131
  return "open";
@@ -4133,7 +4155,9 @@ var paykitInvoice$InboundSchema = (data, isSubscription) => {
4133
4155
  };
4134
4156
  };
4135
4157
  var paykitSubscription$InboundSchema = (data) => {
4136
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
4158
+ const itemId = JSON.parse(
4159
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
4160
+ ).itemId;
4137
4161
  const billingIntervalMap = {
4138
4162
  DAY: "day",
4139
4163
  WEEK: "week",
@@ -4214,12 +4238,8 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4214
4238
  method: "createCheckout"
4215
4239
  });
4216
4240
  }
4217
- const {
4218
- amount,
4219
- currency = "CZK",
4220
- successUrl
4221
- } = validateRequiredKeys(
4222
- ["amount", "currency", "successUrl"],
4241
+ const { amount, currency = "CZK" } = validateRequiredKeys(
4242
+ ["amount", "currency"],
4223
4243
  data.provider_metadata,
4224
4244
  "The following fields must be present in the provider_metadata of createCheckout: {keys}"
4225
4245
  );
@@ -4246,12 +4266,22 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4246
4266
  currency,
4247
4267
  order_number: crypto.randomBytes(8).toString("hex").slice(0, 15),
4248
4268
  order_description: data.metadata?.description || "Checkout",
4249
- items: [{ name: data.item_id, amount: Number(amount), count: data.quantity, type: "ITEM" }],
4269
+ items: [
4270
+ {
4271
+ name: data.item_id,
4272
+ amount: Number(amount),
4273
+ count: data.quantity,
4274
+ type: "ITEM"
4275
+ }
4276
+ ],
4250
4277
  lang: data.provider_metadata?.lang ? data.provider_metadata.lang : "EN",
4251
- callback: { return_url: successUrl, notification_url: this.opts.webhookUrl },
4278
+ callback: { return_url: data.success_url, notification_url: this.opts.webhookUrl },
4252
4279
  additional_params: Object.entries({
4253
4280
  ...data.metadata,
4254
- [PAYKIT_METADATA_KEY]: JSON.stringify({ itemId: data.item_id, qty: data.quantity })
4281
+ [PAYKIT_METADATA_KEY]: JSON.stringify({
4282
+ itemId: data.item_id,
4283
+ qty: data.quantity
4284
+ })
4255
4285
  }).map(([name, value]) => ({
4256
4286
  name,
4257
4287
  value: String(value)
@@ -4265,9 +4295,12 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4265
4295
  return response.value;
4266
4296
  };
4267
4297
  retrieveCheckout = async (id) => {
4268
- const response = await this._client.get(`/payments/payment/${id}`, {
4269
- headers: await this.authController.getAuthHeaders()
4270
- });
4298
+ const response = await this._client.get(
4299
+ `/payments/payment/${id}`,
4300
+ {
4301
+ headers: await this.authController.getAuthHeaders()
4302
+ }
4303
+ );
4271
4304
  if (!response.ok) {
4272
4305
  throw new OperationFailedError("retrieveCheckout", this.providerName, {
4273
4306
  cause: new Error("Failed to retrieve checkout")
@@ -4318,8 +4351,8 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4318
4351
  method: "createCheckout"
4319
4352
  });
4320
4353
  }
4321
- const { successUrl, quantity } = validateRequiredKeys(
4322
- ["successUrl", "quantity"],
4354
+ const { quantity, success_url } = validateRequiredKeys(
4355
+ ["quantity", "success_url"],
4323
4356
  data.provider_metadata,
4324
4357
  "The following fields must be present in the provider_metadata of createCheckout: {keys}"
4325
4358
  );
@@ -4329,6 +4362,18 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4329
4362
  month: "MONTH",
4330
4363
  year: "MONTH"
4331
4364
  };
4365
+ const currentPeriodEnd = (() => {
4366
+ if (data.billing_interval === "day") {
4367
+ return new Date(Date.now() + 1 * 24 * 60 * 60 * 1e3).toISOString();
4368
+ }
4369
+ if (data.billing_interval === "week") {
4370
+ return new Date(Date.now() + 7 * 24 * 60 * 60 * 1e3).toISOString();
4371
+ }
4372
+ if (data.billing_interval === "month") {
4373
+ return new Date(Date.now() + 30 * 24 * 60 * 60 * 1e3).toISOString();
4374
+ }
4375
+ return new Date(Date.now() + 365 * 24 * 60 * 60 * 1e3).toISOString();
4376
+ })();
4332
4377
  const recurrenceCycle = intervalMap[data.billing_interval] ?? "ON_DEMAND";
4333
4378
  const goPaySubscriptionOptions = {
4334
4379
  payer: {
@@ -4341,13 +4386,15 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4341
4386
  currency: data.currency ?? "CZK",
4342
4387
  order_number: crypto.randomBytes(8).toString("hex").slice(0, 15),
4343
4388
  order_description: data.metadata?.description || "Subscription",
4344
- items: [{ name: data.item_id, amount: Number(data.amount), count: parseInt(quantity) }],
4389
+ items: [
4390
+ { name: data.item_id, amount: Number(data.amount), count: parseInt(quantity) }
4391
+ ],
4345
4392
  recurrence: {
4346
4393
  recurrence_cycle: recurrenceCycle,
4347
4394
  recurrence_period: parseInt(quantity),
4348
- recurrence_date_to: new Date(data.current_period_end).toISOString()
4395
+ recurrence_date_to: currentPeriodEnd
4349
4396
  },
4350
- callback: { return_url: successUrl, notification_url: this.opts.webhookUrl }
4397
+ callback: { return_url: success_url, notification_url: this.opts.webhookUrl }
4351
4398
  };
4352
4399
  const response = await this._client.post("/payments/payment", {
4353
4400
  body: JSON.stringify(goPaySubscriptionOptions),
@@ -4392,9 +4439,12 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4392
4439
  return null;
4393
4440
  };
4394
4441
  retrieveSubscription = async (id) => {
4395
- const response = await this._client.get(`/payments/payment/${id}`, {
4396
- headers: await this.authController.getAuthHeaders()
4397
- });
4442
+ const response = await this._client.get(
4443
+ `/payments/payment/${id}`,
4444
+ {
4445
+ headers: await this.authController.getAuthHeaders()
4446
+ }
4447
+ );
4398
4448
  if (!response.ok) {
4399
4449
  throw new OperationFailedError("retrieveSubscription", this.providerName, {
4400
4450
  cause: new Error("Failed to retrieve subscription")
@@ -4405,24 +4455,23 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4405
4455
  };
4406
4456
  createPayment = async (params) => {
4407
4457
  const { error, data } = createPaymentSchema.safeParse(params);
4408
- if (error) throw ValidationError.fromZodError(error, this.providerName, "createPayment");
4458
+ if (error)
4459
+ throw ValidationError.fromZodError(error, this.providerName, "createPayment");
4409
4460
  if (typeof data.customer == "string" || typeof data.customer === "object" && !data.customer.email) {
4410
4461
  throw new InvalidTypeError("customer", "object (customer) with email", "string", {
4411
4462
  provider: this.providerName,
4412
4463
  method: "createPayment"
4413
4464
  });
4414
4465
  }
4415
- if (!data.product_id) {
4416
- throw new ConfigurationError("product_id is required, this is the name of the product in GoPay", {
4417
- provider: this.providerName,
4418
- missingKeys: ["product_id"]
4419
- });
4466
+ if (!data.item_id) {
4467
+ throw new ConfigurationError(
4468
+ "item_id is required, this is the name of the item in GoPay",
4469
+ {
4470
+ provider: this.providerName,
4471
+ missingKeys: ["item_id"]
4472
+ }
4473
+ );
4420
4474
  }
4421
- const { quantity } = validateRequiredKeys(
4422
- ["quantity"],
4423
- data.provider_metadata,
4424
- "The following fields must be present in the provider_metadata of createPayment: {keys}"
4425
- );
4426
4475
  const goPayRequest = {
4427
4476
  payer: {
4428
4477
  allowed_payment_instruments: ["PAYMENT_CARD", "BANK_ACCOUNT"],
@@ -4433,13 +4482,13 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4433
4482
  amount: data.amount,
4434
4483
  currency: data.currency ?? "CZK",
4435
4484
  order_number: crypto.randomBytes(8).toString("hex").slice(0, 15),
4436
- order_description: data.metadata?.description || "Payment",
4437
- items: [{ name: data.product_id, amount: data.amount, count: parseInt(quantity) }],
4485
+ order_description: `Payment for ${data.item_id} by ${data.customer.email}`,
4486
+ items: [{ name: data.item_id, amount: data.amount, count: 1 }],
4438
4487
  preauthorization: false,
4439
4488
  // automatically captures the payment
4440
4489
  additional_params: Object.entries({
4441
4490
  ...data.metadata,
4442
- [PAYKIT_METADATA_KEY]: JSON.stringify({ itemId: data.product_id, qty: parseInt(quantity) })
4491
+ [PAYKIT_METADATA_KEY]: JSON.stringify({ itemId: data.item_id, qty: 1 })
4443
4492
  }).map(([name, value]) => ({
4444
4493
  name,
4445
4494
  value: String(value)
@@ -4458,9 +4507,12 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4458
4507
  return response.value;
4459
4508
  };
4460
4509
  retrievePayment = async (id) => {
4461
- const response = await this._client.get(`/payments/payment/${id}`, {
4462
- headers: await this.authController.getAuthHeaders()
4463
- });
4510
+ const response = await this._client.get(
4511
+ `/payments/payment/${id}`,
4512
+ {
4513
+ headers: await this.authController.getAuthHeaders()
4514
+ }
4515
+ );
4464
4516
  if (!response.ok) {
4465
4517
  throw new OperationFailedError("retrievePayment", this.providerName, {
4466
4518
  cause: new Error("Failed to retrieve payment")
@@ -4476,9 +4528,12 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4476
4528
  });
4477
4529
  };
4478
4530
  capturePayment = async (id, params) => {
4479
- const payment = await this._client.get(`/payments/payment/${id}`, {
4480
- headers: await this.authController.getAuthHeaders()
4481
- });
4531
+ const payment = await this._client.get(
4532
+ `/payments/payment/${id}`,
4533
+ {
4534
+ headers: await this.authController.getAuthHeaders()
4535
+ }
4536
+ );
4482
4537
  if (!payment.ok) {
4483
4538
  throw new OperationFailedError("capturePayment", this.providerName, {
4484
4539
  cause: new Error("Failed to retrieve payment")
@@ -4506,9 +4561,12 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4506
4561
  return paykitPayment$InboundSchema(payment.value);
4507
4562
  };
4508
4563
  cancelPayment = async (id) => {
4509
- const response = await this._client.post(`/payments/payment/${id}/void-authorization`, {
4510
- headers: await this.authController.getAuthHeaders()
4511
- });
4564
+ const response = await this._client.post(
4565
+ `/payments/payment/${id}/void-authorization`,
4566
+ {
4567
+ headers: await this.authController.getAuthHeaders()
4568
+ }
4569
+ );
4512
4570
  console.dir({ response }, { depth: 100 });
4513
4571
  const payment = await this.retrievePayment(id);
4514
4572
  if (!payment) {
@@ -4533,7 +4591,8 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4533
4591
  };
4534
4592
  async createRefund(params) {
4535
4593
  const { error, data } = createRefundSchema.safeParse(params);
4536
- if (error) throw ValidationError.fromZodError(error, this.providerName, "createRefund");
4594
+ if (error)
4595
+ throw ValidationError.fromZodError(error, this.providerName, "createRefund");
4537
4596
  const payment = await this.retrievePayment(data.payment_id);
4538
4597
  if (!payment) {
4539
4598
  throw new OperationFailedError("createRefund", this.providerName, {
@@ -4579,7 +4638,9 @@ var GoPayProvider = class extends AbstractPayKitProvider {
4579
4638
  })
4580
4639
  );
4581
4640
  if (error) {
4582
- throw new WebhookError("Failed to retrieve payment", { provider: this.providerName });
4641
+ throw new WebhookError("Failed to retrieve payment", {
4642
+ provider: this.providerName
4643
+ });
4583
4644
  }
4584
4645
  if (!payment.value) {
4585
4646
  throw new WebhookError("Payment not found", { provider: this.providerName });
@@ -4738,7 +4799,13 @@ var createGopay = (config) => {
4738
4799
  };
4739
4800
  var gopay = () => {
4740
4801
  const envVars = validateRequiredKeys(
4741
- ["GOPAY_CLIENT_ID", "GOPAY_CLIENT_SECRET", "GOPAY_GO_ID", "GOPAY_SANDBOX", "GOPAY_WEBHOOK_URL"],
4802
+ [
4803
+ "GOPAY_CLIENT_ID",
4804
+ "GOPAY_CLIENT_SECRET",
4805
+ "GOPAY_GO_ID",
4806
+ "GOPAY_SANDBOX",
4807
+ "GOPAY_WEBHOOK_URL"
4808
+ ],
4742
4809
  process.env,
4743
4810
  "Missing required environment variables: {keys}"
4744
4811
  );
@@ -4,7 +4,9 @@ var core = require('@paykit-sdk/core');
4
4
 
5
5
  // src/utils/mapper.ts
6
6
  var paykitPayment$InboundSchema = (data) => {
7
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
7
+ const itemId = JSON.parse(
8
+ data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}"
9
+ ).itemId;
8
10
  const metadata = core.omitInternalMetadata(
9
11
  data.additional_params?.reduce(
10
12
  (acc, param) => {
@@ -20,13 +22,17 @@ var paykitPayment$InboundSchema = (data) => {
20
22
  currency: data.currency,
21
23
  customer: data.payer ?? { email: data.payer?.email ?? "" },
22
24
  status: data.state,
23
- product_id: itemId,
25
+ item_id: itemId,
24
26
  metadata
25
27
  };
26
28
  };
27
29
  var paykitInvoice$InboundSchema = (data, isSubscription) => {
28
- const quantity = JSON.parse(data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}").qty;
29
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
30
+ const quantity = JSON.parse(
31
+ data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}"
32
+ ).qty;
33
+ const itemId = JSON.parse(
34
+ data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}"
35
+ ).itemId;
30
36
  const status = (() => {
31
37
  if (data.state === "PAID") return "paid";
32
38
  return "open";
@@ -56,7 +62,9 @@ var paykitInvoice$InboundSchema = (data, isSubscription) => {
56
62
  };
57
63
  };
58
64
  var paykitSubscription$InboundSchema = (data) => {
59
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
65
+ const itemId = JSON.parse(
66
+ data.additional_params?.find((param) => param.name === core.PAYKIT_METADATA_KEY)?.value ?? "{}"
67
+ ).itemId;
60
68
  const billingIntervalMap = {
61
69
  DAY: "day",
62
70
  WEEK: "week",
@@ -2,7 +2,9 @@ import { PAYKIT_METADATA_KEY, omitInternalMetadata } from '@paykit-sdk/core';
2
2
 
3
3
  // src/utils/mapper.ts
4
4
  var paykitPayment$InboundSchema = (data) => {
5
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
5
+ const itemId = JSON.parse(
6
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
7
+ ).itemId;
6
8
  const metadata = omitInternalMetadata(
7
9
  data.additional_params?.reduce(
8
10
  (acc, param) => {
@@ -18,13 +20,17 @@ var paykitPayment$InboundSchema = (data) => {
18
20
  currency: data.currency,
19
21
  customer: data.payer ?? { email: data.payer?.email ?? "" },
20
22
  status: data.state,
21
- product_id: itemId,
23
+ item_id: itemId,
22
24
  metadata
23
25
  };
24
26
  };
25
27
  var paykitInvoice$InboundSchema = (data, isSubscription) => {
26
- const quantity = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").qty;
27
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
28
+ const quantity = JSON.parse(
29
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
30
+ ).qty;
31
+ const itemId = JSON.parse(
32
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
33
+ ).itemId;
28
34
  const status = (() => {
29
35
  if (data.state === "PAID") return "paid";
30
36
  return "open";
@@ -54,7 +60,9 @@ var paykitInvoice$InboundSchema = (data, isSubscription) => {
54
60
  };
55
61
  };
56
62
  var paykitSubscription$InboundSchema = (data) => {
57
- const itemId = JSON.parse(data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}").itemId;
63
+ const itemId = JSON.parse(
64
+ data.additional_params?.find((param) => param.name === PAYKIT_METADATA_KEY)?.value ?? "{}"
65
+ ).itemId;
58
66
  const billingIntervalMap = {
59
67
  DAY: "day",
60
68
  WEEK: "week",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paykit-sdk/gopay",
3
- "version": "1.0.0",
3
+ "version": "1.0.4",
4
4
  "description": "GoPay provider for PayKit",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -15,10 +15,6 @@
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
- "scripts": {
19
- "build": "tsup",
20
- "prepublishOnly": "rm -rf dist && npm run build"
21
- },
22
18
  "keywords": [
23
19
  "paykit",
24
20
  "gopay"
@@ -26,13 +22,13 @@
26
22
  "author": "Emmanuel Odii",
27
23
  "license": "ISC",
28
24
  "peerDependencies": {
29
- "@paykit-sdk/core": ">=1.1.9"
25
+ "@paykit-sdk/core": ">=1.1.96"
30
26
  },
31
27
  "devDependencies": {
32
- "@paykit-sdk/core": "workspace:*",
33
28
  "tsup": "^8.5.0",
34
29
  "typescript": "^5.9.2",
35
- "zod": "^3.24.2"
30
+ "zod": "^3.24.2",
31
+ "@paykit-sdk/core": "1.1.96"
36
32
  },
37
33
  "publishConfig": {
38
34
  "access": "public"
@@ -43,5 +39,8 @@
43
39
  },
44
40
  "bugs": {
45
41
  "url": "https://github.com/usepaykit/paykit-sdk/issues"
42
+ },
43
+ "scripts": {
44
+ "build": "tsup"
46
45
  }
47
- }
46
+ }