UNPKG

better-payment

Version:

Unified payment gateway library for Turkish payment providers

70 lines (67 loc) 2.16 kB
import { BetterPayHandler } from '../index.js'; import { Request, Response } from 'express'; import { IncomingMessage, ServerResponse } from 'http'; import '../BetterPayConfig-Dwl6JEAi.js'; /** * Express/Node.js adapter for BetterPay * * Bu adapter, BetterPay handler'ını Express ve standart Node.js HTTP server ile uyumlu hale getirir. * * @example Express.js (v4): * ```typescript * import express from 'express'; * import { betterPay } from './payment'; * import { toExpressHandler } from 'better-pay/node'; * * const app = express(); * * // IMPORTANT: Don't use express.json() before the Better Pay handler * // or the client API will get stuck on "pending" * app.all('/api/pay/*', toExpressHandler(betterPay.handler)); * * // Use express.json() AFTER the Better Pay handler * app.use(express.json()); * ``` * * @example Express.js (v5): * ```typescript * // Express v5 uses new wildcard syntax * app.all('/api/pay/{*any}', toExpressHandler(betterPay.handler)); * ``` * * @example Standard Node.js HTTP server: * ```typescript * import http from 'http'; * import { betterPay } from './payment'; * import { toNodeHttpHandler } from 'better-pay/node'; * * const handler = toNodeHttpHandler(betterPay.handler); * * const server = http.createServer((req, res) => { * if (req.url?.startsWith('/api/pay')) { * return handler(req, res); * } * // Other routes... * }); * ``` */ /** * Express middleware adapter * * @param handler - BetterPayHandler instance * @returns Express middleware function */ declare function toExpressHandler(handler: BetterPayHandler): (req: Request, res: Response) => Promise<void>; /** * Standard Node.js HTTP server adapter * * @param handler - BetterPayHandler instance * @returns Node.js HTTP request handler */ declare function toNodeHttpHandler(handler: BetterPayHandler): (req: IncomingMessage, res: ServerResponse) => Promise<void>; /** * Alias for backwards compatibility * @deprecated Use toExpressHandler or toNodeHttpHandler instead */ declare const toNodeHandler: typeof toExpressHandler; export { toExpressHandler, toNodeHandler, toNodeHttpHandler };