25 lines
782 B
TypeScript
25 lines
782 B
TypeScript
/**
|
|
* 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, string>): 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();
|
|
}
|