import type { PaymentOption, BuyCartResponse } from '../../modules/Api/types'; export interface Props { /** Opção de pagamento selecionada (ex: item retornado por `api.cart.listPayments`). */ option: PaymentOption; /** Cor hex do botão CTA do iframe (com ou sem `#`). Se omitida, o iframe usa a cor padrão do render.uappi. */ ctaColor?: string; /** Locale do formulário (`pt-BR`, `en-US`, `es-ES`, ...). Padrão do iframe: `pt-BR`. */ lang?: string; /** Código Alpha-3 para pré-selecionar o DDI do telefone (`BRA`, `USA`, ...). Padrão do iframe: `BRA`. */ countryCode?: string; /** Host do serviço render.uappi. Sobrescreve `VITE_PAYMENT_IFRAME_HOST` quando informado. */ iframeHost?: string; } export interface Emits { (e: 'payment-ready'): void; (e: 'payment-success', data: PaymentSuccessData): void; (e: 'payment-redirect', url: string, data: PaymentRedirectData): void; (e: 'payment-error', errorCode: string | undefined, message: string): void; } /** * Dados do pedido criado, repassados pelo iframe em `UAPPI_PAYMENT_SUCCESS`. * Mesmo formato retornado por `api.cart.buy` (`POST /cart/buy`). */ export type PaymentSuccessData = BuyCartResponse; /** * Dados que acompanham um `UAPPI_PAYMENT_REDIRECT`. O contrato exato é definido * pelo serviço render.uappi e pode variar por gateway, por isso não é tipado em detalhe. */ export type PaymentRedirectData = Record;