expo-popcore-app/lib/plugins/stripe-plugin.ts

38 lines
1.0 KiB
TypeScript

import type { BetterAuthClientPlugin } from "better-auth";
import type { stripe } from "./stripe";
export const stripeClient = <
O extends {
subscription: boolean;
},
>(
options?: O,
) => {
return {
id: "stripe-client",
$InferServerPlugin: {} as ReturnType<
typeof stripe<
O["subscription"] extends true
? {
stripeClient: any;
stripeWebhookSecret: string;
subscription: {
enabled: true;
plans: [];
};
}
: {
stripeClient: any;
stripeWebhookSecret: string;
}
>
>,
pathMethods: {
"/subscription/restore": "POST",
"/subscription/billing-portal": "POST",
"/alipay/app-pay": "POST",
"/alipay/auth-info": "POST",
},
} satisfies BetterAuthClientPlugin;
};