export type CreateApiTestDataGeneratorTransactionsArgs = {body: {cardToken: string, numberOfTransactions?: number | undefined, status?: ('PENDING' | 'CONFIRMED' | 'DECLINED' | 'REVERSED') | undefined, type?: ('PURCHASE' | 'CASH_WITHDRAWAL' | 'PURCHASE_CHARGEBACK' | 'PURCHASE_REFUND' | 'STATUS_INQUIRY') | undefined, transactionCategory?: ('ADVERTISING_AND_MARKETING' | 'COMPUTING_AND_SOFTWARE' | 'EDUCATION_AND_TRAINING' | 'ELECTRONICS_AND_IT_EQUIPMENT' | 'ENTERTAINMENT_AND_WELLNESS' | 'FOOD_AND_DRINKS' | 'GIFTS_AND_VOUCHERS' | 'MATERIALS_AND_PACKAGING' | 'OFFICE_SUPPLIES_AND_EQUIPMENT' | 'SERVICES' | 'TRAVEL_AND_ACCOMMODATION' | 'HEALTHCARE' | 'OTHER') | undefined, amount?: ({value?: number | undefined, currency?: string | undefined}) | undefined, fxAmount?: ({value?: number | undefined, currency?: string | undefined}) | undefined, amountRange?: ({from?: number | undefined, to?: number | undefined, currency?: string | undefined}) | undefined, merchant?: ({name?: string | undefined, externalId?: string | undefined}) | undefined}}; export type CreateApiTestDataGeneratorTransactionsOptions = {baseUrl?: string | undefined, bearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Generate Test Transactions * * POST /test-data-generator/transactions */ export const createApiTestDataGeneratorTransactions = async (args: CreateApiTestDataGeneratorTransactionsArgs, options?: CreateApiTestDataGeneratorTransactionsOptions) => { const {baseUrl = "https://partner-api.getpliant.com/api", fetch: fetchFn = fetch, bearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (bearerAuth !== undefined) headers.set('authorization', `Bearer ${bearerAuth}`) const url = `${baseUrl.replace(/\/+$/, '')}/test-data-generator/transactions${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };