@paykit-sdk/stripe
Version:
Stripe provider for PayKit
40 lines (36 loc) • 1.67 kB
text/typescript
import { PayKitProvider } from '@paykit-sdk/core/src/paykit-provider';
import { CreateCheckoutParams, Checkout, CreateCustomerParams, Customer, UpdateCustomerParams, Subscription, UpdateSubscriptionParams, WebhookEventPayload } from '@paykit-sdk/core/src/resources';
import { WithPaymentProviderConfig } from '@paykit-sdk/core/src/types';
import Stripe from 'stripe';
interface StripeConfig extends WithPaymentProviderConfig<Stripe.StripeConfig> {
apiVersion?: Stripe.LatestApiVersion;
}
declare class StripeProvider implements PayKitProvider {
private stripe;
constructor(config: StripeConfig);
/**
* Checkout management
*/
createCheckout: (params: CreateCheckoutParams) => Promise<Checkout>;
retrieveCheckout: (id: string) => Promise<Checkout>;
/**
* Customer management
*/
createCustomer: (params: CreateCustomerParams) => Promise<Customer>;
updateCustomer: (id: string, params: UpdateCustomerParams) => Promise<Customer>;
deleteCustomer: (id: string) => Promise<void>;
retrieveCustomer: (id: string) => Promise<Customer | null>;
/**
* Subscription management
*/
cancelSubscription: (id: string) => Promise<Subscription>;
updateSubscription: (id: string, params: UpdateSubscriptionParams) => Promise<Subscription>;
retrieveSubscription: (id: string) => Promise<Subscription>;
/**
* Webhook management
*/
handleWebhook: (payload: string, signature: string, secret: string) => Promise<WebhookEventPayload>;
}
declare const createStripe: (config: StripeConfig) => StripeProvider;
declare const stripe: () => StripeProvider;
export { createStripe, stripe };