// Return the authenticated member's recent Helcim card transactions. // No status gate — historical reads are safe for any auth'd status. // On Helcim errors, returns { transactions: [], error: 'unavailable' } (HTTP 200) // so the client can render fallback copy without a crash. import { requireAuth } from '../../utils/auth.js' import { getHelcimCustomer, listHelcimCustomerTransactions } from '../../utils/helcim.js' export default defineEventHandler(async (event) => { const member = await requireAuth(event) if (!member.helcimCustomerId) { return { transactions: [] } } try { const customerData = await getHelcimCustomer(member.helcimCustomerId) const customerCode = customerData?.customerCode if (!customerCode) { console.error('[payment-history] Helcim customer missing customerCode', { helcimCustomerId: member.helcimCustomerId }) return { transactions: [], error: 'unavailable' } } const transactions = await listHelcimCustomerTransactions(customerCode) return { transactions } } catch (error) { console.error('[payment-history] Helcim lookup failed', { helcimCustomerId: member.helcimCustomerId, error: error?.message || error }) return { transactions: [], error: 'unavailable' } } })