import { ApiProperty } from "@nestjs/swagger";
import { PaymentMethod } from "@prisma/client";

/**
 * Medio de pago disponible para una checkout session, para que el hosted checkout
 * ofrezca la selección al comprador. `platformId` es el código propio del provider
 * que luego se envía en el confirm. Lista vacía ⇒ el provider no expone selección
 * inline (se usa el redirect/hosted checkout del provider).
 */
export class PublicPaymentMethodDto {
  @ApiProperty({ example: "18", description: "Código del medio en el provider (ej. platformId de Dpago)." })
  platformId!: string;

  @ApiProperty({ example: "QR Ueno", description: "Nombre para mostrar." })
  name!: string;

  @ApiProperty({ enum: PaymentMethod, example: PaymentMethod.other, description: "Método interno mapeado." })
  method!: PaymentMethod;
}
