@paykit-sdk/core
Version:
The Payment Toolkit for Typescript
93 lines (87 loc) • 3.26 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var index_exports = {};
__export(index_exports, {
PayKit: () => PayKit,
Webhook: () => Webhook,
toPaykitEvent: () => toPaykitEvent,
toPaykitSubscriptionStatus: () => toPaykitSubscriptionStatus
});
module.exports = __toCommonJS(index_exports);
// src/webhook-provider.ts
var Webhook = class {
constructor(config) {
this.config = config;
this.handleWebhook = async (payload, signature) => {
const { provider, webhookSecret, ...handlers } = this.config;
const event = await provider.handleWebhook({ payload, signature, secret: webhookSecret });
switch (event.type) {
case "customer.created":
return handlers.onCustomerCreated?.(event);
case "customer.updated":
return handlers.onCustomerUpdated?.(event);
case "customer.deleted":
return handlers.onCustomerDeleted?.(event);
case "subscription.created":
return handlers.onSubscriptionCreated?.(event);
case "subscription.updated":
return handlers.onSubscriptionUpdated?.(event);
case "subscription.canceled":
return handlers.onSubscriptionCanceled?.(event);
}
};
}
};
// src/resources/subscription.ts
var toPaykitSubscriptionStatus = (status) => {
if (["active", "trialing"].includes(status)) return "active";
if (["incomplete_expired", "incomplete", "past_due"].includes(status)) return "past_due";
if (["canceled"].includes(status)) return "canceled";
if (["expired"].includes(status)) return "expired";
throw new Error(`Unknown status: ${status}`);
};
// src/resources/webhook.ts
var toPaykitEvent = (event) => event;
// src/index.ts
var PayKit = class {
constructor(provider) {
this.provider = provider;
this.checkouts = {
create: (params) => this.provider.createCheckout(params),
retrieve: (id) => this.provider.retrieveCheckout(id)
};
this.customers = {
create: (params) => this.provider.createCustomer(params),
update: (id, params) => this.provider.updateCustomer(id, params),
retrieve: (id) => this.provider.retrieveCustomer(id)
};
this.subscriptions = {
update: (id, params) => this.provider.updateSubscription(id, params),
cancel: (id) => this.provider.cancelSubscription(id)
};
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
PayKit,
Webhook,
toPaykitEvent,
toPaykitSubscriptionStatus
});