export type CheckoutTransactionEvent = {account_id: string, event: 'checkout_transaction', event_delivery: string, transaction: {id: string, session_id: string, merchant_reference: string, created_at: string, updated_at: string, merchant_reference_2?: string | undefined}}; export type CreateApiExamplesCheckoutTransactionArgs = {event: string, 'event-delivery': string, 'event-signature'?: string | undefined, 'content-type': string, body: CheckoutTransactionEvent}; export type CreateApiExamplesCheckoutTransactionOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * example_checkout_transaction_event * * POST /examples/checkout_transaction */ export const createApiExamplesCheckoutTransaction = async (args: CreateApiExamplesCheckoutTransactionArgs, options?: CreateApiExamplesCheckoutTransactionOptions) => { const {baseUrl = "https://api.dintero.com/v1", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (args.event != null) headers.set("event", String(args.event)) if (args['event-delivery'] != null) headers.set("event-delivery", String(args['event-delivery'])) if (args['event-signature'] != null) headers.set("event-signature", String(args['event-signature'])) if (args['content-type'] != null) headers.set("content-type", String(args['content-type'])) const url = `${baseUrl.replace(/\/+$/, '')}/examples/checkout_transaction${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 };