/** * Transak API utilities — shared across rFlows and rCart. * * Builds Transak widget URLs using direct query parameters. * The gateway session API has auth issues, so we use the direct * URL approach which Transak still supports. */ const TRANSAK_WIDGET_BASE = 'https://global.transak.com'; const TRANSAK_WIDGET_BASE_STG = 'https://global-stg.transak.com'; export function createTransakWidgetUrl(params: Record): string { const env = process.env.TRANSAK_ENV || 'PRODUCTION'; const base = env === 'PRODUCTION' ? TRANSAK_WIDGET_BASE : TRANSAK_WIDGET_BASE_STG; const url = new URL(base); for (const [key, value] of Object.entries(params)) { if (value != null && value !== '') { url.searchParams.set(key, value); } } return url.toString(); }