@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 +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +21 -12
- package/dist/index.mjs +21 -12
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, Subscription, UpdateSubscriptionParams,
|
|
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:
|
|
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,
|
|
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:
|
|
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
|
-
|
|
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: "
|
|
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
|
|
141
|
-
|
|
142
|
-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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
|
-
|
|
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: "
|
|
105
|
+
return toPaykitEvent({ type: "$customerCreated", created: event.created, id: event.id, data: customer });
|
|
105
106
|
} else if (event.type === "customer.updated") {
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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
|
};
|