UNPKG

@paykit-sdk/core

Version:

The Payment Toolkit for Typescript

91 lines (87 loc) 3.79 kB
import { Checkout } from '../resources/checkout.mjs'; import { Customer } from '../resources/customer.mjs'; import { Subscription } from '../resources/subscription.mjs'; import '../resources/webhook.mjs'; import '../resources/invoice.mjs'; import '../resources/metadata.mjs'; import { Payment } from '../resources/payment.mjs'; import { Refund } from '../resources/refund.mjs'; import '../resources/billing.mjs'; import 'zod'; import { P as PayKitProvider, W as WebhookSetupConfig, b as Webhook } from '../paykit-provider-BGUqO4Yp.mjs'; import { PayKitAdapterMetadata } from '../provider-schema.mjs'; import '../error.mjs'; import '../http-client.mjs'; import '../oauth2-token-manager.mjs'; import { EndpointPath, EndpointHandler } from './endpoints.mjs'; import '../tools/utils.mjs'; import '../tools/try-catch.mjs'; import '../types.mjs'; /** * Creates type-safe endpoint handlers for any PayKit instance * Usage in your API route: * * ```ts * import { paykit } from '@/lib/paykit'; * import { createEndpointHandlers } from '@paykit-sdk/core'; * * const endpoints = createEndpointHandlers(paykit); * ``` */ declare function createEndpointHandlers(paykit: PayKit<any>): { [K in EndpointPath]: EndpointHandler<K>; }; /** * @template TMetadata - The registry of provider-specific metadata types * @template TNative - The type of the underlying native SDK client */ declare class PayKit<P extends PayKitProvider<any, any, any>> { private provider; private adapterMetadata?; constructor(provider: P, adapterMetadata?: PayKitAdapterMetadata | undefined); private readonly sdkVersion; /** * Access the underlying native SDK (e.g., Stripe, Adyen) directly * with full type safety. */ get _native(): P['_native']; private _track; /** * Access the provider's name (e.g., 'stripe') */ get providerName(): string; get customers(): { create: (params: Parameters<P["createCustomer"]>[0]) => Promise<Customer>; update: (id: string, params: Parameters<P["updateCustomer"]>[1]) => Promise<Customer>; retrieve: (id: string) => Promise<Customer | null>; delete: (id: string) => Promise<null>; }; get checkouts(): { create: (params: Parameters<P["createCheckout"]>[0]) => Promise<Checkout>; retrieve: (id: string) => Promise<Checkout | null>; update: (id: string, params: Parameters<P["updateCheckout"]>[1]) => Promise<Checkout>; delete: (id: string) => Promise<null>; }; get payments(): { create: (params: Parameters<P["createPayment"]>[0]) => Promise<Payment>; retrieve: (id: string) => Promise<Payment | null>; update: (id: string, params: Parameters<P["updatePayment"]>[1]) => Promise<Payment>; capture: (id: string, params: Parameters<P["capturePayment"]>[1]) => Promise<Payment>; delete: (id: string) => Promise<null>; cancel: (id: string) => Promise<Payment>; }; get subscriptions(): { create: (params: Parameters<P["createSubscription"]>[0]) => Promise<Subscription>; update: (id: string, params: Parameters<P["updateSubscription"]>[1]) => Promise<Subscription>; cancel: (id: string) => Promise<Subscription>; retrieve: (id: string) => Promise<Subscription | null>; delete: (id: string) => Promise<null>; }; get refunds(): { create: (params: Parameters<P["createRefund"]>[0]) => Promise<Refund>; }; get webhooks(): { setup: (config: Omit<WebhookSetupConfig<P extends PayKitProvider<any, any, infer R extends Record<string, any>> ? R : any>, "provider">) => Webhook<P extends PayKitProvider<any, any, infer R extends Record<string, any>> ? R : any>; }; } export { PayKit as P, createEndpointHandlers };