@paykit-sdk/stripe 1.1.3 → 1.1.5
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 +62 -66
- package/dist/index.mjs +64 -66
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, UpdateSubscriptionParams, Subscription,
|
|
1
|
+
import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, UpdateSubscriptionParams, Subscription, HandleWebhookParams, 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: HandleWebhookParams) => 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, UpdateSubscriptionParams, Subscription,
|
|
1
|
+
import { PaykitProviderOptions, PayKitProvider, CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, UpdateSubscriptionParams, Subscription, HandleWebhookParams, 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: HandleWebhookParams) => Promise<WebhookEventPayload>;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
declare const createStripe: (config: StripeConfig) => StripeProvider;
|
package/dist/index.js
CHANGED
|
@@ -34,6 +34,7 @@ __export(index_exports, {
|
|
|
34
34
|
stripe: () => stripe
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(index_exports);
|
|
37
|
+
var import_core3 = require("@paykit-sdk/core");
|
|
37
38
|
|
|
38
39
|
// src/stripe-provider.ts
|
|
39
40
|
var import_core2 = require("@paykit-sdk/core");
|
|
@@ -154,67 +155,65 @@ var StripeProvider = class {
|
|
|
154
155
|
const stripeHeaders = (0, import_core2.headersExtractor)(headers, ["x-stripe-signature"]);
|
|
155
156
|
const signature = stripeHeaders[0].value;
|
|
156
157
|
const event = this.stripe.webhooks.constructEvent(body, signature, webhookSecret);
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
data
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
id:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
created:
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
type: "$subscriptionCancelled",
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
throw new Error(`Unhandled event type: ${event.type}`);
|
|
158
|
+
const webhookHandlers = {
|
|
159
|
+
/**
|
|
160
|
+
* Invoice
|
|
161
|
+
*/
|
|
162
|
+
"checkout.session.completed": (event2) => {
|
|
163
|
+
const data = event2.data.object;
|
|
164
|
+
if (data.mode !== "payment") return null;
|
|
165
|
+
return (0, import_core2.toPaykitEvent)({
|
|
166
|
+
type: "$invoicePaid",
|
|
167
|
+
created: event2.created,
|
|
168
|
+
id: event2.id,
|
|
169
|
+
data: {
|
|
170
|
+
id: data.id,
|
|
171
|
+
amount: data.amount_total ?? 0,
|
|
172
|
+
currency: data.currency ?? "",
|
|
173
|
+
metadata: (0, import_core2.stringifyObjectValues)({ ...data.metadata ?? {}, $mode: data.mode }),
|
|
174
|
+
customer_id: data.customer?.toString() ?? ""
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
},
|
|
178
|
+
"invoice.paid": (event2) => {
|
|
179
|
+
const data = event2.data.object;
|
|
180
|
+
if (data.status !== "paid") return null;
|
|
181
|
+
return (0, import_core2.toPaykitEvent)({ type: "$invoicePaid", created: event2.created, id: event2.id, data: toPaykitInvoice(data) });
|
|
182
|
+
},
|
|
183
|
+
/**
|
|
184
|
+
* Customer
|
|
185
|
+
*/
|
|
186
|
+
"customer.created": (event2) => {
|
|
187
|
+
const data = event2.data.object;
|
|
188
|
+
return (0, import_core2.toPaykitEvent)({ type: "$customerCreated", created: event2.created, id: event2.id, data: toPaykitCustomer(data) });
|
|
189
|
+
},
|
|
190
|
+
"customer.updated": (event2) => {
|
|
191
|
+
const data = event2.data.object;
|
|
192
|
+
return (0, import_core2.toPaykitEvent)({ type: "$customerUpdated", created: event2.created, id: event2.id, data: toPaykitCustomer(data) });
|
|
193
|
+
},
|
|
194
|
+
"customer.deleted": (event2) => {
|
|
195
|
+
return (0, import_core2.toPaykitEvent)({ type: "$customerDeleted", created: event2.created, id: event2.id, data: null });
|
|
196
|
+
},
|
|
197
|
+
/**
|
|
198
|
+
* Subscription
|
|
199
|
+
*/
|
|
200
|
+
"customer.subscription.created": (event2) => {
|
|
201
|
+
const data = event2.data.object;
|
|
202
|
+
return (0, import_core2.toPaykitEvent)({ type: "$subscriptionCreated", created: event2.created, id: event2.id, data: toPaykitSubscription(data) });
|
|
203
|
+
},
|
|
204
|
+
"customer.subscription.updated": (event2) => {
|
|
205
|
+
const data = event2.data.object;
|
|
206
|
+
return (0, import_core2.toPaykitEvent)({ type: "$subscriptionUpdated", created: event2.created, id: event2.id, data: toPaykitSubscription(data) });
|
|
207
|
+
},
|
|
208
|
+
"customer.subscription.deleted": (event2) => {
|
|
209
|
+
return (0, import_core2.toPaykitEvent)({ type: "$subscriptionCancelled", created: event2.created, id: event2.id, data: null });
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
const handler = webhookHandlers[event.type];
|
|
213
|
+
if (!handler) throw new Error(`Unhandled event type: ${event.type}`);
|
|
214
|
+
const result = handler(event);
|
|
215
|
+
if (!result) throw new Error(`Unhandled event type: ${event.type}`);
|
|
216
|
+
return result;
|
|
218
217
|
};
|
|
219
218
|
const { debug, apiKey, ...rest } = config;
|
|
220
219
|
this.stripe = new import_stripe.default(apiKey, rest);
|
|
@@ -226,12 +225,9 @@ var createStripe = (config) => {
|
|
|
226
225
|
return new StripeProvider(config);
|
|
227
226
|
};
|
|
228
227
|
var stripe = () => {
|
|
229
|
-
const
|
|
228
|
+
const envVars = (0, import_core3.validateEnvVars)(["STRIPE_API_KEY"], process.env);
|
|
230
229
|
const isDev = process.env.NODE_ENV === "development";
|
|
231
|
-
|
|
232
|
-
throw new Error("STRIPE_API_KEY is not set");
|
|
233
|
-
}
|
|
234
|
-
return createStripe({ apiKey, debug: isDev, apiVersion: "2025-07-30.basil" });
|
|
230
|
+
return createStripe({ apiKey: envVars.STRIPE_API_KEY, debug: isDev, apiVersion: "2025-07-30.basil" });
|
|
235
231
|
};
|
|
236
232
|
// Annotate the CommonJS export names for ESM import in node:
|
|
237
233
|
0 && (module.exports = {
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
import { validateEnvVars } from "@paykit-sdk/core";
|
|
3
|
+
|
|
1
4
|
// src/stripe-provider.ts
|
|
2
5
|
import {
|
|
3
6
|
toPaykitEvent,
|
|
@@ -121,67 +124,65 @@ var StripeProvider = class {
|
|
|
121
124
|
const stripeHeaders = headersExtractor(headers, ["x-stripe-signature"]);
|
|
122
125
|
const signature = stripeHeaders[0].value;
|
|
123
126
|
const event = this.stripe.webhooks.constructEvent(body, signature, webhookSecret);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
data
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
id:
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
created:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
type: "$subscriptionCancelled",
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
184
|
-
throw new Error(`Unhandled event type: ${event.type}`);
|
|
127
|
+
const webhookHandlers = {
|
|
128
|
+
/**
|
|
129
|
+
* Invoice
|
|
130
|
+
*/
|
|
131
|
+
"checkout.session.completed": (event2) => {
|
|
132
|
+
const data = event2.data.object;
|
|
133
|
+
if (data.mode !== "payment") return null;
|
|
134
|
+
return toPaykitEvent({
|
|
135
|
+
type: "$invoicePaid",
|
|
136
|
+
created: event2.created,
|
|
137
|
+
id: event2.id,
|
|
138
|
+
data: {
|
|
139
|
+
id: data.id,
|
|
140
|
+
amount: data.amount_total ?? 0,
|
|
141
|
+
currency: data.currency ?? "",
|
|
142
|
+
metadata: stringifyObjectValues2({ ...data.metadata ?? {}, $mode: data.mode }),
|
|
143
|
+
customer_id: data.customer?.toString() ?? ""
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
},
|
|
147
|
+
"invoice.paid": (event2) => {
|
|
148
|
+
const data = event2.data.object;
|
|
149
|
+
if (data.status !== "paid") return null;
|
|
150
|
+
return toPaykitEvent({ type: "$invoicePaid", created: event2.created, id: event2.id, data: toPaykitInvoice(data) });
|
|
151
|
+
},
|
|
152
|
+
/**
|
|
153
|
+
* Customer
|
|
154
|
+
*/
|
|
155
|
+
"customer.created": (event2) => {
|
|
156
|
+
const data = event2.data.object;
|
|
157
|
+
return toPaykitEvent({ type: "$customerCreated", created: event2.created, id: event2.id, data: toPaykitCustomer(data) });
|
|
158
|
+
},
|
|
159
|
+
"customer.updated": (event2) => {
|
|
160
|
+
const data = event2.data.object;
|
|
161
|
+
return toPaykitEvent({ type: "$customerUpdated", created: event2.created, id: event2.id, data: toPaykitCustomer(data) });
|
|
162
|
+
},
|
|
163
|
+
"customer.deleted": (event2) => {
|
|
164
|
+
return toPaykitEvent({ type: "$customerDeleted", created: event2.created, id: event2.id, data: null });
|
|
165
|
+
},
|
|
166
|
+
/**
|
|
167
|
+
* Subscription
|
|
168
|
+
*/
|
|
169
|
+
"customer.subscription.created": (event2) => {
|
|
170
|
+
const data = event2.data.object;
|
|
171
|
+
return toPaykitEvent({ type: "$subscriptionCreated", created: event2.created, id: event2.id, data: toPaykitSubscription(data) });
|
|
172
|
+
},
|
|
173
|
+
"customer.subscription.updated": (event2) => {
|
|
174
|
+
const data = event2.data.object;
|
|
175
|
+
return toPaykitEvent({ type: "$subscriptionUpdated", created: event2.created, id: event2.id, data: toPaykitSubscription(data) });
|
|
176
|
+
},
|
|
177
|
+
"customer.subscription.deleted": (event2) => {
|
|
178
|
+
return toPaykitEvent({ type: "$subscriptionCancelled", created: event2.created, id: event2.id, data: null });
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
const handler = webhookHandlers[event.type];
|
|
182
|
+
if (!handler) throw new Error(`Unhandled event type: ${event.type}`);
|
|
183
|
+
const result = handler(event);
|
|
184
|
+
if (!result) throw new Error(`Unhandled event type: ${event.type}`);
|
|
185
|
+
return result;
|
|
185
186
|
};
|
|
186
187
|
const { debug, apiKey, ...rest } = config;
|
|
187
188
|
this.stripe = new Stripe(apiKey, rest);
|
|
@@ -193,12 +194,9 @@ var createStripe = (config) => {
|
|
|
193
194
|
return new StripeProvider(config);
|
|
194
195
|
};
|
|
195
196
|
var stripe = () => {
|
|
196
|
-
const
|
|
197
|
+
const envVars = validateEnvVars(["STRIPE_API_KEY"], process.env);
|
|
197
198
|
const isDev = process.env.NODE_ENV === "development";
|
|
198
|
-
|
|
199
|
-
throw new Error("STRIPE_API_KEY is not set");
|
|
200
|
-
}
|
|
201
|
-
return createStripe({ apiKey, debug: isDev, apiVersion: "2025-07-30.basil" });
|
|
199
|
+
return createStripe({ apiKey: envVars.STRIPE_API_KEY, debug: isDev, apiVersion: "2025-07-30.basil" });
|
|
202
200
|
};
|
|
203
201
|
export {
|
|
204
202
|
createStripe,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paykit-sdk/stripe",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.5",
|
|
4
4
|
"description": "Stripe provider for PayKit",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"stripe": "^18.2.1"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@paykit-sdk/core": "^1.1.
|
|
27
|
+
"@paykit-sdk/core": "^1.1.6"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"tsup": "^8.0.0",
|