@insforge/sdk 1.2.5 → 1.2.6-payments.0
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/README.md +44 -0
- package/dist/index.d.mts +42 -2
- package/dist/index.d.ts +42 -2
- package/dist/index.js +61 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +60 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -2120,7 +2120,7 @@ var Realtime = class {
|
|
|
2120
2120
|
*/
|
|
2121
2121
|
async subscribe(channel) {
|
|
2122
2122
|
if (this.subscribedChannels.has(channel)) {
|
|
2123
|
-
return { ok: true, channel };
|
|
2123
|
+
return { ok: true, channel, presence: { members: [] } };
|
|
2124
2124
|
}
|
|
2125
2125
|
if (!this.socket?.connected) {
|
|
2126
2126
|
try {
|
|
@@ -2251,6 +2251,63 @@ var Emails = class {
|
|
|
2251
2251
|
}
|
|
2252
2252
|
};
|
|
2253
2253
|
|
|
2254
|
+
// src/modules/payments.ts
|
|
2255
|
+
var Payments = class {
|
|
2256
|
+
constructor(http) {
|
|
2257
|
+
this.http = http;
|
|
2258
|
+
}
|
|
2259
|
+
/**
|
|
2260
|
+
* Create a Stripe Checkout Session through the InsForge backend.
|
|
2261
|
+
*
|
|
2262
|
+
* @example
|
|
2263
|
+
* ```typescript
|
|
2264
|
+
* const { data, error } = await client.payments.createCheckoutSession({
|
|
2265
|
+
* environment: 'test',
|
|
2266
|
+
* mode: 'payment',
|
|
2267
|
+
* lineItems: [{ stripePriceId: 'price_123', quantity: 1 }],
|
|
2268
|
+
* successUrl: `${window.location.origin}/success`,
|
|
2269
|
+
* cancelUrl: `${window.location.origin}/pricing`
|
|
2270
|
+
* });
|
|
2271
|
+
*
|
|
2272
|
+
* if (!error && data.checkoutSession.url) {
|
|
2273
|
+
* window.location.assign(data.checkoutSession.url);
|
|
2274
|
+
* }
|
|
2275
|
+
* ```
|
|
2276
|
+
*/
|
|
2277
|
+
async createCheckoutSession(request) {
|
|
2278
|
+
try {
|
|
2279
|
+
const data = await this.http.post(
|
|
2280
|
+
"/api/payments/checkout-sessions",
|
|
2281
|
+
request,
|
|
2282
|
+
{ idempotent: !!request.idempotencyKey }
|
|
2283
|
+
);
|
|
2284
|
+
return { data, error: null };
|
|
2285
|
+
} catch (error) {
|
|
2286
|
+
return wrapError(
|
|
2287
|
+
error,
|
|
2288
|
+
"Checkout session creation failed"
|
|
2289
|
+
);
|
|
2290
|
+
}
|
|
2291
|
+
}
|
|
2292
|
+
/**
|
|
2293
|
+
* Create a Stripe Billing Portal Session for a mapped billing subject.
|
|
2294
|
+
*/
|
|
2295
|
+
async createCustomerPortalSession(request) {
|
|
2296
|
+
try {
|
|
2297
|
+
const data = await this.http.post(
|
|
2298
|
+
"/api/payments/customer-portal-sessions",
|
|
2299
|
+
request
|
|
2300
|
+
);
|
|
2301
|
+
return { data, error: null };
|
|
2302
|
+
} catch (error) {
|
|
2303
|
+
return wrapError(
|
|
2304
|
+
error,
|
|
2305
|
+
"Customer portal session creation failed"
|
|
2306
|
+
);
|
|
2307
|
+
}
|
|
2308
|
+
}
|
|
2309
|
+
};
|
|
2310
|
+
|
|
2254
2311
|
// src/client.ts
|
|
2255
2312
|
var InsForgeClient = class {
|
|
2256
2313
|
constructor(config = {}) {
|
|
@@ -2274,6 +2331,7 @@ var InsForgeClient = class {
|
|
|
2274
2331
|
config.anonKey
|
|
2275
2332
|
);
|
|
2276
2333
|
this.emails = new Emails(this.http);
|
|
2334
|
+
this.payments = new Payments(this.http);
|
|
2277
2335
|
}
|
|
2278
2336
|
/**
|
|
2279
2337
|
* Get the underlying HTTP client for custom requests
|
|
@@ -2312,6 +2370,7 @@ export {
|
|
|
2312
2370
|
InsForgeClient,
|
|
2313
2371
|
InsForgeError,
|
|
2314
2372
|
Logger,
|
|
2373
|
+
Payments,
|
|
2315
2374
|
Realtime,
|
|
2316
2375
|
Storage,
|
|
2317
2376
|
StorageBucket,
|