better-payment
Version:
Unified payment gateway library for Turkish payment providers
70 lines (67 loc) • 2.16 kB
TypeScript
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 };