From 9a03c78d4cd3942c1e04543f5ebd26f325124f41 Mon Sep 17 00:00:00 2001 From: nahu Date: Sun, 12 Jul 2026 19:05:24 +0000 Subject: [PATCH] feat(checkout-page): integrate ToastService for error handling in payment intent generation --- .../store/pages/checkout-page/checkout-page.component.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/app/features/store/pages/checkout-page/checkout-page.component.ts b/src/app/features/store/pages/checkout-page/checkout-page.component.ts index c5e696f..6c7e3a3 100644 --- a/src/app/features/store/pages/checkout-page/checkout-page.component.ts +++ b/src/app/features/store/pages/checkout-page/checkout-page.component.ts @@ -7,6 +7,7 @@ import { CartService } from '../../../../core/services/cart/cart.service'; import { TenantService } from '../../../../core/services/tenant.service'; import { CheckoutService, CreatePurchasePayload } from '../../../../core/services/checkout.service'; import { AuthService } from '../../../../core/services/auth/auth.service'; +import { ToastService } from '../../../../core/services/toast.service'; import { BankAccount } from '../../../../core/services/tenant.interface'; import { CartItem } from '../../../../core/services/cart/cart.interface'; import { CartComponent, CartItemMock } from '../../../../shared/components/cart/cart.component'; @@ -37,6 +38,7 @@ export class CheckoutPageComponent implements OnInit { private readonly tenantService = inject(TenantService); private readonly checkoutService = inject(CheckoutService); private readonly authService = inject(AuthService); + private readonly toastService = inject(ToastService); @ViewChild(StepperComponent) stepper!: StepperComponent; @@ -219,6 +221,13 @@ export class CheckoutPageComponent implements OnInit { } } catch (error) { console.error('Failed to generate payment intent:', error); + const backendMessage = (error as { error?: { message?: unknown } } | null)?.error?.message; + const message = typeof backendMessage === 'string' + ? backendMessage + : error instanceof Error + ? error.message + : 'No pudimos obtener la información de pago. Intentá nuevamente.'; + this.toastService.danger(message); } finally { this.isGeneratingIntent.set(false); }