@paykit-sdk/stripe 1.0.1-alpha.4 → 1.0.1-alpha.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/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, Subscription, UpdateSubscriptionParams, WebhookProviderPayload, WebhookEventPayload } from '@paykit-sdk/core';
1
+ import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, Subscription, UpdateSubscriptionParams, WebhookConfig, WebhookEventPayload } from '@paykit-sdk/core';
2
2
  import Stripe from 'stripe';
3
3
 
4
4
  interface StripeConfig extends PaykitProviderOptions<Stripe.StripeConfig> {
@@ -28,7 +28,7 @@ declare class StripeProvider implements PayKitProvider {
28
28
  /**
29
29
  * Webhook management
30
30
  */
31
- handleWebhook: (params: WebhookProviderPayload) => Promise<WebhookEventPayload>;
31
+ handleWebhook: (params: WebhookConfig) => Promise<WebhookEventPayload>;
32
32
  }
33
33
 
34
34
  declare const createStripe: (config: StripeConfig) => StripeProvider;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, Subscription, UpdateSubscriptionParams, WebhookProviderPayload, WebhookEventPayload } from '@paykit-sdk/core';
1
+ import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, Subscription, UpdateSubscriptionParams, WebhookConfig, WebhookEventPayload } from '@paykit-sdk/core';
2
2
  import Stripe from 'stripe';
3
3
 
