Files
buzz/lib/payment.ts
T
gunshiz beb0cfaf3d
Build and Push Image / build-backend (push) Successful in 2m27s
Build and Push Image / build-frontend (push) Successful in 4m4s
Build and Push Image / push (push) Successful in 1m1s
feat: add switchable SlipOK and Slip2Go verification
2026-10-15 02:17:35 +07:00

25 lines
728 B
TypeScript

import { eq } from "drizzle-orm";
import { primaryDb } from "@/lib/db";
import { settings } from "@/lib/db/schema";
import { isSlipProvider, verifySlip } from "@/lib/slip-checker";
export async function getSlipProvider() {
const [config] = await primaryDb
.select({ provider: settings.slipCheckProvider })
.from(settings)
.where(eq(settings.id, true));
const provider = config?.provider ?? "slipok";
if (!isSlipProvider(provider))
throw new Error("Invalid slip provider setting.");
return provider;
}
export async function checkSlip(
buffer: Buffer<ArrayBuffer>,
type: string,
amount: number,
) {
const provider = await getSlipProvider();
return verifySlip(provider, buffer, type, amount);
}