4
4
  interface StripeConfig extends PaykitProviderOptions<Stripe.StripeConfig> {
@@ -28,7 +28,7 @@ declare class StripeProvider implements PayKitProvider {
28
28
  /**
29
29
  * Webhook management
30
30
  */
31
- handleWebhook: (params: WebhookProviderPayload) => Promise<WebhookEventPayload>;
31
+ handleWebhook: (params: WebhookConfig) => Promise<WebhookEventPayload>;
32
32
  }
33
33
 
34
34
  declare const createStripe: (config: StripeConfig) => StripeProvider;
package/dist/index.js CHANGED
@@ -132,31 +132,40 @@ var StripeProvider = class {
132
132
  const event = this.stripe.webhooks.constructEvent(body, signature, webhookSecret);
133
133
  if (event.type === "checkout.session.completed") {
134
134
  const checkout = await this.retrieveCheckout(event.data.object.id);
135
- return (0, import_core2.toPaykitEvent)({ type: "checkout.created", created: event.created, id: event.id, data: checkout });
135
+ const response = (0, import_core2.toPaykitEvent)({ type: "$checkoutCreated", created: event.created, id: event.id, data: checkout });
136
+ return response;
136
137
  } else if (event.type === "customer.created") {
137
138
  const customer = await this.createCustomer({ email: event.data.object.email, name: event.data.object.name ?? void 0 });
138
- return (0, import_core2.toPaykitEvent)({ type: "customer.created", created: event.created, id: event.id, data: customer });
139
+ return (0, import_core2.toPaykitEvent)({ type: "$customerCreated", created: event.created, id: event.id, data: customer });
139
140
  } else if (event.type === "customer.updated") {
140
- const customer = await this.updateCustomer(event.data.object.id, {
141
- email: event.data.object.email,
142
- name: event.data.object.name ?? void 0
143
- });
144
- return (0, import_core2.toPaykitEvent)({ type: "customer.updated", created: event.created, id: event.id, data: customer });
141
+ const { email, name } = event.data.object;
142
+ const customer = await this.updateCustomer(event.data.object.id, { email, name: name ?? void 0 });
143
+ return (0, import_core2.toPaykitEvent)({ type: "$customerUpdated", created: event.created, id: event.id, data: customer });
145
144
  } else if (event.type === "customer.deleted") {
146
145
  await this.deleteCustomer(event.data.object.id);
147
- return (0, import_core2.toPaykitEvent)({ type: "customer.deleted", created: event.created, id: event.id, data: null });
146
+ return (0, import_core2.toPaykitEvent)({ type: "$customerDeleted", created: event.created, id: event.id, data: null });
148
147
  } else if (event.type === "customer.subscription.created") {
149
148
  const subscription = await this.retrieveSubscription(event.data.object.id);
150
- return (0, import_core2.toPaykitEvent)({ type: "subscription.created", created: event.created, id: event.id, data: subscription });
149
+ return (0, import_core2.toPaykitEvent)({ type: "$subscriptionCreated", created: event.created, id: event.id, data: subscription });
151
150
  } else if (event.type === "customer.subscription.updated") {
152
151
  const subscription = await this.retrieveSubscription(event.data.object.id);
153
- return (0, import_core2.toPaykitEvent)({ type: "subscription.updated", created: event.created, id: event.id, data: subscription });
152
+ return (0, import_core2.toPaykitEvent)({ type: "$subscriptionUpdated", created: event.created, id: event.id, data: subscription });
154
153
  } else if (event.type === "customer.subscription.deleted") {
155
154
  const subscription = await this.retrieveSubscription(event.data.object.id);
156
- return (0, import_core2.toPaykitEvent)({ type: "subscription.canceled", created: event.created, id: event.id, data: subscription });
155
+ return (0, import_core2.toPaykitEvent)({ type: "$subscriptionCanceled", created: event.created, id: event.id, data: subscription });
157
156
  } else if (event.type === "customer.subscription.paused") {
158
157
  const subscription = await this.retrieveSubscription(event.data.object.id);
159
- return (0, import_core2.toPaykitEvent)({ type: "subscription.updated", created: event.created, id: event.id, data: subscription });
158
+ return (0, import_core2.toPaykitEvent)({ type: "$subscriptionUpdated", created: event.created, id: event.id, data: subscription });
159
+ } else if (event.type == "invoice.payment_succeeded") {
160
+ const checkoutId = event.data.object.metadata?.checkoutId;
161
+ if (!checkoutId) throw new Error("Checkout ID not found in invoice metadata");
162
+ const checkout = await this.retrieveCheckout(checkoutId);
163
+ return (0, import_core2.toPaykitEvent)({
164
+ type: "$paymentReceived",
165
+ created: event.created,
166
+ id: event.id,
167
+ data: { ...checkout, checkoutId }
168
+ });
160
169
  }
161
170
  throw new Error(`Unknown event type: ${event.type}`);
162
171
  };
package/dist/index.mjs CHANGED
@@ -98,31 +98,40 @@ var StripeProvider = class {
98
98
  const event = this.stripe.webhooks.constructEvent(body, signature, webhookSecret);
99
99
  if (event.type === "checkout.session.completed") {
100
100
  const checkout = await this.retrieveCheckout(event.data.object.id);
101
- return toPaykitEvent({ type: "checkout.created", created: event.created, id: event.id, data: checkout });
101
+ const response = toPaykitEvent({ type: "$checkoutCreated", created: event.created, id: event.id, data: checkout });
102
+ return response;
102
103
  } else if (event.type === "customer.created") {
103
104
  const customer = await this.createCustomer({ email: event.data.object.email, name: event.data.object.name ?? void 0 });
104
- return toPaykitEvent({ type: "customer.created", created: event.created, id: event.id, data: customer });
105
+ return toPaykitEvent({ type: "$customerCreated", created: event.created, id: event.id, data: customer });
105
106
  } else if (event.type === "customer.updated") {
106
- const customer = await this.updateCustomer(event.data.object.id, {
107
- email: event.data.object.email,
108
- name: event.data.object.name ?? void 0
109
- });
110
- return toPaykitEvent({ type: "customer.updated", created: event.created, id: event.id, data: customer });
107
+ const { email, name } = event.data.object;
108
+ const customer = await this.updateCustomer(event.data.object.id, { email, name: name ?? void 0 });
109
+ return toPaykitEvent({ type: "$customerUpdated", created: event.created, id: event.id, data: customer });
111
110
  } else if (event.type === "customer.deleted") {
112
111
  await this.deleteCustomer(event.data.object.id);
113
- return toPaykitEvent({ type: "customer.deleted", created: event.created, id: event.id, data: null });
112
+ return toPaykitEvent({ type: "$customerDeleted", created: event.created, id: event.id, data: null });
114
113
  } else if (event.type === "customer.subscription.created") {
115
114
  const subscription = await this.retrieveSubscription(event.data.object.id);
116
- return toPaykitEvent({ type: "subscription.created", created: event.created, id: event.id, data: subscription });
115
+ return toPaykitEvent({ type: "$subscriptionCreated", created: event.created, id: event.id, data: subscription });
117
116
  } else if (event.type === "customer.subscription.updated") {
118
117
  const subscription = await this.retrieveSubscription(event.data.object.id);
119
- return toPaykitEvent({ type: "subscription.updated", created: event.created, id: event.id, data: subscription });
118
+ return toPaykitEvent({ type: "$subscriptionUpdated", created: event.created, id: event.id, data: subscription });
120
119
  } else if (event.type === "customer.subscription.deleted") {
121
120
  const subscription = await this.retrieveSubscription(event.data.object.id);
122
- return toPaykitEvent({ type: "subscription.canceled", created: event.created, id: event.id, data: subscription });
121
+ return toPaykitEvent({ type: "$subscriptionCanceled", created: event.created, id: event.id, data: subscription });
123
122
  } else if (event.type === "customer.subscription.paused") {
124
123
  const subscription = await this.retrieveSubscription(event.data.object.id);
125
- return toPaykitEvent({ type: "subscription.updated", created: event.created, id: event.id, data: subscription });
124
+ return toPaykitEvent({ type: "$subscriptionUpdated", created: event.created, id: event.id, data: subscription });
125
+ } else if (event.type == "invoice.payment_succeeded") {
126
+ const checkoutId = event.data.object.metadata?.checkoutId;
127
+ if (!checkoutId) throw new Error("Checkout ID not found in invoice metadata");
128
+ const checkout = await this.retrieveCheckout(checkoutId);
129
+ return toPaykitEvent({
130
+ type: "$paymentReceived",
131
+ created: event.created,
132
+ id: event.id,
133
+ data: { ...checkout, checkoutId }
134
+ });
126
135
  }
127
136
  throw new Error(`Unknown event type: ${event.type}`);
128
137
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paykit-sdk/stripe",
3
- "version": "1.0.1-alpha.4",
3
+ "version": "1.0.1-alpha.6",
4
4
  "description": "Stripe provider for PayKit",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",